OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

A fix has been applied to the login system for the forums - if you have trouble logging in please contact support@openstreetmap.org with both your forum username and your OpenStreetMap username so we can make sure your accounts are properly linked.

#51 2008-05-25 06:17:43

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

дык вроде как в осм круги и полагается рисовать кольцами, не разрезая.

Offline

#52 2008-05-25 18:11:54

red_rebel
Member
Registered: 2008-03-24
Posts: 8

Re: Конвертер OSM -> MP

AkMeR wrote:

2 liosha.
Нда. И в самом деле удивительная улица... Она рисовалась в потлахе 0.5 версии. А не в этой ли версии был глюк, когда создавались дубликаты объектов? Вполне возможно, что эта улица получилась объединением из двух версий одной улицы. А может и просто неудачно нарисовали...

P.S. Кстати, а ведь Red_rebel делал конвертер и у него уже была автогенерация роутингового графа. Может стоит выйти на него ради обмена опытом?

Да была такая шутка у потлаха - дублировал дороги. Я это замечал только по енпонятно откуда взявшимся роутинговым узлам посередине дороги. Потом шел в ЖОСМ и правил.
У меня конвертор написан на "остором-С". Таскает квадратиками данные с ОСМа и сохраняет в кеше. Пока внешнего настроечного файла нет и по слоям не бьет.

Offline

#53 2008-05-25 21:15:56

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

liosha wrote:

дык вроде как в осм круги и полагается рисовать кольцами, не разрезая.

Рисовать - да, но на кругах (обычно) больше одного въезда-выезда, поэтому это не проблема.

Offline

#54 2008-05-26 10:39:57

AkMeR
Member
From: Samara
Registered: 2008-02-27
Posts: 1,157

Re: Конвертер OSM -> MP

Добавим в конфиг? Домики:

building        yes                     p       0x13            0       0

А еще изменить. Я, совместно с домиками, рисую границы районов...

landuse         commercial              p       0x08            1       2
landuse         industrial              p       0x0c            1       2
landuse         retail                  p       0x08            1       2
landuse         residential             p       0x02            1       2

Offline

#55 2008-05-26 18:32:29

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

AkMeR wrote:

Добавим в конфиг? Домики:
...
А еще изменить. Я, совместно с домиками, рисую границы районов...

добавил.
сделал ещё поиск на самопересечения, пока такие дороги просто не включаются в граф.
позже буду думать, как их порезать

кстати, в потлахе можно найти объект по id?

; Road!  WayID = 23397249
; highway=primary
; FIX: this line should be broken at 2
; ERROR: WayID=23397249 seems to have self-crosses or dupes
[POLYLINE]
Type=0x02
EndLevel=3
Label=Обводное шоссе
DirIndicator=1
Data0=.....

; RoadID=1668
; RouteParams=3,4,1,0,0,0,0,0,0,0,0,0
; Nod1=0,839
; Nod2=1,3275
; Nod3=2,3746
; Nod4=3,3275
; Nod5=15,921
[END]

Offline

#56 2008-05-26 18:54:33

MBNEWS
Member
Registered: 2008-05-26
Posts: 30

Re: Конвертер OSM -> MP

liosha wrote:

и кстати, если кому-то другие области нужно в MP, кроме Москвы, скажите нужный bbox smile

Можно еще Мурманскую область: 68.887109375, 33.04221875 - 69.062890625, 33.39378125

Offline

#57 2008-05-26 19:31:27

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

MBNEWS wrote:

Можно еще Мурманскую область: 68.887109375, 33.04221875 - 69.062890625, 33.39378125

добавил в список smile

теперь будет делаться попытка компиляции с роутингом (personal-версией маппера).

Offline

#58 2008-05-26 20:38:10

MBNEWS
Member
Registered: 2008-05-26
Posts: 30

Re: Конвертер OSM -> MP

liosha wrote:
MBNEWS wrote:

Можно еще Мурманскую область: 68.887109375, 33.04221875 - 69.062890625, 33.39378125

добавил в список smile

теперь будет делаться попытка компиляции с роутингом (personal-версией маппера).

Спасибо!

Offline

#59 2008-05-26 21:56:10

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

liosha wrote:

сделал ещё поиск на самопересечения, пока такие дороги просто не включаются в граф.
позже буду думать, как их порезать

Хмм. Я вижу проблему только в кольцах (start_node=end_node), все остальные вроде как
несложно порезать.
Вот бы еще автоматически объединить два way, касающихся в нероутинговом ноде и с совпадающими тэгами.

