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.***

#3876 2012-02-25 09:24:23

SegMar
Member
From: Grodno
Registered: 2009-08-17
Posts: 31

Re: Конвертация OSM в Navitel

dimuzz wrote:

SegMar wrote:
1. А в навителе могут отображаться отдельно стоящие деревья?
Например стоит в поле дуб, я его нанес на карту (natural=tree) и он отображается зеленой точкой на карте OSM, а в навителе нет.
Они и отображаются, как "Отдельно стоящее дерево (0xf404, точка)", видны на масштабах до 120 м при средней детализации.

Поставил максимальную детализацию, приблизил до максимума - дерева нет.

Offline

#3877 2012-02-25 09:26:51

SegMar
Member
From: Grodno
Registered: 2009-08-17
Posts: 31

Re: Конвертация OSM в Navitel

borism346 wrote:

Обновил карту Беларуси

Спасибо, сча посмотрим. Когда ты только успел?

Offline

#3878 2012-02-25 09:30:20

borism346
Member
From: Minsk
Registered: 2008-11-12
Posts: 911

Re: Конвертация OSM в Navitel

SegMar, ну раз просили... smile

Offline

#3879 2012-02-25 09:37:24

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,843

Re: Конвертация OSM в Navitel

Может быть, так настроен фильтр POI?
Навскидку, вот тут в НН 3.2.6 отлично видны все деревья.

Offline

#3880 2012-02-25 09:43:55

borism346
Member
From: Minsk
Registered: 2008-11-12
Posts: 911

Re: Конвертация OSM в Navitel

C отдельными деревьями все понятно. Просто dimuzz говорил про российские конфиги, а я конвертил с белорусскими, которые tibman делал. Оказывается у него деревья были закомменчены. Снял пометку. Теперь будут, но уже в следующей сборке smile.

Offline

#3881 2012-02-25 15:53:22

dedNikifor
Member
From: Белгород
Registered: 2009-09-11
Posts: 3,419

Re: Конвертация OSM в Navitel

К примеру какая нибудь территория водозабора или очистных сооружений нарисована в виде площади и имеет название, но в поиске его так не найти.
Если еще поставить точку с таким названием, то в поиске находит, но тогда на карте вылазит 2 одинаковых названия.
Остается только не указывать название в площади.

а вам еще никто не говорил, что рисовать под навигатор - один из смертных грехов в осм?

Offline

#3882 2012-02-25 16:06:52

Zkir
Member
From: Хрустальная Москва
Registered: 2009-02-21
Posts: 6,110

Re: Конвертация OSM в Navitel

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


Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.

Offline

#3883 2012-02-27 15:33:09

Ильин Роман
Member
Registered: 2011-02-01
Posts: 280
Website

Re: Конвертация OSM в Navitel

Господа подскажите, что за ошибка??

Processing ways...       
"\x{d604}" does not map to cp1251 at osm2mp.pl line 3263, <$_[...]> line 10901048.
"\x{b300}" does not map to cp1251 at osm2mp.pl line 3263, <$_[...]> line 10901048.

и что сделать? спасибо!

Offline

#3884 2012-02-27 23:34:31

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Конвертация OSM в Navitel

Ильин Роман wrote:

Господа подскажите, что за ошибка??

Processing ways...       
"\x{d604}" does not map to cp1251 at osm2mp.pl line 3263, <$_[...]> line 10901048.
"\x{b300}" does not map to cp1251 at osm2mp.pl line 3263, <$_[...]> line 10901048.

и что сделать? спасибо!

Насколько помню, ничего страшного. Просто эти символы не были найдены в cp1251 и соответственно не могут быть им интерпретированы. Могу посоветовать использовать --namelist label=name:ru,name
Если не прав, поправьте.

Offline

#3885 2012-02-28 14:29:11

Ильин Роман
Member
Registered: 2011-02-01
Posts: 280
Website

Re: Конвертация OSM в Navitel

Paspartu wrote:
Ильин Роман wrote:

Господа подскажите, что за ошибка??

Processing ways...       
"\x{d604}" does not map to cp1251 at osm2mp.pl line 3263, <$_[...]> line 10901048.
"\x{b300}" does not map to cp1251 at osm2mp.pl line 3263, <$_[...]> line 10901048.

и что сделать? спасибо!

