You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

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

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
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,670

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

liosha wrote:

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

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

Offline

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

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

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,447
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,447
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,670

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,670

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,447
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,447
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,447
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,670

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,670

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,670

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

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

Offline

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

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
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,447
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,670

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,447
Website

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

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

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

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

Offline

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

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

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