Харьков и область (обсуждение)

Не знаю таких :frowning:
Я могу только потихоньку обрисовывать космоснимки Бинга, сидя дома за компом. Уже порисовал кусочек Краснокутска.
Но, наверное, сотрудникам парка нужнее карта не города, а самого парка? Если честно, я с трудом представляю, где он находится. Я вижу леса на юго-востоке от Краснокутска. Это оно?
А на северо-востоке от Краснокутска тогда что?

Кстати, ещё у меня возникла такая мысль:
если местный народ захочет расставить на домиках адреса, то использование openstreetbugs может быть неудобным. Там легко можно сарай с домиком перепутать. Или пропустить домик, который скрыт за деревьями. Может, лучше сделать для них “карту” для “Ози Эксплорер” в виде привязанных снимков Бинга?

Периодически буду выкладывать карту Харьковской области для Навител
http://msr-zdv.narod.ru/Navitel/

Кстати, сразу же вылезли проблемы:

  1. если дом задан мультиполигоном, а теги building=yes, и др. указаны только в тегах самого мультиполигона, а не на внешнем контуре, то такой дом в mp не появляется.
  2. почему-то GPSmapEdit 1.1.75.2 не даёт редактировать адреса (поля адреса в свойствах объекта серые).
  3. проблемы с деревнями-однофамильцами остались (кроме тех, у кого прописан addr:district). Попробую обновить конвертер.

Я конвертировал последними версиями osm2mp - такие здания в файл попадают.

Глянул Харьковскую область - все сёла Андріївка (в количестве 8) видны отдельно. :slight_smile: Использовал версию, где регион для адреса берётся из соответствующих полигонов области/района.

Ну, ту школу можна й без мультиполігону намалювати. Невеличкий “перешийок” між будівлями зробити.

У адресному пошуку?

Увечорі спробую оновити конвертер.

Та можна… Я тоді позначав мультиполігонами кілька шкіл, що складаються з окремих частин (building:part=yes), то за інерцією і цю мультиполігоном оформив. :slight_smile:

В Навітелі в пошуку - Андріївки лише дві (одна в Балаклійському, одна в Близнюківському районах). Можливо, тому, що лише з ними зв’язані якісь POI (в першій - залізнична зупинка Шебелинка, друга - має полігон і є town’ом). Хоча може, це збіг (я не дуже знаюся на тонкощах роботи Навітелу)…

Ось я про це й кажу. Конвертор вважає декілька різних Андріївок за одну, якщо немає тегу addr:district на точці та полігоні тих Андріївок.

Значить потрібно виправляти конвертер.

Але в MP-файлі їх точки наявні:


; NodeID = 337571161
; population = 50
; place = village
[POI]
Data0=(49.12262,37.11662)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Ізюмський район
[END]

; NodeID = 337523841
; population = 4
; place = village
[POI]
Data0=(50.35137,36.00117)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Золочівський район
[END]

; NodeID = 337575787
; population = 122
; place = village
[POI]
Data0=(49.02168,35.96615)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Сахновщинський район
[END]

; NodeID = 337588048
; population = 137
; place = village
[POI]
Data0=(48.71818,36.31565)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Близнюківський район
[END]

; NodeID = 337566288
; population = 602
; place = village
[POI]
Data0=(49.23351,35.65235)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Кегичівський район
[END]

; NodeID = 337539658
; population = 293
; place = village
[POI]
Data0=(49.94488,37.51556)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Великобурлуцький район
[END]

; NodeID = 337555224
; population = 9705
; place = town
[POI]
Data0=(49.54559,36.61159)
EndLevel=3
Type=0x0800
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Балаклійський район
[END]

; NodeID = 337565895
; population = 47
; place = village
[POI]
Data0=(49.24209,37.81116)
EndLevel=2
Type=0x0b00
Label=Андріївка
City=Y
CityName=Андріївка
CountryName=Україна
RegionName=Харківська область Борівський район
[END]

; WayID = 187258065
; population = 9705
; place = town
[POLYGON]
Data1=(49.5563278,36.6220248),(49.5586532,36.6285222),(49.5529849,36.6377082),(49.5500778,36.6350196),(49.5308867,36.6717635),(49.5191067,36.6598889),(49.5129973,36.646446),(49.5100879,36.6112705),(49.5269604,36.6025327),(49.5353944,36.5743026),(49.5500778,36.5857291),(49.5605425,36.6153034)
EndLevel=3
Type=0x02
Label=Андріївка
DontFind=Y
[END]

І GPSMapEdit сприймає їх як окремі населені пункти:

А які у вас параметри конвертації?
Я пишу

c:\Perl\site\osm2mp\osm2mp.pl  --config c:\perl\site\osm2mp\cfg\addressing-ru.yml --navitel --interchange-3D --addr-interpolation --target-lang=uk --default-lang=uk  --bpoly c:\osm\UA-KHR.poly  --defaultregion="KHR" --defaultcountry="UA" -o c:\OSM\OSM-UA-KHR.mp c:\OSM\UA-KHR.osm

Отримую помилку

Loading configuration...
Error in config file 'c:\perl\site\osm2mp\cfg\addressing-ru.yml' near:

        --- addr_prefixes

Я запускав так:

perl osm2mp.pl --config=cfg\navitel-uk.cfg --navitel --bpoly=UA-poly\Ukraine-Kharkiv.poly --target_lang=uk --default_lang=uk --namelist label=name:uk,name,operator --namelist place=name:uk,name --namelist street=name:uk,name --defaultcountry=UA --output=MP\Ukraine-Kharkiv.mp Ukraine-Kharkiv.osm