Насколько помню, ничего страшного. Просто эти символы не были найдены в cp1251 и соответственно не могут быть им интерпретированы. Могу посоветовать использовать --namelist label=name:ru,name
Если не прав, поправьте.


спасибо, но не помогло. тоже самое в том же месте

Offline

#3886 2012-02-28 14:34:37

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Конвертация OSM в Navitel

А какой регион конвертируете? Наверное, который граничит с другой страной?

Offline

#3887 2012-02-28 15:23:46

Ильин Роман
Member
Registered: 2011-02-01
Posts: 280
Website

Re: Конвертация OSM в Navitel

Paspartu wrote:

А какой регион конвертируете? Наверное, который граничит с другой страной?

нет, Архангeльская область
у меня cp нигде не прописана...

Last edited by Ильин Роман (2012-02-28 15:24:28)

Offline

#3888 2012-02-28 16:10:22

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Конвертация OSM в Navitel

Конвертация osm в navitel с отдельным файлом роутинга на примере Приморского края. О пользе отдельного файла роутинга можно почитать здесь.

dimuzz wrote:

1. Устанавливаем Active Perl со всеми необходимыми модулями, как описано в http://wiki.openstreetmap.org/wiki/RU:O … B5_Windows

Скачиваем GPSMapEdit. Если выбрали версию без инсталлятора, то разархивируем в любое место и запускаем один раз mapedit.exe, что бы прописались пути в реестре.
2. создаём папку, например prim, и складируем все файлы в ней

+
http://osm2mp.googlecode.com/svn/trunk/ … p1251.cmap
Что бы каждый раз не копировать эти файлы вручную (при их обновлении на сервере), можно использовать TortoiseSVN
Также рекомендую немного отредактировать getbound.pl: найти в нём строчку $ua->timeout( 60 ); и поменять её на $ua->timeout( 300); так получение poly файла будет более стабильным.
3. В созданной нами папке prim
3.1 создаём файл main.bat с содержимым

del *.bak
del *.htm
Start /Wait wget.bat
Start /Wait size.vbs
If Exist log.txt Exit /B
Start /Wait 7z.bat
Start /Wait getbound.bat
Start /Wait poly.vbs
Start /Wait osm2mp.bat
Start /Wait osm2mp_rt.bat
Start /Wait mp-postprocess-navitel.bat
Start /Wait ConvertToNM2.vbs
exit

3.2 создаём файл wget.bat с содержимым

wget -N http://data.gis-lab.info/osm_dump/dump/latest/RU-PRI.osm.bz2 -olog.txt
exit

качаем http://www.interlog.com/~tcharron/wgetw … binary.zip из архива нам нужен wget.exe, который разархивируем в ту же папку prim
данный батник закачивает последний osm файл нужного нам региона, причём если файл не изменился, то он его закачивать не будет.
3.3 создаём файл size.vbs с содержимым

Dim objFso
Dim f
Set objFso = CreateObject("Scripting.FileSystemObject")
Set f = objFso.GetFile("log.txt")
if f.size > 600 then f.delete

данный скрипт нужен для автоматизации, т.е. если файл не изменился то и конвертировать ничего не надо. Размер в 600 байт выбран методом "научного тыка", т.е. wget в случае закачки создаст log.txt размером больше 600 байт, если не закачал (файл не изменился), то файл log.txt будет размером меньше 600 байт.
3.4 создаём файл 7z.bat с содержимым

7za e prim.osm.bz2 -y
exit

качаем http://downloads.sourceforge.net/sevenzip/7za920.zip, 7za.exe из архива также разархивируем в папку prim.
3.5 создаём файл getbound.bat с содержимым

getbound.pl prim > prim.poly
exit

Очень рекомендую запустить данный батник и проследить, что бы poly файл создался.
3.6 Очень часто бывает, что poly файл в силу разных причин не создаётся (поломали релейшн, нет связи с osm и т.д. и т.п.) поэтому у меня в запасе есть более старый poly файл.
создаём файл poly.vbs с содержимым

Dim objFso
Dim f
Const OverwriteExisting = True

Set objFso = CreateObject("Scripting.FileSystemObject")

Set f = objFso.GetFile("prim.poly")

if f.size <> 0 then
objFSO.CopyFile "c:\gps\update\OSM\prim\prim.poly" , "c:\gps\update\OSM\POLY\", OverwriteExisting
Else
objFSO.CopyFile "c:\gps\update\OSM\POLY\prim.poly" , "c:\gps\update\OSM\prim\", OverwriteExisting
end if

