Скачал карту Dark'a с автороутингом

Основной форум пользователей GPS (Global Positioning System)
Правила форума
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
dark1st
Сообщения: 2001
Зарегистрирован: 17 дек 2001, 16:08

нет :) (+)

Сообщение dark1st » 30 окт 2004, 00:17

но непонятно сколько его ждать

Alecs

Dusha
Сообщения: 1282
Зарегистрирован: 17 фев 2003, 11:56

Re: нет :) (+)

Сообщение Dusha » 30 окт 2004, 01:35

Была бы известна структура, можно было начать набивать базу. Хотя бы по Санкт-Петербургу.

Андрей

kg_vista
Сообщения: 2585
Зарегистрирован: 31 июл 2002, 17:07

Структура данных для роутинга

Сообщение kg_vista » 30 окт 2004, 09:30

Некоторая часть информации представляет собой мои домыслы, поскольку Стен на мой запрос прислал только пример MP файла, не снабдив его подробными комментариями (комментарии были больше типа "тут играть, тут не играть, а тут рыбу заворачивали"). Я так понял, что часть конструкций в примере имело устаревший синтаксис и Стен имел планы что-то переделать. Но новых примеров он не присылал, так что описываю как есть... Фактически, надежна информация только о "RouteParam=", по поводу которой он ответил на мои вопросы достаточно подробно.

1. Часть точек полилиний на 0-м уровне детализации ссылается на узлы графа. В Польском это выглядит так

Data0=(47.53448,21.63349),(47.53482,21.63314),...
Nod1=0,330286
Nod2=3,332369
...

Первое число у NodX - это порядковый номер точки в "Data0=", второе - уникальный номер узла (перекрестка).

ПРИМЕЧАНИЕ: предполагается, что строка "Data0=" - единственная на объект, что сильно "выкручивает руки", если в существующей карте практиковалось держать более одного элемента в объекте.

2. У каждой полилинии появляются дополнительные атрибуты "RoadID=" и "RouteParams=". Первый - уникальный номер, идентифицирующий дорогу в таблице запретов поворотов (см. ниже), второй - описывает класс дороги (0-7), ее скоростной тип (0-4; информации о том, как правильно интерпретировать эти цифры, у меня нет) и 10 бинарных признаков: односторонняя, платная, запрет для движения спасательных служб (?), служб доставки, автомобилей, автобусов, такси, пешеходов, велосипедов, грузовиков. Пример (все типы транспортных средств разрешены):
RoadID=12345
RouteParams=2,0,0,0,0,0,0,0,0,0,0,0

ПРИМЕЧАНИЕ: нельзя сделать один из кусков улицы односторонней без разрезания ее на отдельные полилинии. Что такое запрет для спасательных служб (а так же доставки, автобусов и такси), мне не понятно, видимо, бывают в некоторых странах такие экзотические ПДД :-). ибо я что-то с объяснений Стена недопонял...

3. Таблица запретов поворотов/разворотов имеет вид списка секций "[RESTRICTION]":

[RESTRICT]
Nod=330752
TraffPoints=330751,330752,330232
TraffRoads=77385,78084
Time=
[END-RESTRICT]

Каждая такая запись устанавливает запрет на прокладку маршрута через последовательность из трех вершин графа, в данном примере - из узла 330751 транзитом через 330752 (по дороге 77385) в 330232 (по дороге 78084). Дороги задаются видимо на случай, если пара вершин напрямую соединяется более чем одной дорогой.

Первая строка "Nod=" всегда дублирует номер второй вершины в тройке, так что смысл не ясен.

Формат "Time=" (видимо, период времени действия ограничения) не известен, строка в примере всюду была пустая. Может быть даже, что Dark1st со Стеном это просто не докрякал :-). Но очевидно что пустая строка означает действие запрета все время.

4. Атрибутов у вершин графа (помимо ссылающихся на них запретов поворотов) видимо нет.

Стен писал так же, что собирался генерировать вершины графа автоматически - в таком случае в карте достаточно держать дополнительно только атрибуты "RouteParams" а случай односторонней дороги.

На mapcenter есть примеры автороутинга, но они все описывают граф дорг с помощью внешних DBF файлов.


