Теперь сконвертированные карты выкладываются и адресным поиском.
Глюки есть, но пока сложно сказать, кто виноват: конвертер или маппер. http://gpsmapsearch.com/osm/mp/
Почему бы Вам не написать Веб интерфейс к скрипту? Я чтобы его запустить загрузил на сервер, так как искать, устанавливать, допольнительные Perl модули под Windows во первых достаточно долго, во вторых совершенно недоступно для “чайника”
Ведь там нет ничего сложного: написать форму и выплянуть нужный “header”
Я бы сам написал, только совершенно подзабыл Perl, больше в последние годы PHP пользую.
На карте Карелии водоемы, прорисованные в osm как coastline, в mp - дублированы: полигон 0x3c aka “large lake”, на который наложены куски полилинии 0x15 aka “shoreline of water body”. Это так задумано, это фича или это баг?
Мелкие озера, которые в osm помечены как water, рисуются как 0x46 aka “large river”. Вопрос тот же
На googl’e в репозитории актуальная версия? Неокортекс все чешется порезать полигоны границами карты, да руки не доходят
С уважением!
Ээээ? Той, что на gpsmapsearch. Онежское, например.
Автора! Автора!
По п.3 - разобрался, что актуальный. Зато появился п. 4:
В описании на первой странице обсуждения не хватает упоминания о модулях Math/Polygon и Text/Unicode,
что-то меня гложут смутные сомнения насчёт необходимости такой таблицы…
кто её вести будет? для какой территории?
да и вообще нормально адресацию через is_in в таком виде вряд ли получится построить, слишком уж нестрогая это штука. пока что это сделано чисто как заглушка.
хотя сейчас разбор там конечно неправильный.
имхо, надо разделить is_in на части по запятым, а тым уже в зависимости от количества полученных частей выбирать:
1 - город
2 - город, страна
3 - город, регион, страна
4 - ???
да, так задумано. дело в том, что имя на полигон не переносится.
когда это прописывалось, реки были прорисованы как natural=water, riverbank ещё не было
сменю на 0x3f
вроде бы они там уже режутся (хоть и не совсем правильно)
для нормальной резки надо GPC цеплять, но что-то всё никак с ней не разберусь
Давайте договариваться как делать адресацию, что бы использовать ее повсеместно.
Существуют следующие общепринятые варианты:
Через is_in (очень коряво, негибко)
Через релейшены (практически невозможно редактировать вручную, т.к. будут ссылки на другие релейшены, чего редакторы не поддерживают. Cladr2OSM скоро научится это делать).
Через addr:street, addr:city, addr:country и т.п. Просто прописывать, просто разбирать, легко править. Но будет очень много тегов в домах, улицах и т.п.
Может, таблица (особенно в таком виде) и не лучшее решение, но у is_in (как он описан http://wiki.openstreetmap.org/wiki/Key:is_in)) куча недостатков, хотя бы частично решаемых таблицей.
Хочется чтобы для “Sochi, Krasnodar Krai, Russia” не создавалось страны Russia (В дополнение к “Россия”, которую кто-нибудь задаст через “is_in:ru”). Да и “Сочи”, было бы как-то привычнее.
Города вроде “Томская область Tomsk”, “Україна”, “48210”, “Blagoevgrad province”, “California”,“Europe” кажутся лишними, как впрочем и государство “EU”.
Вести таблицу имеет смысл не глобальную, а только для территории, обрабатываемой при данном запуске (и скорее всего стоит отрубить использование этой таблицы по умолчанию).
Конечно, таблица в данном виде - это крайне примитивно (например имело бы смысл вести разбор покомпонентно…), но даже так в дампе России я насчитал 354 уникальных строчек содержащих k=“is_in”, что вполне можно за вечер-другой обработать, кроме того несложно написать программку (а точнее обрезать osm2mp.pl), чтобы она генерила список невнесенных в табличку строк по дампу (чтобы отслеживать новые).
Ну и, конечно, следовало бы разбирать is_in, is_in:city, addr:* сразу же и хранить с объектом отдельные компоненты.
P.S. Ну а насчет того чтобы резать не по запятым, а по \s,\s**, надеюсь, возражений нет? А то появляются " Россия" " RU" и т.д.
Кроме того и слишком много вольностей: можно писать в произвольном порядке, писать можно/нужно(?) международные названия(латиницей), можно писать вперемежку адресные данные, релейшены и категории.
Еще один недостаток - что потребует или держать до последнего данные (в том числе и POI) в памяти или потребует двух проходов.