Привет, незнакомец!

Похоже, вы здесь новенький. Чтобы принять участие, нажмите одну из кнопок ниже!

Опубликована бета версия 1.81.1175
Версия winnt https://navikey.ru/files/7w/beta/7ways-nt-1175.zip
Версия wince-arm https://navikey.ru/files/7w/beta/7ways-wince-arm-1175.zip
Версия linux-arm https://navikey.ru/files/7w/beta/7ways-linux-arm-1175.zip
Версию android можно получить на странице приложения в Google Play https://play.google.com/store/apps/details?id=com.navikey.seven_ways подписавшись на бета тестирование
Группа в Telegam (https://t.me/navikey)
Поддержка пользователей и общение.

Так-же запущена поддержка пользователей в Telegam (https://t.me/navikey_support_bot)
Запущен новостной блог http://blog.navikey.org/
В блоге публикуются сообщения о текущих работах и планах.
Доступна RSS подписка на новости.

NavikeyOSMSplitter

отредактировано December 2014 Раздел: Программы
ОС Linux
$ osm2mp/navikeysplitter32
Navikey OSM splitter 1.05.28
Usage: splitter [options] file.pbf

1. Поясните назначение (возможные значения) ключа (--admin-level|-al). В чем отличия от ключа (--process-outer | - po)? Как включить: --process-outer=ON или просто --process-outer?

2. Как подружить navikeysplitter с --poly-file?
Пример 1 - South East England (151304) - UKJ
osm2mp/navikeysplitter32 -mn=3200000 --admin-level -o=MAPS/GB-ENG/OSM/UKJ -p=MAPS/GB-ENG/POLY/GB-UKJ.poly MAPS/GB-ENG/PBF/england-latest.osm.pbf
На выходе = 12 файлов нарезки. Из них только 4 полноразмерных, 2 половинчатых, 6 по 10-12 кВ.
Пример 2 - South West England (151339) - UKK
osm2mp/navikeysplitter32 -mn=3200000 -o=MAPS/GB-ENG/OSM/UKK -p=MAPS/GB-ENG/POLY/GB-UKK.poly MAPS/GB-ENG/PBF/england-latest.osm.pbf
На выходе = 82 файла нарезки. Из них 4 полноразмерных, 6 = 1-6 мегабайт, остальные 2-500 килобайт.
Пример 3
osm2mp/navikeysplitter32 -mn=3200000 --admin-level --process-outer -o=MAPS/GB-ENG/OSM/UKJ -p=MAPS/GB-ENG/POLY/GB-UKJ.poly MAPS/GB-ENG/PBF/england-latest.osm.pbf
44 файла нарезки. Имена у файлов нарезки разделились на две категории...
Тэги темы:

Комментарии

  • OC Windows 7 (64) аналогичная ситуация (область 349036)
    NavikeySplitter64.exe -mn=3200000 -o=D:\7W\ES\OSM -p=D:\7W\ES\POLY\ES-GA.poly D:\7W\ES\PBF\spain-latest.osm.pbf
    Нарезка из 181 файла. Но реальных два полноразмерных файла - 115й и 180й.
    P.S. Прикрепленные файлы переименованы в txt...
  • У меня вполне нормально режется. Бывают и небольшие файлики, но не в таких количествах. Недавно делал жене Швецию, резал так:
    Splitter64.exe -mn=2000000 -p=reg.52822.poly sweden-latest.osm.pbf
    В итоге получилось:

    <img src="/vanilla/uploads/FileUpload/0/900.jpg" />
  • borism346 сказал: Splitter64.exe
    Я о последней версии Navikey OSM splitter 1.05.28 - NavikeySplitter64.exe
    Ваш какого роду-племени (версия)?
  • отредактировано December 2014
    Вначале посмотрел, что у меня сплиттер 1.05.28. Но, как оказалось, я его не поменял в рабочем каталоге :) . Там был 1.04.25, им и резалось.

    P.S. Под рукой оказался .pbf Беларуси, проверил на нем. Оба сплиттера дали одинаковый результат, разбили на части примерно одинакового размера.
  • Если не трудно попробуйте резануть по одному из моих примеров.
    У меня проблема появляется если брать большую территорию (скажем Англию, Испанию), выхватить из неё административную единицу применив POLY, при этом поделить эту единицу на более мелкие части. Не важно выходные файлы PBF или OSM.
    Стоит убрать ключ (-p) - нарезка идет штатно, на равные полноценные куски без довесков и большого количества мусора. ;)
  • отредактировано December 2014
    Мне кажется что splitter сначала режет (размечает) всю территорию (страну в данном случае). Создает файлы заготовки для частей. Затем на основе poly-файла наполняет только части нарезки попавшие в его границы.
    Если это так, то это не удобно. Будет ли стабильной нарезка? Сегодня это 115-й и 180-й файл нарезки, а завтра может будет 114-й и 179-й (как у меня только что получилось в варианте с выходом в PBF):
    osm2mp/navikeysplitter32 -mn=3200000 --pbf -o=MAPS/ES/PBF -p=MAPS/ES/POLY/ES-GA.poly MAPS/ES/PBF/spain-latest.osm.pbf 8-|
  • White_54 сказал: Мне кажется что splitter сначала режет (размечает) всю территорию (страну в данном случае). Создает файлы заготовки для частей. Затем на основе poly-файла наполняет только части нарезки попавшие в его границы.
    Сделал нарезку Беларуси по ее границе, получил 8 файлов (внутри показана граница Минской области):
    <img src="/vanilla/uploads/FileUpload/1/901.jpg" />
    Вырезал Минскую область по ее границе, получил 2 файла:
    <img src="/vanilla/uploads/FileUpload/2/902.jpg" />
    b1.jpg 37.5K
    b2.jpg 15.6K
  • отредактировано December 2014
    Взял Испанию, запустил Splitter с границами Галисии ((349036, ES-GA Galicia Galizia)
    NavikeySplitter64.exe -v -mn=3200000 -o=D:\7W\ES\OSM\ES-GA -p=D:\7W\ES\POLY\ES-GA.poly D:\7W\ES\PBF\spain-latest.osm.pbf
    получил 180 файлов нарезки - 179 и 114 боевые.
    <img src="/vanilla/uploads/FileUpload/5/905.jpg" />

    Я не вижу вашей командной строки, но мне кажется во втором случае вы взяли pbf-Минской области и poly-Минской области?! Надо взять pbf-страны Белоруссии, а poly-области.
  • Я ж показал сначала нарезку Беларуси целиком. Внутри показал расположение в ней Минской области, которую потом порезал отдельно уже по ее границе из того же файла pbf.
  • Тогда это проблема работы Splittera с большими файлами Poly?!
    Как очередное предположение. Другого объяснения не нахожу.

    В моих примерах файлы поли /ES-GA=1,4MB/, /GB-UKK=3,6MB/, /GB-UKJ=1,7MB/
    Минская область действительно вырезается без мусора, но её файл границ всего = 78kB...
    Сейчас экспериментирую нарезку других территорий Испании. С маленькими файлами границ = всё нормально, а вот ES-GA (Галисия) упорно сыпет мусором.
    Как раз сейчас нарезается ES-CT - Каталония (349053), poly = 1,1МВ. Тоже полез мусор!
    Раньше вообще нарезка завершалась аварийно.

    1. Собственно первый вопрос и планировался - "Как подружить NavikeyOSMSplitter с большими файлами POLY"?
    2. Так же остается вопрос-разъяснение - назначение (возможные значения) ключа (--admin-level|-al). В чем отличия от ключа (--process-outer | - po)? Как включить: --process-outer=ON или просто --process-outer?

    Может разработчики (их представители) после выходных что то пояснят.

  • Граница Беларуси у меня 503 Кб, а граница Италии, которую я резал, была 1,22 Мб.
  • Эксперимент будет чист если вы без проблем порежете - Галисия (Galicia) - 349036 - ES-GA:
    wget -P MAPS/ES/PBF -N -F http://download.geofabrik.de/europe/spain-latest.osm.pbf
    perl osm2mp/getbound/trunk/getbound.pl 349036 -o MAPS/ES/POLY/ES-GA.poly -onering
    Вот таким макаром:
    osm2mp/navikeysplitter32 -mn=3200000 --admin-level -o=MAPS/ES/OSM/ES-GA -p=MAPS/ES/POLY/ES-GA.poly MAPS/ES/PBF/spain-latest.osm.pbf
  • Сплиттер дает 177 файлов. Там очень сильно изрезана береговая линия и куча мелких островов. Каждый островок сплиттер делает отдельным файлом. Если вырезать целиком эту область, размер .osm получается 1,14 Гб.
  • Мелкие файлы, почти 100% итог того, что POLY файл содержит в себе контура островов отдельно (что в общем верно с точки зрения OSM). Этого можно избежать подготовив poly таким образом, чтобы острова вошли в одну зону. Пока, сплиттер сам, этого сделать не сможет.
    Что касается ключей:
    --admin-level|-al - выпишет в файл релейшены с указанным admin-level, встречающимися в вырезаемой области (удобно для поиска внутренних районов)
    --process-outer - нужно просто указать - без =ON, тогда все, что не попадет в указанные границы - будет выгружено в отдельный файл, и разрезано в соответствии указанному кол-во узлов - т.е. если вы дадите на вход планету, и будете вырезать Ватикан - то получите нарезку всей планеты + отдельно Ватикан.
    White_54 сказал: Собственно первый вопрос и планировался - "Как подружить NavikeyOSMSplitter с большими файлами POLY"?
    Размер файла POLY не имеет значения...
    По поводу стабильности нарезки:
    Это можно получить, запустив нарезку первый раз с параметрами, ограничивающими куски карты по узлам - а потом на вход давать файл areas.poly, без ограничения по узлам - участки будут стабильно с одними границами.

    А вообще сплиттер ждет конструктивной критики и пожеланий и будет модифицироваться под нужды...
    В планах выписка POLY в отдельные файлы, и создание "морских" объектов с обрезкой по границе для островных и береговых государств...
    Ждем пожеланий!
  • naInfo сказал: В планах выписка POLY в отдельные файлы
    Вот это давно жду :)
  • отредактировано December 2014
    naInfo сказал: а потом на вход давать файл areas.poly
    Действительно выход. Как пример -
    http://www.navikey.ru/vanilla/discussion/comment/8173#Comment_8173
    В итоге получим стабильно файлы нарезки - 179 и 114. А если подправить areas.poly, то и имена и количество нарезки будут не столь устрашающее.
    Спасибо.
  • borism346 сказал: Я, обычно, использую NavikeyOSMSplitter для получения poly-файлов, если нужно порезать что-то большое. А дальше режу осмосисом.
    Это то о чем мне не известно:
    - из чего
    - каким образом (пример командной строки)
    - в каких случаях
    можно получить поли файлы при помощи NavikeyOSMSplitter?
  • А они получаются сразу при обычной нарезке, если посмотрите, то найдете файл areas.poly. Давно прошу добавить возможность сразу выписывать .poly в отдельные файлы. А так приходится руками вытаскивать. А делать так стал после того, как не удалось нормально сделать карту Италии. Сначала порезал осмосисои по границам областей и не увидел моря. Оказалось, границы областей в Италии его не включают. Тогда порезал NavikeyOSMSplitter и также моря не увидел. Но когда по полученным NavikeyOSMSplitter границам порезал осмосисом, получил все что нужно :) .
  • отредактировано December 2014
    Очень было удобно:
    - NavikeyOSMSplitter = и нарезать, и сразу преобразовать PBF в OSM.
    Масса программ исключается из процесса:
    - osmconvert
    - splitter.pl из набора osm2mp
    - тот же osmosis
    К сожалению оказалось не так всё радужно, ошибки в значительном количестве (см. http://www.navikey.ru/vanilla/discussion/454/osm2mp/p1) полезли при работе osm2mp:
    = Use of uninitialized value in string eq at osm2mp/osm2mp.pl line 323.
    Use of uninitialized value in string eq at osm2mp/osm2mp.pl line 319.
    156 turn restrictions
    = Use of uninitialized value in pattern match (m//) at osm2mp/osm2mp.pl line 484.
    280 transport stops
    = Use of uninitialized value $role in pattern match (m//) at osm2mp/osm2mp.pl line 405.
    2235 houses with associated street
    и как не странно, но время обработки карт в osm2mp после применения NavikeyOSMSplitter увеличивается до двух раз (опять же надо еще тестировать, перепроверять).
    Придется в очередной раз менять тактику сборки карт менять, искать обходные пути, а может и изучать osmosis.
  • отредактировано December 2014
    Я думаю, osmconvert уже по основным параметрам подтянулся к osmosis. Хотя, я по старой памяти пользуюсь osmosis.
  • White_54 сказал: NavikeyOSMSplitter = и нарезать, и сразу преобразовать PBF в OSM.
    ключ
    --pbf или --xml по умолчанию если не указывать --pbf -будет записывать в OSM
  • Просьба-предложение!!!

    - В процессе нарезки формируются файлы нарезки в теле имени которых присутствует индекс нарезаемого объекта - "Relation 349044_000000.osm.pbf"

    - Кроме этого формируются файлы - "areas.poly", "areas.mp"

    Ощутил реальную нехватку индекса в теле последних файлов!
    Хотелось бы иметь следующее:
    - "Relation 349044_areas.poly",
    - "Relation 349044_areas.mp"

    Спасибо.
  • Техническое обновление NavikeyOSMSplitter выложено по адресу http://www.navikey.ru/files/7w/tech/NavikeyOSMSplitter.zip
    Версия 1.06.34
    - Исправлено ошибочное поведение при нарезке некоторых областей.
  • Актуальная версия 1.09.48 (Linux32)- попробовал поискать возможные преимущества для себя.
    Не смог запустить - не хватает памяти. С 2-мя ГБ оперативки Московский регион завершается безрезультатно. Ключики повертел. Не помогло.
  • White_54 написал: »
    Актуальная версия 1.09.48 (Linux32)- попробовал поискать возможные преимущества для себя.
    Не смог запустить - не хватает памяти. С 2-мя ГБ оперативки Московский регион завершается безрезультатно. Ключики повертел. Не помогло.

    Если позволяют размеры poly файлов - пришлите их, или ссылку на них на support@navikey.ru
  • botanegg написал: »
    Если позволяют размеры poly файлов - пришлите их, или ссылку на них на support@navikey.ru
    Действительно. NavikeyOSMSplitter начал работу с самого большого POLY = 383кБ.
    ~/7W $ osm2mp/NavikeyOSMSplitter32 -r=512 -o=MAPS/MOS/PBF -p=MAPS/MOS/POLY -v MAPS/MOS/PBF/RU-MOS.osm.pbf
    Navikey OSM splitter 1.09.48
    
    21:17:08.8238: Load poly-files...
    Area "RU-MOW01" intersects with "RU-MOS01"...
    Out of memory.
    ~//7W $
    

    Принудительный выбор POLY2 = 220кБ позволил начать процедуру.
    ~/7W $ osm2mp/NavikeyOSMSplitter32 --pbf -o=MAPS/MOS/PBF -p=MAPS/MOS/POLY/RU-MOS02.poly -v MAPS/MOS/PBF/RU-MOS.osm.pbf
    Navikey OSM splitter 1.09.48
    
    21:27:58.8436: Load poly-files...
    21:27:58.8518: Read nodes...
    21:28:00.0293: 1600000 nodes
    21:28:02.2076: 3200000 nodes
    21:28:04.3717: 4800000 nodes
    21:28:05.5283: 6400000 nodes
    21:28:07.6841: 8000000 nodes
    21:28:08.8390: 9600000 nodes
    21:28:10.9881: 11200000 nodes
    21:28:11.1449: 12800000 nodes
    21:28:13.3005: 14400000 nodes
    21:28:14.4457: 15892464 nodes total
    Out of memory.
    ~/7W $
    

    Так же аварийно завершилась работа с POLY3 = 153кБ.
    И только POLY = 106кБ отработало.
    POLY - отправляю.
  • botanegg написал: »
    Если позволяют размеры poly файлов - пришлите их, или ссылку на них на support@navikey.ru
    Важнее в этом случае нарезка не по POLY. Если есть POLY, то считай пол дела сделано. А вот чистая нарезка исходника без POLY могла бы позволить оперативно реагировать (точнее не реагировать) на всё возрастающий объём исходника.
    Однако и такая попытка завершается "Out of memory".
    Без апгрейда железяки всё равно не обойтись. 2ГБ оперативки сегодня это неприлично мало.
Войдите или Зарегистрируйтесь чтобы комментировать.