Dusha
Сообщения: 1282
Зарегистрирован: 17 фев 2003, 11:56

Срасибо! (-)

Сообщение Dusha » 30 окт 2004, 12:42

.

Андрей

Dusha
Сообщения: 1282
Зарегистрирован: 17 фев 2003, 11:56

Спасибо! (-)

Сообщение Dusha » 30 окт 2004, 12:42

.

Андрей

Anonym
Сообщения: 15897
Зарегистрирован: 06 фев 2017, 18:49

Re: Структура данных для роутинга

Сообщение Anonym » 30 окт 2004, 14:47

> Что такое запрет для спасательных служб (а так же доставки, автобусов и такси), мне не понятно, видимо, бывают в некоторых странах такие экзотические ПДД :-).

Например узкие улицы, по которым могут передвигаться только пешеходы. Или низкие мосты, под которыми не проедет грузовик.

> Первая строка "Nod=" всегда дублирует номер второй вершины в тройке, так что смысл не ясен.

Не всегда. В TraffPoints может быть больше трех значений.

> Формат "Time=" (видимо, период времени действия ограничения) не известен, строка в примере всюду была пустая. Может быть даже, что Dark1st со Стеном это просто не докрякал :-)

Там больше десятка форматов хранения ограничений (время, дата, дни недели, месяцы и т.д.). Видимо Стен не определился, как их все описывать 8)



dark1st
Сообщения: 2001
Зарегистрирован: 17 дек 2001, 16:08

Re: Структура данных для роутинга

Сообщение dark1st » 31 окт 2004, 11:28

1. есть запрет для emergency - служба спасения :)
----------------------------------------------------
не поедут же пожарные по узенькой улочке для пешеходов :)
2. Формат "Time=" (видимо, период времени действия ограничения) не известен,
----------------------------------------------------
формат известен, просто в европе таких точек около 100 на весь ситиселект,
поэтому в первой версии карты нет смысла заморачиваться ограничением.

там 10 типов ограничений. один нормальный типа с такого-то часа по такой-то,
а есть и экзотические, пример: с пятой недели года по восьмую
:)

3. Стен писал так же, что собирался генерировать вершины графа автоматически - в таком случае в карте достаточно держать дополнительно только
атрибуты "RouteParams" а случай односторонней дороги.
----------------------------------------------------
такая прога есть. с ее помощью получена карты с garminmap.narod

осталось только запреты расставить :)


Alecs

kg_vista
Сообщения: 2585
Зарегистрирован: 31 июл 2002, 17:07

Re: Структура данных для роутинга

Сообщение kg_vista » 31 окт 2004, 13:42

> не поедут же пожарные по узенькой улочке для пешеходов :)

А чем пожарные в этом плане отличаются от прочих машин? Ведь на такой улице и так будет стоять запрет движения автомобилей. Меня удивляет ситуация, когда разрешено всем (включая те же автомобили), но запрещено спасателям - а такая комбинация флагов еще как возможна.




kg_vista
Сообщения: 2585
Зарегистрирован: 31 июл 2002, 17:07

Re: Структура данных для роутинга

Сообщение kg_vista » 31 окт 2004, 13:45

Однако.. Так и хочется сказать - "Гюльчатай, открой личико!" (c)

> Не всегда. В TraffPoints может быть больше трех значений.

А представляете, какой у меня получился бы редактор запретов поворотов, если я даже этого не знаю :-). Так что выводы делайте сами...


Anonym
Сообщения: 15897
Зарегистрирован: 06 фев 2017, 18:49

Re: Структура данных для роутинга

Сообщение Anonym » 31 окт 2004, 20:42

> Однако.. Так и хочется сказать - "Гюльчатай, открой личико!" (c)

"Я бы рад, да мой портрет
Для меня и то секрет.
Сам порою сомневаюсь,
То ли есть я, то ли нет..." (с)

> А представляете, какой у меня получился бы редактор запретов поворотов, если я даже этого не знаю :-). Так что выводы делайте сами...

Ну не обязательно делать все сразу. Трех точек на первое время будет достаточно, да и ограничения по времени не очень нужны 8)



Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 296 гостей