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.***
#1576 2010-05-29 21:20:23
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Постпроцессором, наверно.
Хотя я не уверен, что тут правильные теги.
Чего же в них неправильного? Есть дорога, у нее есть название, и есть номер. Они могут отличаться. Особенно для улиц это актуально, которые часть транзитного маршрута.
Постпроцессором это так просто ref и name не разделишь, правильный номер уже сгинул в небытие - разве что гадать какие должны быть номера трасс.
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#1577 2010-05-29 21:25:11
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Подправил.
А в случае Казахстана, если я правильно понял проблему, сплиттер вообще не нужен.
Нужно просто сделать несколько отдельных .poly - по областям, например, или запад и восток.
И прогонять конвертацию одного и того же .osm с разными границами
Offline
#1578 2010-05-29 21:28:44
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Чего же в них неправильного? Есть дорога, у нее есть название, и есть номер. Они могут отличаться. Особенно для улиц это актуально, которые часть транзитного маршрута.
Постпроцессором это так просто ref и name не разделишь, правильный номер уже сгинул в небытие - разве что гадать какие должны быть номера трасс.
Неправильное в них то, что "В. Новгород-Шимск" - это вряд ли название дороги, скорее описание.
И ref надо вешать на релейшен, а не на вей.
А разделить запросто: если есть ~[0x05], то первое слово после него - ref
Offline
#1579 2010-05-29 21:59:25
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Да какая разница, название или описание! Вот 100% правильный пример, самое натуральное название:
<way id="37264961" ...>
<tag k="highway" v="primary"/>
<tag k="name" v="Двориковское ш."/>
<tag k="ref" v="Р75"/>
</way>
И что-ты предлагаешь, все ref переносить в релейшены? Сложно сделать ключ чтобы брать номер трассы из ref?
А разделить запросто: если есть ~[0x05], то первое слово после него - ref
Угу, если оно само через пробел не написано: "М 5".
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#1580 2010-05-29 22:14:57
- andriano
- Member

- Registered: 2009-06-15
- Posts: 1,667
Re: Конвертер OSM -> MP
Угу, если оно само через пробел не написано: "М 5".
А это вообще правильная запись?
Если нет - то как раз тот вопрос, который я поднимал в теме "Стандартизация..." - если при записи допущена ошибка, это практически все равно, что его вообще нет, т.к. он не может быть правильно распознан. А значит, должны быть механизмы для исправления подобных ошибок.
Offline
#1581 2010-05-29 22:28:54
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
>>А это вообще правильная запись?
Без понятия, и меня в данный момент вообще не интересует, правильная ли это запись, или нет. Что нарисовали, то и получили.
>>А значит, должны быть механизмы для исправления подобных ошибок.
Механизм должен быть, и я наверно его даже напишу - если проживу достаточно долго
но рендеринг карты и исправление опечаток - это две разные задачи.
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#1582 2010-05-30 04:32:47
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Естественно, все разносить. Хотя номер трассы и из ref берётся. И пробелы убираются.
PS, и да, во втором примере ref вообще не добавится, он добавляется только вне городов
Offline
#1583 2010-05-30 09:51:21
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Ну короче релейшены не имеют к рассматриваемой задаче ни малейшего отношения ![]()
"Постпроцессор" таки написал: в osm2mp заменил строчку
$name = '~[0x05]' . $ref . ( $name ? q{ } . $name : q{});
на
$name = '~[0x05]' . $ref;
Вроде стало как хотелось. Осталось понять, что надо подковырнуть, чтобы реки объединялись.
А вообще идея объединять ref и name какая-то очень странная.
Last edited by Zkir (2010-05-30 09:54:11)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#1584 2010-05-30 10:08:35
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
А вообще идея объединять ref и name какая-то очень странная.
Самая правильная идея ![]()
Гармины в квадратике рисуют только первое слово после ~[0x05], остальное видно только в названии линии
Offline
#1585 2010-05-30 10:21:33
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Самая правильная идея
Гармины в квадратике рисуют только первое слово после ~[0x05], остальное видно только в названии линии
Вот черт! ![]()
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#1586 2010-05-30 14:57:54
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
из-за чего такая бяка происходит?
Use of uninitialized value in numeric ge (>=) at C:/Perl/site/lib/Tree/R.pm line 140, <IN> line 6037661.
Вроде исправил
Offline
#1587 2010-06-01 10:05:58
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Сделал наконец новый конфиг для точек ![]()
- condition:
- shop = car
- service != *
action:
- action: write_poi
type: 0x2F07Условий пока возможных 4: равенство или неравенство (!=) тега значению, и наличие или отсутствие тега (service=*). Чтобы блок сработал, выполняться должны все условия.
Всё ещё очень сырое, баги неотловлены.
Offline
#1588 2010-06-01 10:49:33
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Конвертер OSM -> MP
liosha, а можно записывать для точки несколько POI (например, для случая amenity=bank, atm=yes)?
Offline
#1589 2010-06-01 10:56:04
- Amigo
- Member

- From: Москва
- Registered: 2009-12-15
- Posts: 2,772
Re: Конвертер OSM -> MP
liosha, а можно записывать для точки несколько POI (например, для случая amenity=bank, atm=yes)?
В случае for Garmin, например, это теряет всякий смысл, если только ко второй точке не дописывать в name банкомат.
Offline
#1590 2010-06-01 11:20:31
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
dimuzz, забыл отключить, теперь можно ![]()
Кстати, теперь работают сложные теги, то есть тег service=repair;tyres соответствует условию service=tyres
Offline
#1591 2010-06-01 20:30:29
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Леш, извиняюсь если было), скажи по какому принципу osm2mp присваивает
CityName=
RegionName=
CountryName=
?
Last edited by Zkir (2010-06-01 20:30:59)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#1592 2010-06-01 20:35:07
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
place_name, addr:region и addr:country из полигона города
http://forum.openstreetmap.org/viewtopic.php?id=6667
Offline
#1593 2010-06-02 22:40:11
- btr
- Member