кстати, в потлахе можно найти объект по id?

Было бы неплохо, но думаю что нет.
Я пользуюсь
./get_ways_by_list 2>/dev/null
и редактирую в JOSM

#!/bin/bash

if [ $# -ne 1 ]
then
        echo Usage: $0 waylist
        exit 1
fi

waylist=$1

if [ ! -f ${waylist} ]
then
        echo can not open waylist=${waylist}
        exit 1
fi


echo '<?xml version="1.0" encoding="UTF-8"?>'
echo '<osm version="0.5" generator="get_ways_by_list">'

for way_id in `cat ${waylist}`
do
rm -f way$$

curl "http://api.openstreetmap.org/api/0.5/way/${way_id}" |\
awk '{if ($1 != "<?xml" && $1 != "<osm" && $1 != "</osm>") print}' | tee way$$

awk -F\" '{if ($1 == "    <nd ref=") system("curl http://api.openstreetmap.org/api/0.5/node/"$2)}' way$$ |\
awk '{if ($1 != "<?xml" && $1 != "<osm" && $1 != "</osm>") print}'

rm -f way$$
done

echo '</osm>'

Offline

#60 2008-05-26 21:57:25

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

liosha wrote:

теперь будет делаться попытка компиляции с роутингом (personal-версией маппера).

Так и до поиска с индексом скоро доберемся big_smile

Offline

#61 2008-05-27 18:57:01

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

Добавил поиск и фильтрацию дупов точек, одноточечных линий и двухточечных полигонов  smile
Все найденные ошибки теперь grep-ятся в файл errors.log

; ERROR: WayID=22745318 has dupes
; ERROR: WayID=22771488 has self-intersections
; ERROR: WayID=22873079 area has too few nodes
; ERROR: WayID=22984864 has dupes

Offline

#62 2008-05-28 08:14:59

akaDamian
Member
Registered: 2007-11-07
Posts: 6

Re: Конвертер OSM -> MP

liosha wrote:

надо бы как в osmxapi - minlon,minlat,maxlon,maxlat

Конвертер работает не с файлами .osm, а с живой базой, с которой скачивает данные? Или просто формат сделан похожим?

Просто если это живая база, то для того, чтобы запустить конвертер на сервере для генерации карт в автоматическом режиме, то надо будет:
- либо обеспечить устойчивую работу основного сервера OSM, с которого все время будут качаться гигабайты данных (что вряд ли понравится его администраторам),
- либо поднимать копию базы на сервере с конвертером, через osmosis заливать туда diff-файлы и работать с ней.

Offline

#63 2008-05-28 08:49:03

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

akaDamian wrote:

Конвертер работает не с файлами .osm, а с живой базой, с которой скачивает данные? Или просто формат сделан похожим?

конвертер работает с файлом OSM, но есть отдельный скрипт, который по крону раз в сутки тянет текущие данные по osmxapi, конвертирует и выкладывает на ftp. вот ему-то bbox и нужен

сейчас всё это запускается на моём домашнем компе.
москва в .osm весит примерно 27 мегов, всё остальное ещё меньше, так что о гигабайтах речи не идёт

Offline

#64 2008-05-28 09:14:56

akaDamian
Member
Registered: 2007-11-07
Posts: 6

Re: Конвертер OSM -> MP

liosha wrote:

конвертер работает с файлом OSM, но есть отдельный скрипт, который по крону раз в сутки тянет текущие данные по osmxapi, конвертирует и выкладывает на ftp. вот ему-то bbox и нужен

Понятно. Тут OSMXAPI используется просто для ускорения процесса, чтобы не резать planet.osm, выделяя из него необходимые участки?

liosha wrote:

москва в .osm весит примерно 27 мегов, всё остальное ещё меньше, так что о гигабайтах речи не идёт

Это если говорить о России. А если иметь в виду использование конвертера для всех пользователей OSM, то обзорные карты по странам, плюс общая по Европе/США/и т.д., плюс карты городов и весей потянут на много. Не зря же planet.osm теперь такого размера.

Offline

#65 2008-05-28 09:39:58

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

akaDamian wrote:

А если иметь в виду использование конвертера для всех пользователей OSM, то обзорные карты по странам, плюс общая по Европе/США/и т.д., плюс карты городов и весей потянут на много. Не зря же planet.osm теперь такого размера.

ну, я пока так не размахивался... smile
сейчас сам конвертер в глубокой бете, так что результаты выкладываются только для его обкатки.

Offline

#66 2008-05-28 14:44:13

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

akaDamian wrote:

А если иметь в виду использование конвертера для всех пользователей OSM, то обзорные карты по странам, плюс общая по Европе/США/и т.д., плюс карты городов и весей потянут на много.

Карты Европы можно взять порезанные здесь http://download.geofabrik.de/osm/europe
Для переработки же полного planet.osm проще модифицировать osm2pgsql, а не возиться с простыми
перл-парсерами.

Не зря же planet.osm теперь такого размера.

Количество "XML мусора" там очень даже внушительно.

Offline

#67 2008-05-28 14:47:38

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

akaDamian wrote:
liosha wrote:

надо бы как в osmxapi - minlon,minlat,maxlon,maxlat

Конвертер работает не с файлами .osm, а с живой базой, с которой скачивает данные?

По моему это живая postgis база, которая пополняется (в почти реальном времени) диффами из основной mysql базы.

Offline

#68 2008-05-28 14:52:57

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

Я поправил вчера вручную многие "разорванные" дороги, пользуясь результатами работы конвертера smile
Теперь самая неприятная проблема это "порезанные" без необходимости дороги, и таких очень и очень много.

Offline

#69 2008-05-28 18:53:53

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

usm78-gis wrote:

Карты Европы можно взять порезанные здесь 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 минут

Offline

#70 2008-05-28 19:27:14

MBNEWS
Member
Registered: 2008-05-26
Posts: 30

Re: Конвертер OSM -> MP

?????????, ???, ???????????: ?????????????? .osm ? .img ? ??????? mkgmap. ?????? ????? GPSMapEdit ? .nm2 ??? «????????».

????? ?????, ??? ???????. ?? ???????? ???. sad ??? ? ???????? ?? ????? ???? ??? ????? ??????????? ??? ???? ?????????

Offline

#71 2008-05-28 19:29:55

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

MBNEWS wrote:

?????????????? .osm ? .img ? ??????? mkgmap. ?????? ????? GPSMapEdit ? .nm2 ??? «????????».
????? ?????, ??? ???????. ?? ???????? ???. sad ??? ? ???????? ?? ????? ???? ??? ????? ??????????? ??? ???? ?????????

?) mkgmap ?? ????? ?????? ???????. ? ?? ????? ????????
?) ???? ???? ? mkgmap ? ????, ??????? ?? ????? ?????? ??????? ?? img (? ?? ????? ?????)

