OpenStreetMap

Очень просто. Пример для винды:

Подготовка

  1. Если на компьютере нет Java - установить её
  2. Создать каталог C:\OSM
  3. Скачать osmosis-0.40.1
  4. Распаковать его в C:\OSM - при этом там создастся подкаталог osmosis-0.40.1
  5. Создать подкаталог C:\OSM\plugins
  6. Скачать туда плугин osmrouting-1.2.jar
  7. Проверяем что всё работает запуском osmosis в каталоге C:\OSM:

    C:\OSM>C:\OSM\osmosis-0.40.1\bin\osmosis.bat
    17.11.2012 16:13:38 org.openstreetmap.osmosis.core.Osmosis run
    INFO: Osmosis Version 0.40.1
    ...
    17.11.2012 16:13:41 org.java.plugin.standard.StandardPluginManager activatePlugin
    INFO: plug-in started - OSMRouting@1.2.0
    ...

Osmosis может искать свои плугины в нескольких местах. Тут перечислены места, которые можно использовать. В данном примере используется вариант каталога plugins относительно текущего каталога запуска, поэтому запускать надо именно из каталога C:\OSM, в противном случае плугин найден не будет. Если вам более удобны другие варианты размещения плугинов - вы можете настроить osmosis по своему вкусу.

Фильтрация

  1. Скачиваем интересующий регион в формате pbf на одном из сервисов, например на gis-lab
  2. Запускаем фильтрацию дорожного графа:

    C:\OSM>C:\OSM\osmosis-0.40.1\bin\osmosis.bat –read-pbf region.osm.pbf –lp –build-routing-graph graphLevel=residential minorGraphsAction=drop –write-pbf region.graph.osm.pbf

В этом примере читается содержимое файла region.osm.pbf, фильтруется дорожный граф уровня residential (graphLevel=residential), изолированные области выкидываются (minorGraphsAction=drop), а результат записывается в выходной файл region.graph.osm.pbf.

Результат можно открыть в JOSM и проверить. Только будьте осторожны - на больших регионах JOSM может тормозить и требовать много памяти.

Discussion

Comment from The Godfather on 23 November 2012 at 14:54

Просьба исправить 5-й пункт. Плагины надо класть не в папку с программой, а (в случае Win7) в “C:\Users\%USERNAME%\AppData\Roaming\Openstreetmap\Osmosis\Plugins”

Comment from Sergey Astakhov on 23 November 2012 at 16:40

А я и не писал что надо в папку с программой - osmosis ищет плугины в нескольких местах, в том числе и в подкаталоге plugins текущего каталога запуска. В примере выбран именно этот вариант как самый простой.

Тут перечислены места, которые можно использовать: http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage#Plugin_Tasks

Comment from The Godfather on 25 November 2012 at 12:06

в том числе и в подкаталоге plugins текущего каталога запуска Текущего! А вы предлагаете куда класть? “C:\OSM\plugins”, цитирую. Когда каталог запуска - “C:\OSM\bin". Я долго не мог понять, почему у меня не работает, хотя все сделано по инструкции. А оказалось, что у вас ошибка.

Comment from The Godfather on 25 November 2012 at 12:09

Или даже ““C:\OSM\osmosis-0.40.1\bin"

Comment from Sergey Astakhov on 25 November 2012 at 14:32

Ошибки в тексте нету. Вот специально же написано, что запускать надо из C:\OSM, даже в примерах преднамеряно оставил приглашение, чтобы было виднее, и всё равно кто-то понял неправильно. Я не знаю как написать понятнее - написать большими красными буквами?. Или расписать весь алгоритм поиска плугинов osmosis-ом? Боюсь, тогда это не будет простой инструкцией… :)

Comment from Sergey Astakhov on 25 November 2012 at 21:03

Добавил комментарий про текущий каталог. Надеюсь, так будет понятнее.

Log in to leave a comment