Дуракоустойчивость низкая у всех схем адресации. Тут только автоматическая обработка спасёт…
меня ранее испугало в схеме с релейшенами не это.
сейчас по судя по Id всего на карте около 70 тыр релейшенов
если добавть например РБ+области+районы+наспункты+улицы минска получится ещё тысяч 40
не говоря уже о том что по этой схеме надо создать отдельный релейшен для каждого здания
Кто-нибудь задумывался “как это будет по-русски”?
Я вижу примерно так:
a1 Регион: Москва (7700000000000)
a2 Район: Москва (7700000000000)
a3 Город: Зеленоград город (7700000200000)
a4 Населенный пункт: Алабушево поселок (7700000200700)
a5 Район: Не используется (нет доступного источника информации по России)
a6 Улица: Колхозная (77000002007151200)
sts Статусная часть улицы: улица
hno Номер дома, числовая часть: 5
hns Номер дома, буквенная часть: к2
А что в этом страшного?
Один из недостаткой данной схемы - это то, что потребуется многопроходность (скорее всего хватит двух проходов). Но это же вылезет для почти всех других схем адресации. BTW, тут можно “сжульничать” примерно так, как это делает TeX: писать в конце прохода уточненную информацию в файл, а при очередном прогоне предзагружать ее оттуда - тогда программе не понадобится разного поведения при разных проходах, можно будет использовать несколько устаревшую информацию от предыдущего конвертирования… плюс (что может оказаться иногда очень полезно - можно разделять эту информацию между фрагментами карты, если она делается из нескольких кусков).
Кстати можно и модифицировать эту идею - вместо (а скорее в дополнение к) релейшина использовать физический объект (area, way, node) более высокого уровня.
Так не понадобится плодить миллионов отношений (да еще и взаимозависимых) и появится привязка к физическому объекту (и к координатам).
Добрался таки твой робот до Самары
Дуракоустройчивость тем выше, чем проще метод или инструмент. Не зря же АК (Автомат Калашникова) по миру разбежался…
Автоматизировать то можно, но только как автоматизируешь определение номеров домов на карте? Перед этим придется использовать какую то промежуточную схему нумерации, которую потом после робота куда-нибудь девать…
После последней оптимизации он по всей России с учетом полной перепроверки всех улиц за полтора часа пробегает
Кста, Самару еще рисовать и рисовать - смотри на osm.tesoro-shop.ru список ненайденых (несопоставленых) улиц.
Вот эта очень нравится Associated_street: http://wiki.openstreetmap.org/wiki/Key:addr:street#Case:Relations.28easy_for_computers.2C_difficult_for_humans.29
Можно для уровня домов ее и оставить как рабочую.
Только вместо ссылки на way я бы довал ссылку на collection, т.к. улица состоит из многих кусочков.
Вот только какое отношение это имеет к Гармину?
Где адресация - это атрибуты улицы (дорожного графа)?
Сверять с КЛАДР наверное самый быстрый и правильный путь. KekcuHa публиковал diff на днях.
ИМХО вложенные рилейшны создают собственную реляционную БД поверх уже
существующей, при том что у нее самой и при более простой структуре много проблем.
Так скоро без валидатора и многопроходного анализа вообще будет ничего не
поправить…
Рисовать то конечно надо, но с уличной сетью у меня все в должно быть норме. Я как раз спросить хотел - почемуто робот не схватил большинство улиц… По какому критерию они сличаются?
По соответствию названия и статусной части записям в КЛАДРе
По соответствию названия и статусной части записям в КЛАДРе
Вот, к примеру, было:
name = Чекистов
created_by = Potlatch 0.5d
highway = secondary
стало:
name = Чекистов
cladr:name = Чекистов
created_by = Potlatch 0.5d
cladr:code = 63000001000055400
highway = secondary
cladr:suffix = Улица
А, к примеру,
name = Цеховая
created_by = JOSM
highway = residential
не прошла…
?
господа может тему адресации в отдельную ветку? а то нафлудили тут…
Вроде бы добил поиск по улицам до вменяемого состояния.
Заодно исправил баг, из-за которого мапсорс выдавал ошибку при загрузке карт в прибор.
Теперь для определения принадлежности улицы городу нужен замкнутый полигон с тегами place=city/town и name (или place_name). Дороги внутри полигонов считаются улицами этого города, дороги вне - не индексируются.
Пока так
liosha, о поддержке релейшенов не думал? объединять границу даже обл.центров в один полигон… не говоря уж о более крупных городах. бррр. мы потиху переводим на релейшены такого вида - http://www.openstreetmap.org/browse/relation/59195
поддержку релейшенов добавить несложно.
но с ними проблема в том, что их целостность не поддерживается.
соответственно, запросто может получиться, что часть веев будут отсутствовать.
так что я в этом случае за полигоны
Обновил скрипты сборки карт. Основные изменения:
- включил ежедневную сборку карт стран (днём). дамп России с http://osm.tesoro-shop.ru/
- карты стран теперь выкладываются отдельными архивами в MP и в IMG
- изменены территории для сборок городов (сообщите, если где-то отрезал лишнее)
- добавил в список все города-миллионники
Увидел у вас Армению в транслите. А можно Беларусь выкладывать и в транслите?
liosha, отличные новости! Спасибо!