Offline

#72 2008-05-28 19:32:41

MBNEWS
Member
Registered: 2008-05-26
Posts: 30

Re: Конвертер OSM -> MP

liosha wrote:
MBNEWS wrote:

?????????????? .osm ? .img ? ??????? mkgmap. ?????? ????? GPSMapEdit ? .nm2 ??? «????????».
????? ?????, ??? ???????. ?? ???????? ???. sad ??? ? ???????? ?? ????? ???? ??? ????? ??????????? ??? ???? ?????????

?) mkgmap ?? ????? ?????? ???????. ? ?? ????? ????????
?) ???? ???? ? mkgmap ? ????, ??????? ?? ????? ?????? ??????? ?? img (? ?? ????? ?????)

????. sad ?? ????? ????, ????? ??? ????????? ?????????? ?? ?????? ???????. wink

P.S. ???? ??? ??????? ????? ? ?? ????? - ?? ????? ?????? ? ? ??? ???????? ???? ?????????????. big_smile big_smile big_smile

Last edited by MBNEWS (2008-05-28 19:33:48)

Offline

#73 2008-05-28 22:40:55

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

liosha wrote:

Протестировал конвертер на странах Европы

           Исходный   Результат    Время     
            размер       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>

Last edited by usm78-gis (2008-05-29 00:53:48)

Offline

#74 2008-05-29 05:15:52

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,411
Website

Re: Конвертер OSM -> MP

нода не прочлась, потому что в долготе точки нет smile  исправлю
новую версию надеюсь выложить, когда сделаю порезку дорог на самопересечениях

а память он кушает нипадеццки, это да. примерно под размер исходного .osm
там все основные структуры хэшами сделаны

и это всё цветочки: если начать поддержку релейшнов, памяти будет уходить ещё больше

Offline

#75 2008-05-29 16:11:23

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,383

Re: Конвертер OSM -> MP

liosha wrote:

и это всё цветочки: если начать поддержку релейшнов, памяти будет уходить ещё больше

Это точно.
Я вот сейчас думаю, как быть с такими вещами (если учитывать и 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>

Offline

Board footer

Powered by FluxBB