- Registered: 2010-04-29
- Posts: 7
Re: Конвертер OSM -> MP
Товарищи, ткните что делаю неправильно. Пытаюсь сконвертировать map.osm в *.mp , вроде все идет как надо, но файл *.mp не создается (на первый взгляд). Вот лог
C:\osm2mp_v080>osm2mp.pl map.osm
---| OSM -> MP converter 0.80 (c) 2008-2010 liosha, xliosha@gmail.com
[IMG ID]
ID=88888888
Name=OSM
Copyright=OpenStreetMap project contributors under CC-BY-SA
LblCoding=9
CodePage=1251
POINumberFirst=N
DefaultCityCountry=Earth
DefaultRegionCountry=OSM
MG=Y
POIIndex=Y
Routing=Y
Elevation=M
Preprocess=F
TreSize=3000
Levels=6
Level0=24
Level1=22
Level2=20
Level3=18
Level4=16
Level5=15
[END-IMG ID]
; Converted from OpenStreetMap data with osm2mp 0.80 (2010-06-03 00:13:48)
Processing file abrakadabra.osm
Loading nodes... 23 loaded
Loading relations... 0 multipolygons
0 turn restrictions
0 destination signs
Loading necessary ways... 0 loaded
Processing multipolygons
; ### Multipolygons
0 polygons written
0 cities and 0 suburbs loaded
Processing nodes...
; ### Points
0 POIs written
0 barriers loaded
Processing ways...
; ### Lines and polygons
; WayID = 27901715
; building=yes
[POLYGON]
Type=0x13
Label=╧хЁтюьрщёъшщ ╬Єф '╬їЁрэр'
Data0=(55.1599246,30.2034563), (55.1598908,30.203703), (55.1597386,30.2036391),
(55.1598227,30.2030263), (55.159992,30.2030975), (55.1599716,30.2032458), (55.16
02183,30.2033494), (55.1602793,30.2029048), (55.1604025,30.2029566), (55.1603116
,30.203619), (55.1599246,30.2034563)
[END]
0 lines and 1 polygons dumped
1 roads loaded
; ### Roads
Merging roads... 0 merged
Detecting road nodes... 2 found
Detecting duplicates...
0 segments, 0 roads
Splitting roads...
0 self-intersections, 0 long roads
Fixing close nodes... 0 pairs fixed
Writing roads... ; WayID = 60025880:0
; highway=unclassified
[POLYLINE]
Type=0x03
EndLevel=1
Data0=(55.1611356,30.2066438), (55.1611687,30.2064491), (55.1611749,30.2064155),
(55.1615552,30.2042376), (55.16149,30.20378), (55.16136,30.20365), (55.16106,30
.20335), (55.16077,30.20343), (55.1602899,30.2037299), (55.1598199,30.20395), (5
5.1593399,30.2042546), (55.1584,30.2046799), (55.1580999,30.2049352)
RoadID=1
RouteParams=3,1,0,0,0,0,0,0,0,0,0,0
Nod0=0,2,0
Nod1=12,1,0
[END]
1 written
; ### Turn restrictions and signs
Writing crossroads...
; ### Barriers
0 restrictions, 0 signs
All done!!
; ### That's all, folks!
C:\osm2mp_v080>Спасибо.
Offline
#1594 2010-06-03 03:51:16
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Вывод надо перенаправить в файл:
osm2mp.pl file.osm > file.mp
Offline
#1595 2010-06-03 09:22:49
- btr
- Member

- Registered: 2010-04-29
- Posts: 7
Re: Конвертер OSM -> MP
liosha
Спасибо, работает (:
Offline
#1596 2010-06-04 07:16:04
- dimuzz
- Member
- From: Екатеринбург
- Registered: 2009-09-10
- Posts: 1,843
Re: Конвертер OSM -> MP
liosha, в текущей версии POI, полученные из полигонов, обрабатываются в соответствии с YAML конфигурацией, а значения из poly.cfg не используются вообще?
Offline
#1597 2010-06-04 07:17:44
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Ага, теперь так
UPD
Но пока обрабатываются не все объекты, а только те, которые в poly.cfg обозначены как полигоны.
Offline
#1598 2010-06-04 07:23:13
- chilin
- Member
- Registered: 2009-07-30
- Posts: 180
Re: Конвертер OSM -> MP
А нет ли в планах конвертации точки poi на роутинговой линии, если она дополнена определённым тэгом (Например tunnel=yes)?
Offline
#1599 2010-06-07 11:38:24
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
А нет ли в планах конвертации точки poi на роутинговой линии, если она дополнена определённым тэгом (Например tunnel=yes)?
Теперь такое можно.
Кому интересно, вот скрипт для переброски старого poi.cfg в новый формат:
http://code.google.com/p/osm2mp/wiki/ConfigConverter
PS. Без доводки напильником всё равно не заработает!
Offline
#1600 2010-06-07 17:06:37
- chilin
- Member
- Registered: 2009-07-30
- Posts: 180
Re: Конвертер OSM -> MP
chilin wrote:А нет ли в планах конвертации точки poi на роутинговой линии, если она дополнена определённым тэгом (Например tunnel=yes)?
Теперь такое можно.
Класс! Спасибо.
to dimuzz: Dimuzz в очередной версии конфигов, учти пожалуйста этот момент (для тонелей настройки совпадают с Гарминовскими).
Offline