You are not logged in.
- Topics: Active | Unanswered
Announcement
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.***
#1101 2009-12-19 08:01:29
- chilin
- Member
- Registered: 2009-07-30
- Posts: 180
Re: Конвертер OSM -> MP
На Владимирской области (которая на gis-lab), текущая версия конвертера выдаёт гроздь вот таких сообщений:
Use of uninitialized value in numeric lt (<) at C:/Perl/site/lib/Math/Polygon/Tr
ee.pm line 108, <IN> line 1113263.
На других областях такого не наблюдается.
Посмотрите пожалуйста.
Offline
#1102 2009-12-19 08:06:40
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Осмозиз, блин!
Попробую исправить.
Offline
#1103 2009-12-19 12:17:05
- coolkaas
- Member

- From: RU, Penza
- Registered: 2009-05-28
- Posts: 2,391
Re: Конвертер OSM -> MP
Порассасывал немного Пермский http://gpsmapsearch.com/osm/mp/perm.err.htm, дальше Digy и AlRight сами разбирайтесь)) У вас там полно полигонов и по грани полигона идёт поверх дорога. Надо или в полигон втыкать дороги (но поверх не пускать). Или пускать поверх, по методу Ilis'а -- area _охватывает_ дорогу и она не идёт по ребру.
В общем, даёшь страничку Лёши, чистую от файликов -err-. (ковыряю по всем городам потихоньку, правлю явные ошибки). Все местные подключайтесь.
ps. просто страх, какие потлач выкрутасы творит.. Дорога в две точки (соединяет две другие дороги) -- проведена туда и обратно -- пойди, найди её! )) объект один.. Спасает только то, что точек 4 (если на это обратить внимание).
Last edited by coolkaas (2009-12-19 12:38:52)
Offline
#1104 2009-12-19 16:06:53
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
Потлатч-то да, умеет иногда подкозлить
Иногда появляется кусок линии из одного сегмента, совпадающего с одним из сегментов длинной линии, а иногда в линии втыкает пару-тройку ссылок на одну и ту же точку. Но это всё-таки редко бывает ![]()
Offline
#1105 2009-12-20 18:41:25
- Kotelnikov
- Member

- From: Krasnodar, RU
- Registered: 2009-05-07
- Posts: 2,854
- Website
Re: Конвертер OSM -> MP
Я в Краснодаре обнурижил квартал, в котором ВСЕ дворовые проезды нарисованы одной линией.
))
1 000 000 points: 80% complete
Offline
#1106 2009-12-20 18:49:00
- Ezhick
- Member

- From: Moscow
- Registered: 2008-10-08
- Posts: 2,508
- Website
Re: Конвертер OSM -> MP
Я в Краснодаре обнурижил квартал, в котором ВСЕ дворовые проезды нарисованы одной линией.
))
Ой сколько таких дворов было в Мск... И сколько сил было убито на распутывание этого клубка из пересекающих саму себ, двойных точек, наложения линий... Ох...
Offline
#1107 2009-12-20 18:54:57
- dedNikifor
- Member

- From: Белгород
- Registered: 2009-09-11
- Posts: 3,419
Re: Конвертер OSM -> MP
Я в Краснодаре обнурижил квартал, в котором ВСЕ дворовые проезды нарисованы одной линией.
))
счас осталось обнаружить того, кто так рисует. и провести воспитательную беседу
Offline
#1108 2009-12-20 19:31:18
- dedNikifor
- Member

