Хочу экспортировать улицы города для отображения их на своей карте (google map + yandex map).
Никак не могу понять: можно как-то привязать улицу к населенному пункту?
По коду КЛАДРа?
И еще по хорошему должен быть (может быть)) тег is_in. В котором для улицы и пишется название НП.
Эх, когда же мы продвинем у себя схему wildMan’a. (Я всё поглядываю на тот его черновик и всё не соберусь с духом двинуть этом направлении).
В Беларуси схема развёрнута и работает, простенький наивный браузер можно посмотреть на http://osm.komzpa.net/stat/latest/addr/79842.html
А откуда в Беларуси карту импортировали, кто-нибудь знает? Давно интересно. Или неужели все руками нарисовали?
А почему бы и нет? Страна не такая уж и большая.
Да не похоже как-то карта на “живую”. Все очень четко - только дороги, реки и границы НП + на ихнем форуме кто-то написал, что стерли и залили заново…
Имена хайвеев очень странные “~[0x02]Р…”. Заливал похоже wildman…
Улица привязывается к городу, если попадает внутрь полигона города!
Это основное и самое простое правило, все остальные альтернативные варианты ненадёжны.
Я это уже выстрадал, когда в конвертере адресацию делал.
КЛАДР неплох, но это только в России, он завязан на бота и чужую базу.
is_in слишком нестрогий, если он где и есть, то пишут туда ерунду.
Релейшены - слишком геморно для поддержки
Кстати, в JOSM последнее время очень серьезно переработали редактор отношений. Конечно с обеспечением целостности еще есть куда работать, но редактировать уже легче становится.
Одним релейшеном привязать улицу к городу всё равно не получится, чисто из-за ограничений размера.
А делать иерархию из вложенных релейшенов - это на любителя
Не подскажите название тэгов для поиска этого полигона? По каким словам искать в .xml?
А то файл большой, не могу найти этот полигон города. Хотя, может его там и нет.
place=city (или town)
place_name=Название
если его нет, то надо добавить
вот, кстати, что в FAQ-е пишут: http://wiki.openstreetmap.org/wiki/FAQ#What_makes_a_road_belong_to_a_city.3F
Такое в Xml есть, но полигон не указан.
так что придется наверное по КЛАДР ориентироваться.
Простите, что значит “полигон не указан”?
Проверка на попадание точек линий в полигон делается в десять строчек. Ну и немножко повозиться с восстановлением линий из точек.
Я имею ввиду, что для г.Волгоград есть вот такое определение (как я понимаю, это и есть полигон города)
<way id="37745301" visible="true" timestamp="2009-07-16T21:22:18Z" version="1" changeset="1849044" user="KekcuHa" uid="30590">
<nd ref="442706956"/>
<nd ref="442706957"/>
<nd ref="442706958"/>
<nd ref="442706959"/>
<nd ref="442706960"/>
<nd ref="442706961"/>
<nd ref="442706962"/>
<nd ref="442706963"/>
<nd ref="442706964"/>
<nd ref="442706965"/>
<nd ref="442706966"/>
<nd ref="442706956"/>
<tag k="place" v="city"/>
<tag k="name" v="Волгоград"/>
<tag k="cladr:name" v="Волгоград"/>
<tag k="boundary" v="administrative"/>
<tag k="cladr:code" v="3400000100000"/>
<tag k="addr:country" v="RU"/>
<tag k="addr:region" v="Волгоградская область"/>
<tag k="cladr:suffix" v="Город"/>
</way>
А для г.Волжский есть только вот такая инфа и всё.
<node id="191752285" lat="48.7790188" lon="44.7840263" version="7" changeset="1551125" user="KekcuHa" uid="30590" visible="true" timestamp="2009-06-18T04:24:02Z">
<tag k="name" v="Волжский"/>
<tag k="place" v="town"/>
<tag k="cladr:name" v="Волжский"/>
<tag k="created_by" v="Potlatch 0.10b"/>
<tag k="addr:postcode" v="404130"/>
<tag k="int_name" v="Volzhskiy"/>
<tag k="cladr:code" v="3400000200000"/>
<tag k="name:en" v="Volzhskiy"/>
<tag k="addr:country" v="RU"/>
<tag k="addr:region" v="Волгоградская область"/>
<tag k="is_in" v="Volgograd Oblast, Russia"/>
<tag k="cladr:suffix" v="Город"/>
</node>
Это означает, что полигон границы города еще не нарисован (и что нужно это сделать). Можно дождаться, пока кто-то это сделает :3, а можно нарисовать самому (информацию о границах можно попытаться узнать на сайте администрации города или района).
Я понял, что не нарисован.
Учитывая, что кол-во улиц не так много, то я могу и сам их отфильтровать при заливке в свою БД. А на будущее буду тогда уже полигонами пользоваться, если они есть. Но так как следующий на очереди Волгоград, для которого полигон задан, то не скоро я засяду за рисование полигонов.
Спасибо за помощь.
Shasoft, прочтите хотя бы http://wiki.openstreetmap.org/wiki/Elements.
Вы показали полигон города и точку центра. Это несколько разные объекты
А почему вы думаете, что он этого не понимает?
Читал-читал. Я понимаю, что это разные объекты.
Просто указал, что значит “полигон не указан”.