Хочется послушать комментарии авторов валидаторов. В каком формате вы используете данные OSM pbf, xml, o5m, mp, базы данных и на чём был основан выбор ?
Перешел на скачку PBF, ибо меньше трафика занимает, а обработка XML пока что.
Не уверен, что делать частичную многопроходность чтения на других форматах, чем XML, мне будет удобнее. Правда долго с диска шуршит.
У меня небольшой валидатор Украинского Бездорожья (аналог бывшего lonely-слоя Котяры)
Использую pbf с gis-lab’a - качается быстрее, osmosis его читает/фильтрует значительно быстрее чем osm/bz2. Далее всё загружается osmosis’ом в Postgresql+PostGIS БД где все ошибки/недоделки быстро находятся несложными sql-запросами. Необходимые данные с ошибками можно с БД выгрузить обратно в osm-файл или в любой другой удобный формат. Наличие БД очень упрощает жизнь для некоторых задач.
У меня не совсем валидатор, но работаю с контурами зданий и их адресами.
Не использую osmosis (подружить с mysql так и не удалось, а postgresql принципиально не хочу. Как говорится, нафига козе баян, она и так весёлая).
В итоге, парсер писал сам. Это и определило мой выбор в xml. Весит больше, но зато формат понятен даже без документации. Разбираться с pbf нет ни сил ни времени.
По скорости ничего не могу сказать. Наверное, для скриптовых языков не принципиально, будет одинаково небыстро. Но я никуда не спешу, да и страна у нас, к счастью, небольшая
С xml Эстонии укладываюсь в:
Скачать архив (54 мб) - 46 секунд
Распаковать используя winrar (xml выходит 796 мб) - 41 секунд
Конвертировать в csv формат php скриптом - 142 секунд
Импортировать в mysql (LOAD DATA INFILE) - 48 секунд
(Если бы я конвертер написал на Си, то было бы в разы быстрее. Но, ради экономии двух минут, потратить на задачу полдня не вижу смысла)
Спасибо, понял.
А понимают ли addr:place конвертеры в форматы навигаторов? Или пока надо, как и написано в Вики, ставить также addr:street с тем же содержанием, что и addr:place?
Какой тег нужно ставить адресу дома в сельском поселении (административный центр) в частности addr:village или addr:city для правильной работы навигации ?
емнип можно вообще не ставить ни один из них, на работу навигации это не влияет вроде
Нет такого тега “addr:village”. Тег “addr:city” служит для указания населённого пункта в адресной информации, независимо от того, city этот населённый пункт или hamlet. Содержимое тега addr:city должно добуквенно совпадать с полем name у полигона place=city|town|village|hamlet в котором находится объект. Если оно не заполнено, то некоторые конверторы умеют его заполнять сами по признаку нахождения объекта внутри полигона place=*
Своевременная помощь, спасибо, исправил с помощью фильтра в JOSM, нужный инструмент.
Для тех, кому “addr:city=имядеревни” для деревеньки в три дома кажется перебором, встречается addr:place, но addr:city это нормально хоть для хутора, несмотря на громкое название “city”
Хотя в вики, что-то немного не так напутано
http://wiki.openstreetmap.org/wiki/RU:Key:addr:place
highway=footway для некоторых звучит примерно также дико
Автомагистраль = тропинка для пешеходов.
Ну да. Я бы прописал что-то типа way=footway. А также вместо highway=road писал бы way=may_be_road, а вместо unclassified писал бы quartery (как логичное продолжение иерархии primary-secondary-tertiary).
Впрочем, не буду фантазировать. Тут и без этого полно несогласий с тегами (достаточно вспомнить wood и forest, подъезды (building=entrance и entrance=yes), забытые отношения address и ещё кучу тегов, которые используют только 3,5 человека).
в Overpass API можно bbox задать 1 раз?
а то когда я его задаю 50 раз после каждой нужной мне точки, строка получается слишком длинной и не работает
можно.
вторую строчку не понял.
строчка получается длинная и file_get_contents выдает ошибку. upd: забыл urlencode. однако все равно не помешало бы сократить запрос.
как это сделать? сейчас у меня так, что поменять?
[out:json];(
way('.$key.')(56.213648,93.478551,56.279427,93.591632);
);out body;
Есть дорожка с некоем СНТ highway=residential и она вполне проезжая, но только летом. А сейчас, зимой по ней не проехать и на 4Х4, а карта, как Сусанин, упорно рутит по ней. Как быть?
Вот хочется уже однозначно определиться по поводу place
Итак, какие теги нужно наносить на точку place, а какие на полигон?
Есть набор тегов, который встречается чаще всего вместе с тегом place:
- Группа тегов addr (addr:country, addr:region, addr:district, addr:postcode)
- cladr:code (cladr:suffix ?, cladr:name ?)
- official_status
- name
- name:*
- population
- wikipedia
Каких тегов не хватает? Какие из них прописывать на полигон а какие на точку, какие должны быть и там и там.
Давайте определимся и занесём результат в wiki
На полигон принято ставить только теги place=* и name=*. Есть мнение о замене последнего на place_name. Основных аргумента два: при отображении не рисуется два названия на каждом населённом пункте, и при поиске не выскакивает по два результата (точка и линия). Решается установкой только одного тега на полигон. В защиту name — что это стандартный способ наименования объектов, и нет смысла изобретать новые теги.
Я так понял этот параграф уже не актуален и его можно выпилить?