- From: Белгород
- Registered: 2009-09-11
- Posts: 3,419
Re: Конвертер OSM -> MP
скачал с http://gpsmapsearch.com/osm/mp/ карты Уфы и Тюмени - чтобы проверить на отсутствие навителовских ошибок
в errors-navitel.log ошибок не оказалось, зато они оказались в errors.log (хотя на сайте это не отражено)
надо бы пофиксить.. (всмысле не сами ошибки - их я уже исправил; а отображение инфы на сайте)
Offline
#1109 2009-12-21 17:41:22
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Конвертер OSM -> MP
Есть еще один вопрос об amenity.
Этот тег может применяться в разных контекстах - территория или здание.
Например, amenity=hospital без building=yes - это территория больницы, например: http://www.openstreetmap.org/browse/way/37976940
На карте он должен отображаться именно как "территория больницы" (Hospital (0xb, polygon))
Набор amenity=hospital + building=yes - это уже здание больницы, его нужно отображать как "здание" (Building/Man-made area (0x13, polygon)).
То же самое относится к магазинам, университетам и т.п.
Вопрос - можно ли правильно конвертировать amenity, не применяя трюк с barrier=fence?
И еще, к какому из объектов идеологически правильно добавлять точку POI?
Offline
#1110 2009-12-21 18:32:59
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
Идеологически правильно в ОСМ ставить тег аменити на всё что угодно, а на выходе конвертера идеологически правильно иметь все аменити в виде точки POI
(если возможно, под ними должен остаться полигон того же типа, как сейчас происходит со школами)
Offline
#1111 2009-12-21 19:28:08
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Конвертер OSM -> MP
Еще раз. Есть полигон "больница" (территория больницы) и внутри него здание "больница".
Идеологически все правильно, так?
Тогда какой из объектов рисовать полигоном и для какого рисовать POI?
Правильно ли я понимаю, что сейчас эта задача не решаема конвертером?
Offline
#1112 2009-12-21 20:17:01
- OverQuantum
- Member