Т.е. когда запустили getbound.bat и получили рабочий poly файл то сохраняем его в папке poly. И если при конвертации закачка poly файла будет неудачной то он будет взят из папки poly, а если закачка будет удачной то он там сохранится как более свежая версия.
3.7 файл osm2mp.bat, с ним всё более интересно. Можно не извращаться и создать его в таком виде

osm2mp.pl --config=navitel.yml --textfilter PrepareCP1251 --namelist label=name:ru,name --defaultcountry=RU --defaultregion="prim" --bpoly=prim.poly RU-PRI.osm > RU-PRI.mp
exit

Можно же немного поизвращаться и создать в виде

chcp 65001
osm2mp.pl --config=navitel.yml --textfilter PrepareCP1251 --namelist label=name:ru,name --defaultcountry=RU --defaultregion="Приморский край" --bpoly=prim.poly RU-PRI.osm > RU-PRI.mp
exit

но...
а. его нужно сохранить, например с помощью программы Notepad++ в кодировке utf-8
б. например с помощью программы XVI32 удалить первые 3 hex-символа (EF BB BF), зато потом можно использовать в --defaultregion любые символы, чем я и пользовался когда конвертировал Украину.
3.8 создаём файл osm2mp_rt.bat с содержимым

osm2mp.pl --config=navitel-rt.yml --nobackground --bpoly=prim.poly RU-PRI.osm > RU-PRI_rt.mp
exit

3.9 создаём файл mp-postprocess-navitel.bat с содержимым

mp-postprocess-navitel.pl RU-PRI.mp --killrouting --noshorten
mp-postprocess-navitel.pl RU-PRI_rt.mp --fixrouting --noshorten
exit

Если будут ошибки роутинга, то постпроцессор попытается их исправить и запишет их в файл RU-PRI_rt.mp.err.htm. Если же постпроцессор не смог исправить все ошибки, то на последующем шаге конвертация вылетит и ошибки придётся исправлять вручную по этому методу.
3.10 создаём файл ConvertToNM2.vbs с содержимым

