Карты Европы можно взять порезанные здесь http://download.geofabrik.de/osm/europe
Для переработки же полного planet.osm проще модифицировать osm2pgsql, а не возиться с простыми
перл-парсерами.
Количество “XML мусора” там очень даже внушительно.
Карты Европы можно взять порезанные здесь http://download.geofabrik.de/osm/europe
Для переработки же полного planet.osm проще модифицировать osm2pgsql, а не возиться с простыми
перл-парсерами.
Количество “XML мусора” там очень даже внушительно.
По моему это живая postgis база, которая пополняется (в почти реальном времени) диффами из основной mysql базы.
Я поправил вчера вручную многие “разорванные” дороги, пользуясь результатами работы конвертера
Теперь самая неприятная проблема это “порезанные” без необходимости дороги, и таких очень и очень много.
Карты Европы можно взять порезанные здесь http://download.geofabrik.de/osm/europe
Протестировал конвертер на странах Европы
Исходный Результат Время
размер MP конвертации
Польша 130 Mb 32 Mb 1:25
Италия 199 Mb 52 Mb 2:35
Франция 393 Mb 105 Mb 5:00
Англия 948 Mb 292 Mb 10:40
машинка Athlon 2600, 1.2 Gb, WinXP
результат могу выложить, в принципе, но мапедит даже Польшу открывает 10 минут
???, ???, ???: ??? .osm ? .img ? ??? mkgmap. ??? ??? GPSMapEdit ? .nm2 ??? «???».
??? ???, ??? ???. ?? ??? ???. ??? ? ??? ?? ??? ??? ??? ??? ??? ??? ??? ???
??? .osm ? .img ? ??? mkgmap. ??? ??? GPSMapEdit ? .nm2 ??? «???».
??? ???, ??? ???. ?? ??? ???. ??? ? ??? ?? ??? ??? ??? ??? ??? ??? ??? ???
?) mkgmap ?? ??? ??? ???. ? ?? ??? ???
?) ??? ??? ? mkgmap ? ???, ??? ?? ??? ??? ??? ?? img (? ?? ??? ???)
MBNEWS:??? .osm ? .img ? ??? mkgmap. ??? ??? GPSMapEdit ? .nm2 ??? «???».
??? ???, ??? ???. ?? ??? ???. ??? ? ??? ?? ??? ??? ??? ??? ??? ??? ??? ????) mkgmap ?? ??? ??? ???. ? ?? ??? ???
?) ??? ??? ? mkgmap ? ???, ??? ?? ??? ??? ??? ?? img (? ?? ??? ???)
???. ?? ??? ???, ??? ??? ??? ??? ?? ??? ???.
P.S. ??? ??? ??? ??? ? ?? ??? - ?? ??? ??? ? ? ??? ??? ??? ???.
Протестировал конвертер на странах Европы
Исходный Результат Время размер MP конвертации Польша 130 Mb 32 Mb 1:25 Италия 199 Mb 52 Mb 2:35 Франция 393 Mb 105 Mb 5:00 Англия 948 Mb 292 Mb 10:40
машинка Athlon 2600, 1.2 Gb, WinXP
результат могу выложить, в принципе, но мапедит даже Польшу открывает 10 минут
Я взялся за самый большой файл:)
Германия 1.5GB 422MB 6:33.04
машинка 2xOpteron250 2.4GHz, 8 GB, Linux
Скрипту понадобилось около 2ГБ памяти
gpsmapedit падает на выходном .mp
Самодельный gpsmapedit-0.98б собранный с помощью winelib работает,
но там нет роутинга.
gpsmapedit ругается здесь
(WARNING (offset 5D5571h): Latitude value is expected. The point will be ignored.)
; NodeID =
; place=village
[POI]
Type=0x0C00
Data0=(,)
EndLevel=2
Label=Nutha
City=Y
[END]
<node id="240023524" timestamp="2008-01-19T17:06:38Z" user="OpenGeoDB Bot" lat="51.9667" lon="12">
<tag k="openGeoDB:is_in" v="Anhalt-Zerbst,Dessau,Sachsen-Anhalt,Bundesrepublik Deutschland,Europe"/>
<tag k="openGeoDB:name" v="Nutha"/>
<tag k="openGeoDB:sort_name" v="NUTHA"/>
<tag k="openGeoDB:community_identification_number" v="15151042"/>
<tag k="openGeoDB:is_in_loc_id" v="275"/>
<tag k="openGeoDB:layer" v="6"/>
<tag k="place" v="village"/>
<tag k="openGeoDB:location" v="political_structure"/>
<tag k="openGeoDB:postal_codes" v="39264"/>
<tag k="openGeoDB:combination_of_public_administration" v="Verwaltungsgemeinschaft Elbe-Ehle-Nuthe,Elbe-Ehle-Nuthe"/>
<tag k="is_in" v="Anhalt-Zerbst,Dessau,Sachsen-Anhalt,Bundesrepublik Deutschland,Europe"/>
<tag k="openGeoDB:loc_id" v="21850"/>
<tag k="openGeoDB:version" v="0.2.6.11 / 2007-12-04 / http://fa-technik.adfc.de/code/opengeodb/dump/"/>
<tag k="openGeoDB:population" v="287"/>
<tag k="population" v="287"/>
<tag k="openGeoDB:type" v="Gemeinde"/>
<tag k="openGeoDB:license_plate_code" v="AZE"/>
<tag k="openGeoDB:telephone_area_code" v="03923"/>
<tag k="name" v="Nutha"/>
<tag k="created_by" v="opengeodb2osm0.5.2"/>
<tag k="openGeoDB:auto_update" v="population,place,name,is_in"/>
</node>
нода не прочлась, потому что в долготе точки нет исправлю
новую версию надеюсь выложить, когда сделаю порезку дорог на самопересечениях
а память он кушает нипадеццки, это да. примерно под размер исходного .osm
там все основные структуры хэшами сделаны
и это всё цветочки: если начать поддержку релейшнов, памяти будет уходить ещё больше
и это всё цветочки: если начать поддержку релейшнов, памяти будет уходить ещё больше
Это точно.
Я вот сейчас думаю, как быть с такими вещами (если учитывать и oneway, то будет еще запутаннее)
10982333 → 22346590
22346590 → 10982333
<way id='4459751' timestamp='2007-10-19T17:28:31Z'>
<nd ref='10982333'/>
<nd ref='22346590'/>
<tag k='highway' v='residential'/>
</way>
<way id='23232699' user='Mirt' osmxapi:users='Mirt' timestamp='2008-03-09T16:48:17Z'>
<nd ref='251347811'/>
<nd ref='22351705'/>
<nd ref='22351716'/>
<nd ref='22352581'/>
<nd ref='22346590'/>
<nd ref='10982333'/>
<nd ref='251356232'/>
<nd ref='251351067'/>
<nd ref='251351048'/>
<nd ref='251351070'/>
<tag k='highway' v='residential'/>
<tag k='name' v='Церковная ул.'/>
</way>
фигня какая-то с запретами поворотов
http://wiki.openstreetmap.org/index.php/Relations/Turn_Restrictions
указывается, с какой дороги на какую запрещено, но при этом не учитывается направление движения.
неоднозначно всё получается, в таком виде это дело использовать нельзя
указывается, с какой дороги на какую запрещено, но при этом не учитывается направление движения.
неоднозначно всё получается, в таком виде это дело использовать нельзя
Пример ?
ИМХО, в .mp все то же самое.
пример? лехко!
дорога 1 идёт с севера на юг, дорога 2 - с запада на восток
в точке А они пересекаются
я еду с севера, мне в точке А запрещён поворот налево. никаких других запретов в А нет
как такое описать?
а в mp не так: там указываются три нода, через которых нельзя последовательно проехать
доделал порезку дорог с самопересечениями
теперь полноценный псевдороутинг
заодно исправил баги в карте москвы, из-за которых маппер вылетал
??? ??? ???
??? ??? ? «???» ?? ? ??? ??? ??? ??? ?? ??? ??? ??? ??? ? ?? ??? ???, ??? ??? ??? ??? ???, ??? ? ?? ??? ???. ??? ??? ??? ??? ??? (??? ?? ??? ??? ?? ??? ??? ???).
? ??? ??? ?? ??? !!!
пример? лехко!
дорога 1 идёт с севера на юг, дорога 2 - с запада на восток
в точке А они пересекаютсяя еду с севера, мне в точке А запрещён поворот налево. никаких других запретов в А нет
как такое описать?
Рэзать в точке А обе дороги. Тогда и точка А в описании будет не нужна.
Сделал обработку мультиполигонов.
Но почему-то внутренние полигоны, которые “дыры”, многие сделаны с теми же тэгами, что и внешние.
То есть получается озеро, а внутри него ещё одно озеро
http://wiki.openstreetmap.org/index.php/Relations/Multipolygon
Tags describing the multipolygon should go on the outer way. Tags on inner ways describe the hole. If it’s just a hole, leave it untagged.
Сделал обработку мультиполигонов.
Но почему-то внутренние полигоны, которые “дыры”, многие сделаны с теми же тэгами, что и внешние.
То есть получается озеро, а внутри него ещё одно озероhttp://wiki.openstreetmap.org/index.php/Relations/Multipolygon
Tags describing the multipolygon should go on the outer way. Tags on inner ways describe the hole. If it’s just a hole, leave it untagged.
А раньше это было такое требование. Чтобы внутренние и внешние границы были помечены одинаково. И мапник брал по ошибке (?) при рендере тэги из внутреннего полигона. То есть, если поставишь для внутренней границы леса (natural=wood) natural=water, то получаешь большое озеро с островом внутри.
А вот 30 марта Thomas Wood изменил требование, что надо оставлять либо вообще без тэгов, либо нужным для внутреннего полигона.
Ну, наверно, теперь так. Надо бы проверить, как это будет рендерится в мапнике…
P.S. У меня все мультиполигоны сделаны “по старому”…
Выкладываю для тестирования версию 0.3 конвертера
http://garminmapsearch.com/osm/osm2mp.zip
Роутинг есть, мультиполигонов ещё нет
Роутинг есть, мультиполигонов ещё нет
Многие “мультиполигоны” которые я вижу, надо основательно править. Так что это небольшая потеря.