- From: Zelenograd
- Registered: 2009-06-17
- Posts: 1,582
- Website
Re: Конвертер OSM -> MP
Обнаружил затруднение.
---| OSM -> MP converter 0.80b (c) 2008,2009 liosha, xliosha@gmail.com
Processing file temp_del.osm
Loading nodes... 1436660 loaded
Loading relations... 330 multipolygons
22 turn restrictions
0 destination signs
Loading necessary ways... 1857 loaded
Processing multipolygons Use of uninitialized value $nrpoints in numeric eq (==
) at c:/strawberry/perl/site/lib/Math/Polygon/Tree.pm line 48, <IN> line 1089856
6.
Use of uninitialized value $nrpoints in numeric gt (>) at c:/strawberry/perl/sit
e/lib/Math/Polygon/Tree.pm line 59, <IN> line 10898566.
Use of uninitialized value in numeric lt (<) at c:/strawberry/perl/site/lib/Math
/Polygon/Tree.pm line 108, <IN> line 10898566.
Use of uninitialized value in numeric gt (>) at c:/strawberry/perl/site/lib/Math
/Polygon/Tree.pm line 108, <IN> line 10898566.
Use of uninitialized value $nrpoints in numeric eq (==) at c:/strawberry/perl/si
te/lib/Math/Polygon/Tree.pm line 48, <IN> line 10898566.И далее такого много по несколько штук с одним номером около "<IN> line". Но конвертация доходит до конца.
Пробовал osm2mp r156 и r157 - одинаково. Входной файл - netherlands_63240001.osm (1я часть netherland.osm от 06.12.2009 с geofabrik, порубленный splitter-ом с настройками по умолчанию) - можно скачать с http://www.datafilehost.com/download-37795ba7.html (15 мегов в архиве, 220 мегов чистого). 10 миллионов строк в нём нету, только 7 миллионов.
Вызываю через такой bat-ник:
c:\strawberry\perl\bin\perl.exe osmsort.pl %1 > temp_del.osm
c:\strawberry\perl\bin\perl.exe osm2mp.pl --nametaglist int_name,name:en,name,name:ru,ref,int_ref,addr:housenumber,operator --header header_russa.tpl --translit temp_del.osm > %1.mpUPD: Ага, походу, chilin выше писал про это же.
Можно грохнуть этот пост, если проблема в одном и том же.
Last edited by OverQuantum (2009-12-21 21:44:35)
Это же OpenStreetMap. Он больше внутри, чем снаружи.
Offline
#1113 2009-12-22 06:03:35
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
Еще раз. Есть полигон "больница" (территория больницы) и внутри него здание "больница".
Идеологически все правильно, так?
Тогда какой из объектов рисовать полигоном и для какого рисовать POI?
Правильно ли я понимаю, что сейчас эта задача не решаема конвертером?
Вот такой случай: http://www.openstreetmap.org/?lat=56.82 … rs=B000FTF
В Мапнике нарисовано нормально, в МП по действующим правилом тоже конвертнулось хорошо.
ЗЫ. Правда, больницы-здания тут нарисованы отдельно точка-аменити, отдельно здание. Видимо, при разделении здания-больницы надо оставлять полигон-здание с адресом без аменити, но из него же делать точку аменити с именем. Вот как-то так ![]()
Offline
#1114 2009-12-22 06:59:11
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
Есть предложение не дублировать точкой безымянные водоёмы. Туда попадают всякие очистные, пожарные водоёмы и всякая другая фигня, по которой поиск не нужен абсолютно. Например, дренажные водоёмы http://www.openstreetmap.org/?lat=56.72 … rs=B000FTF
Offline
#1115 2009-12-22 07:16:25
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Есть предложение не дублировать точкой безымянные водоёмы. Туда попадают всякие очистные, пожарные водоёмы и всякая другая фигня, по которой поиск не нужен абсолютно. Например, дренажные водоёмы http://www.openstreetmap.org/?lat=56.72 … rs=B000FTF
Ваще-то они не должны туда попадать, потому что сейчас точкой становятся только natural=water, а пожарные и дренажные никаким боком не natural.
И пока нет возможности отделять объекты, которым нужна безымянная точка (парковки) от объектов, которым она не нужна.
Еще раз. Есть полигон "больница" (территория больницы) и внутри него здание "больница".
Идеологически все правильно, так?
Тогда какой из объектов рисовать полигоном и для какого рисовать POI?
Правильно ли я понимаю, что сейчас эта задача не решаема конвертером?
Идеологически неправильно. Получаются две больницы, хотя на самом деле она одна.
Имхо, amenity=hospital должен быть только один.
Что касается создания точек, могу предложить такой вариант: для объекта рисуется один полигон (того типа, у которого максимальный приоритет в конфигах), а точки создаются для всех возможных вариантов.
Offline
#1116 2009-12-22 07:31:53
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Конвертер OSM -> MP
Что касается создания точек, могу предложить такой вариант: для объекта рисуется один полигон (того типа, у которого максимальный приоритет в конфигах), а точки создаются для всех возможных вариантов.
Да, так должно быть нормально, если повысить приоритет для building=yes.
Offline
#1117 2009-12-22 08:05:17
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
dimuzz wrote:Еще раз. Есть полигон "больница" (территория больницы) и внутри него здание "больница".
Идеологически все правильно, так?
Тогда какой из объектов рисовать полигоном и для какого рисовать POI?
Правильно ли я понимаю, что сейчас эта задача не решаема конвертером?Идеологически неправильно. Получаются две больницы, хотя на самом деле она одна.
Имхо, amenity=hospital должен быть только один.
В приведённом выше примере на территории больницы (№ 1), есть роддом № 27 и поликлиника № 1 при ЦГКБ № 1, располагающиеся именно в зданиях на территории. Так что с этой точки зрения всё законно! ![]()
Offline
#1118 2009-12-22 08:09:32
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
Ilis wrote:Есть предложение не дублировать точкой безымянные водоёмы. Туда попадают всякие очистные, пожарные водоёмы и всякая другая фигня, по которой поиск не нужен абсолютно. Например, дренажные водоёмы http://www.openstreetmap.org/?lat=56.72 … rs=B000FTF
Ваще-то они не должны туда попадать, потому что сейчас точкой становятся только natural=water, а пожарные и дренажные никаким боком не natural.
И пока нет возможности отделять объекты, которым нужна безымянная точка (парковки) от объектов, которым она не нужна.
Ага, тут наша недоработка, получается, исправим. Но с другой стороны, точками сейчас не дублируются большие именованные пруды! (landuse=reservoir).
Надо как-то плавно переходить от типов объектов к тегам. Точнее, к наборам тегов...
Offline
#1119 2009-12-22 09:40:42
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
для объекта рисуется один полигон (того типа, у которого максимальный приоритет в конфигах), а точки создаются для всех возможных вариантов.
Сделал. Плюс добавил заплатку, что если в конфиге тип полигона обозначить как undef, то сам полигон отображаться не будет, а будет только POI.
Ворнинг про uninitialized value вроде тоже вылечил.
Offline
#1120 2009-12-22 18:33:28
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Конвертер OSM -> MP
liosha, спасибо!
Есть еще одна идея (прошу прощения за активность) насчет городских улиц: добавить отдельный режим обработки роутинговых линий внутри города, что-нибудь типа "c" (аналог "r", только внутри городского полигона).
Алгоритм примерно такой:
если линия входит в полигон города и существует строка конфигурации с типом "c", то выводить линию типа "c", иначе типа "r"
Конфигурация будет выглядеть вот так:
highway primary r 0x02,2 0 3 4,3,0,0,0,0,0,0,0,0,0,0
highway primary c 0x04,2 0 3 4,3,0,0,0,0,0,0,0,0,0,0
highway secondary r 0x03,2 0 2 3,3,0,0,0,0,0,0,0,0,0,0
highway secondary c 0x05,2 0 2 3,2,0,0,0,0,0,0,0,0,0,0
Offline
#1121 2009-12-22 20:02:29
- OverQuantum
- Member