osm2mp.pl — рев. 713; конфіги, змінені відносно тих, що на SVN — тут.

Щось в мене “лижі не їдуть” :frowning:
Будиночки-мультиполігони з’явилися, але автоматичної прив’язки населених пунктів до районів та області немає.
Я вже й іншу версію ActivePerl поставив, і заново качав osm2mp, і пробував різні параметри налаштувань - ну ніяк!

А дайте-но конфіги глянути…

А ось такі батніки:

  1. Качаю Україну
c:
cd c:\OSM
erase /f /q c:\OSM\UA.osm.bz2
c:\progra~1\GnuWin32\bin\wget.exe http://data.gis-lab.info/osm_dump/dump/latest/UA.osm.bz2 
if exist UA.osm.bz2 erase UA.osm
if exist c:\OSM\UA.osm.bz2 c:\progra~1\Winrar\winrar e c:\OSM\UA.osm.bz2
pause
  1. Вирізаю Харківську область
c:
cd c:\OSM
c:\osmosis-0.41\bin\osmosis.bat --read-xml file=c:\OSM\UA.osm   --bp file=c:\OSM\UA-KHR.poly --write-xml file=c:\OSM\UA-KHR.osm
pause
  1. Конверчу
c:
cd c:\OSM
c:\Perl\site\osm2mp\osm2mp.pl  --load-settings c:\Perl\site\osm2mp\cfg\addressing-uk.yml --navitel --interchange-3D --addr-interpolation --target-lang=uk --default-lang=uk  --bpoly c:\osm\UA-KHR.poly  --defaultcountry="UA" --defaultregion="KHR" -o c:\OSM\OSM-UA-KHR.mp c:\OSM\UA-KHR.osm
pause

Результат:
У адресному пошуку є країна “Україна”, в якій є регіони KHR, KHR Балаклійський район, KHR Золочівський район і т.д.
Але у свої райони потрапляють лише ті населені пункти, де прописано addr:district

Я пробував не вказувати --defaultcountry=“UA” --defaultregion=“KHR” , але тоді у адресному пошуку взагалі відсутні країна та регіон.

А чому при виклику osm2mp не вказуєте ніякого конфіг-файлу (через –config=)? У мене це navitel-uk.cfg (модифікований navitel-ru.cfg), а в ньому ще прописано підключення інших:

settings: settings-navitel.yml
settings: rename-country.yml
settings: rename-region.yml
settings: addressing-uk.yml

features: preload-areas.yml
features: polish-mp/nodes-navitel.yml
features: polish-mp/ways-lines-navitel.yml
features: polish-mp/ways-areas-navitel.yml
features: polish-mp/ways-roads-navitel.yml

Регіони типу UA-CRH у мене були в mp-файлі, коли я вказував --defaultregion=UA-CRH, а в файлі rename-region.yml не прописав

UA-CRH:
  uk: Чернігівська область
  ru: Черниговская область

Але зараз defaultregion я не вказую, а назви регіонів беруться з полігонів.

Коли вказую --config=cfg\navitel-uk.cfg, воно лається, що не може знайти той файл.
Тоді я вказую повний шлях --config=c:\Perl\site\osm2mp\cfg\navitel-uk.cfg. Воно знаходить той файл, але вже лається на нестачу інших файлів.
Виявилося, що ті файли лежать у cfg-navitel та cfg-navitel\polish-mp
Я скопіював їх звідти до cfg та cfg\polish-mp
Воно вже не лається на нестачу файлів, але все одно не хоче прив’язувати населені пункти до районів згідно з межами

Бінго! Вона працює! Вона - це прив’язка н.п. до районів та області. Достатньо було вказати осмозісу при обрізанні completeWays=yes

Однак, GPSmapEdit ще чомусь лається на 90 “дублів” населених пунктів. І кудись поділися межі районів. І чомусь межа області все одно неповна. :frowning:

UPD: дивно. Після того як я закрив та знову відкрив mp-файл у GPSmapEdit, кордони районів та їхні назви з’явилися. Однак деякі межі районів все одно незамкнені. Цікаво, а як льошин конвертер прив’язував населені пункти до незамкнених полігонів районів? :roll_eyes:

Ті дублі населених пунктів, виявляється таки дійсно дублі :frowning:
Наприклад, у Дергачівському районі є два н.п. “Лещенки”.

Я вказую ще й completeRelations=yes. В mp-файлі після конвертації “чужих” доріг (що заходять на територію інших областей) начебто нема, певно, osm2mp акуратно обрізає їх по полігону з параметра bpoly. Однак треба глянути, як будуть прокладатись міжобласні маршрути.
За підказкою dudka в темі конвертера буду пробувати pbftoosm для вирізки регіонів…

А на сьогодні я вже виклав карту Харківської області для Навітела. http://www.dimonster.w.pw//
Чомусь при дефолтній бітності 24 на нульовому шарі mp-файла (Level0=24) будиночки стають кривими. Збільшив до 26 біт. Але через це розмір файла карти збільшився.

Ну, я теж спробую completeRelations=yes. Побачимо… не допомогло. Кордон області все одно поламаний.

Проверьте, пожалуйста, работу новичка по Водяховке http://www.openstreetmap.org/?lat=49.69511032104492&lon=36.284687519073486&zoom=16