Option Explicit
On Error Resume Next
Dim a
Set a = CreateObject ("GPSMapEdit.Application.1")
a.MinimizeWindow
Dim fso
Set fso = CreateObject ("Scripting.FileSystemObject")
Dim strRoot
strRoot = fso.GetAbsolutePathName (WScript.ScriptFullName + "\..\")
Dim pMapsFolder
Set pMapsFolder = fso.GetFolder (strRoot)
Dim pFile
For Each pFile In pMapsFolder.Files
	Dim strExt
	strExt = LCase (fso.GetExtensionName (pFile.Path))
	If strExt = "img" Or strExt = "ntm" Or strExt = "rus" Or strExt = "mp" Then
		a.Open pFile.Path, False

		Dim strOutFile
		strOutFile = fso.GetParentFolderName(pFile.Path) + "\" + fso.GetBaseName (pFile.Path) + ".nm2"
		a.SaveAs strOutFile, "navitel-nm2"
	End if
Next
a.Exit

Соответственно для конвертации нужно запустить main.bat
Данный скрипт у меня работал на WinXP SP3, а сейчас успешно работает под Win7.

Last edited by Paspartu (2012-02-28 16:42:13)

Offline

#3889 2012-03-01 10:26:46

Ильин Роман
Member
Registered: 2011-02-01
Posts: 280
Website

Re: Конвертация OSM в Navitel

to Paspartu:
спасибо, все перепробовал, ошибка одна и та же.
Што там за символы нечитаемые непонятно!

при попытке использовать cp1251
выдает вот такую ошибку
Can't locate PerlIO/via/PrepareCP1251.pm in @INC (@INC contains: C:/Perl64/Navitel_Convert/___test C:/Perl64/site/lib C:/Perl64/lib .) at (eval 147) line 2.

где его взять и куда положить подскажите пжлста

Offline

#3890 2012-03-01 10:49:12

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Конвертация OSM в Navitel

Offline

#3891 2012-03-01 11:42:11

Ильин Роман
Member
Registered: 2011-02-01
Posts: 280
Website

Re: Конвертация OSM в Navitel

Paspartu wrote:

скачал. спс.
ОШИБКА ОСТАЛАСЬ!  ну что же это такое то блин!

а можно как то вычислить, что это за символы и где они?

Last edited by Ильин Роман (2012-03-01 12:05:42)

Offline

#3892 2012-03-01 12:51:47

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Конвертация OSM в Navitel

Только что отконвертировал, не одной ошибки.

Offline

#3893 2012-03-01 15:59:14

Ильин Роман
Member
Registered: 2011-02-01
Posts: 280
Website

Re: Конвертация OSM в Navitel

Paspartu wrote:

Только что отконвертировал, не одной ошибки.

вот я и не понимаю, с чем это связано

Offline

#3894 2012-03-01 23:27:49

paavolobja
Member
From: Saint-Petersburg
Registered: 2011-03-08
Posts: 155

Re: Конвертация OSM в Navitel

Тук, тук, тук!
Простите, что помешал, но можно ли как-нибудь обновить Финляндию, все-таки? А?

Offline

#3895 2012-03-02 03:45:17

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Конвертация OSM в Navitel

paavolobja wrote:

Тук, тук, тук!
Простите, что помешал, но можно ли как-нибудь обновить Финляндию, все-таки? А?

Финляндия 54224
1 Лапландия 1724359
2 Похьойс-Похьянмаа 1724360
3 Кайнуу 1997164
4 Похьойс-Карьяла 1999428
5 Северное Саво 918898
6 Этеля-Саво 918897
7 Этеля-Похьянмаа 1702263
8 Похьянмаа 2000320
9 Пирканмаа 1701741
10 Сатакунта 2000361
11 Кески-Похьянмаа 1702330
12 Центральная Финляндия 1701740
13 Варсинайс-Суоми 38092
14 Этеля-Карьяла ?
15 Пяйят-Хяме 1703362
16 Канта-Хяме 1473990
17 Уусимаа 37355
18 Кюменлааксо ?
19 Аландские острова 1650407
Fortress начал рисовать границу между оставшимся областями, но почему то остановился.
Я могу настроить конвертацию, но т.к. Вы явно лучше меня знаете Финляндию, Вам задача - дорисовать границу между оставшимся областями.

Last edited by Paspartu (2012-03-02 04:02:36)

Offline

#3896 2012-03-02 05:55:50

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: Конвертация OSM в Navitel

Было свободное время как раз хотел пересобрать Финляндию по всем правилам. Начал рисовать границы. Времени не хватило, поэтому пока зависло...

Offline

#3897 2012-03-02 14:23:12

dedNikifor
Member
From: Белгород
Registered: 2009-09-11
Posts: 3,419

Re: Конвертация OSM в Navitel

Fortress wrote:

Было свободное время как раз хотел пересобрать Финляндию по всем правилам. Начал рисовать границы. Времени не хватило, поэтому пока зависло...

надо тебе подготовить to-do список для желающих помочь, но незнающих чем
тогда, глядишь, и дело пойдет быстрее

Offline

#3898 2012-03-03 13:39:06

paavolobja
Member
From: Saint-Petersburg
Registered: 2011-03-08
Posts: 155

Re: Конвертация OSM в Navitel

dedNikifor wrote:

надо тебе подготовить to-do список для желающих помочь, но незнающих чем
тогда, глядишь, и дело пойдет быстрее

Это да.

Offline

#3899 2012-03-03 15:42:24

Pavlo
Member
From: Снежинск
Registered: 2010-01-31
Posts: 150

Re: Конвертация OSM в Navitel

А что можно сделать, чтобы мусульманские и православные кладбища отображались по-разному? Сейчас они отображаются одинаково - тип, вроде, 0x1a .... т.е. тэг religion = muslim не учитывается..?

Last edited by Pavlo (2012-03-03 15:44:29)

Offline

#3900 2012-03-03 20:44:50

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,843

Re: Конвертация OSM в Navitel

Pavlo wrote:

А что можно сделать, чтобы мусульманские и православные кладбища отображались по-разному? Сейчас они отображаются одинаково - тип, вроде, 0x1a .... т.е. тэг religion = muslim не учитывается..?

Чтобы отображались по-разному - никак. НН не поддерживает кастомных типов.
Религию в принципе можно дописывать в примечание (Text), но оно будет видно только при просмотре полной информации об объекте.

Offline

Board footer

Powered by FluxBB