- From: Zelenograd
- Registered: 2009-06-17
- Posts: 1,582
- Website
Re: Конвертер OSM -> MP
liosha,
Насколько я понимаю, .osm файл объёмом 2 ГБ никак не сконвертировать?
osmsort.pl или osm2mp.pl падают с "Out of memory!", когда съедают 2 ГБ оперативки. 64-битного перла что-то не видно в интернетах...
/PAE и /3GB не спасают.
Может кто-нить знает какой-нить способ обойти предел?
Last edited by OverQuantum (2009-12-22 20:19:30)
Это же OpenStreetMap. Он больше внутри, чем снаружи.
Offline
#1122 2009-12-22 21:43:16
- chilin
- Member
- Registered: 2009-07-30
- Posts: 180
Re: Конвертер OSM -> MP
liosha,
Насколько я понимаю, .osm файл объёмом 2 ГБ никак не сконвертировать?
osmsort.pl или osm2mp.pl падают с "Out of memory!", когда съедают 2 ГБ оперативки. 64-битного перла что-то не видно в интернетах...
/PAE и /3GB не спасают.
Может кто-нить знает какой-нить способ обойти предел?
Присоединяюсь к вопросу.
И связанный вопрос: можно ли узнать технологию получения набора .mp файлов в архиве __russia.mp.7z (отсюда: http://gpsmapsearch.com/osm/mp?
Last edited by chilin (2009-12-22 21:43:55)
Offline
#1123 2009-12-23 07:14:07
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
добавить отдельный режим обработки роутинговых линий внутри города, что-нибудь типа "c" (аналог "r", только внутри городского полигона).
Пока такой возможности нет, придётся полностью механизм определения типов менять.
Насколько я понимаю, .osm файл объёмом 2 ГБ никак не сконвертировать?
osmsort.pl или osm2mp.pl падают с "Out of memory!", когда съедают 2 ГБ оперативки. 64-битного перла что-то не видно в интернетах...
/PAE и /3GB не спасают.
Может кто-нить знает какой-нить способ обойти предел?
Или порэзать на части, или пройтись фильтрами и выкинуть лишние объекты.
Кажется, wildMan такой фильтр писал.
И связанный вопрос: можно ли узнать технологию получения набора .mp файлов в архиве __russia.mp.7z (отсюда: http://gpsmapsearch.com/osm/mp?
Режу на квадраты сплиттером, лежит в svn вместе с конвертером.
Offline
#1124 2009-12-23 09:16:52
- AlRight
- Member

- From: Perm, Russia
- Registered: 2009-09-24
- Posts: 861
Re: Конвертер OSM -> MP
Порассасывал немного Пермский http://gpsmapsearch.com/osm/mp/perm.err.htm, дальше Digy и AlRight сами разбирайтесь)) ...
... какие потлач выкрутасы творит.. Дорога в две точки (соединяет две другие дороги) -- проведена туда и обратно -- пойди, найди её! )) объект один.. Спасает только то, что точек 4 (если на это обратить внимание).
ПК (Пермский край, а не персональный компьютер или пожарный кран или players killer) вычистил
Буду поглядывать .. Больше всего замороки, конечно, с веями, начинающимися и заканчивающимися в одной точке .. и состоящими при этом только из неё же
)
пойди, найди её!
Offline
#1125 2009-12-23 09:21:38
- wildMan
- Member

- From: Minsk
- Registered: 2008-03-05
- Posts: 509
Offline