Oms карты. Карты проекта OpenStreetMap

В этой статье я поделюсь простыми и удобными инструментами (картами и программами), которыми пользуюсь сам, для планирования своих несложных пеших маршрутов и навигации по ним в процессе.


Неудобства топографических карт генштаба

Топографические карты генштаба (как правило бумажные или уже отсканированые) хороши, так как предоставляют качественную стардартизированную информацию о местности. Но не всегда возможно достаточно детальные карты. И ими невозможно пользоваться «по-быстрому», открыв карты на компьютере или в смартфоне. Они не представлены целиком и каждый район приходиться искать индивидуально и заранее.

Исполнив определенный танец с бубном, можно самому привязать скан карты к координатам в специальных программах и загрузить в навигатор. Но опять же, это нужно делать заранее, нужен навигатор, умение и время. А если вы решили просто прогуляться на отдыхе по огромному парку или вдруг заблудились где то на природе (особенно в горной местности) и хотите найти тропу? В такой ситуации установленное один раз приложение на смартфон вас наверняка выручит.

Кроме того, есть и другие плюшки отсутствующие в топографических картах, о которых я расскажу дальше.

Тем не менее, стоит упомянут хороший сервис соединивший карты генштаба в объединенную онлайн карту - Маршруты.ру . Но пока так и не нашел таких карт в приложениях на смартфонах.


- современные топографические карты

Для себя я давно нашел замену покрывающую большинство моих целей (несложный трекинг). Это карты построенные на основе данных OpenStreetMap (OSM).

Это открытые некоммерческие онлайн карты всего мира созданные совместно участниками данного проекта.
Для создания карт используются данные с персональных GPS-трекеров, аэрофотографии, видеозаписи, спутниковые снимки и панорамы улиц, предоставленные некоторыми компаниями, а также участниками проекта.

Фактически - это данные об объектах, создаваемые огромным сообществом людей различными способами. А карты на основе этих данных может свободно строить кто угодно.

Так чем OSM лучше топографических картгенштаба?

  1. Полнотой охвата. Они представляют весь мир .
  2. Детальностью и точностью предоставленной информации о местности и расположению объектов.
  3. Пешеходные тропы . Большое количество точной информации о пешеходных тропах на основе GPS-трекеров. Причем именно это позволяет использовать карту для непосредственной навигации по тропам. А если вы попали в условия неожиданно выпавшего снега и заметенной тропы, плохой видимости, такая информация поможет найти потерянную тропу. Меня это спасало не раз.
  4. Множество простых в использовании программ и сервисов для всевозможных устройств и операционных систем использующих эти карты. Все благодаря открытой лицензии. Большинство из них предоставляют возможность сохранения карт в офф-лайне на вашем устройстве для навигации на местности без использования интернета.
  5. Возможность экспорта карт во всевозможные форматы. Будь то PNG, JPEG, SVG, PDF, PostScript или даже Garmin и польский формат для других программ навигации.
  6. Некоторые программы и сервисы накладывают на эти карты данные из других карт и источников дополняя информацию и функционал . Например, данные из Wikimapia
  7. При наличии интернета вы можете погрузить нужный район на месте.

Кроме того, там есть все что есть в топокартах:

  1. Тип местности . Скалы, леса, поля, реки, водоемы и все остальные.
  2. Наличием информации о высотах (OpenCycleMap, Landscape, OpenTopoMap).
  3. Источники воды

Перечень плюсов далеко не полный и представляет лишь то, что наиболее явно отражает преимущества с моей точки зрения и для моих целей (трекинга).


Карты на основе OSM

Основная и первая карта построенная на этих данных имеет одноименное название OpenStreetMap и находится по адресу самого проекта. Часто представляет больше полезной информации о местности чем последующие две, но не отображает высоты.

Эти карты в онлайне есть как на самом сайте osm , так и на своем домене .
Наиболее интересные слои для трекинга с высотами это собственно OpenCycleMap и Landscape (есть только на http://www.opencyclemap.org).

Карта (слой) Landscape, на мой взгляд, представляет больше информаци о местности.


Недавно обнаружил эти карты. Несмотря на свое название они построены так же на базе данных OpenStreetMap, но больше напоминают топографические карты и многим похожи на упомянутый выше слой Landscape.

Wikimapia
Лозунг проекта: «Опишем весь мир!». Международный проект, географическая онлайновая энциклопедия, цель которой заключается в том, чтобы отметить и описать все географические объекты на Земле. И они с этим очень успешно справляются. В Викимапии зарегистрировано более 2,4 млн пользователей и добавлено на карту более 26 млн объектов (на 2016 год). На своем вебсайте проект использует разные карты, в том числе и OSM. На них и отображает эти объекты. Данные Викимапии часто используют и другие сервисы для наложения на свои карты.

Программы для компьютера с картами OSM

Для планирования маршрута на компьютере можно использовать онлайн карты в браузере. Но это не совсем удобно.

Я пользуюсь программой SAS.Планета для Windows. Программа аккумулирует в себе все вышеперечисленные карты , кроме Landscape. А так же и многие другие карты включая карты Генштаба с сервиса Маршруты.ру, GooglMaps, YandexMaps и многие другие.

Можно накладывать на одну карты данные других карт и баз данных, создавая таким образом персональную информативность. Позволяет прокладывать маршруты, замерять расстояния, сохранять метки, экспортировать карты и данные в другие форматы. Позволяет подключать навигатор и много чего еще.

В этой практической статье рассмотрим сервисы, помогающие скачать карты с онлайн-сервиса OpenStreetMap для последующей конвертации их в другие картографические форматы, чтобы использовать их в оффлайн-режиме уже без подключения к интернету.

Сейчас лето, и для многих это главное время для путешествий. Следовательно, самое время доставать навигаторы , или же ставить на планшеты и смартфоны специальное навигационное программное обеспечение, чтобы не заплутать в незнакомых местах. Тем более что недостатка в подобных программах в нынешнюю эпоху GPS и мобильных устройств не наблюдается. К услугам пользователей как географические интернет-сервисы наподобие Google Maps и Microsoft Bing, так и специализированное ПО вроде "2ГИС" с собственными картами.

Последний вариант с локальными картами, которые пользователи предварительно скачивают и устанавливают для своего навигационного ПО, во многих случаях не только удобнее, но и единственное возможное решение. Так как интернет в той или иной местности может оказаться дорогим или же вообще не работать. Но при этом нужные оффлайн-карты конкретной местности тоже могут отсутствовать.

Ниже рассмотрим варианты загрузки картографических данных с онлайн-сервиса OpenStreetMap (OSM) с последующей целью конвертировать эти данные в конкретный формат карт для своей навигационной программы. Мы уже подробно рассказывали о проекте OpenStreetMap . Это открытый картографический веб-сервис, похожий на Google Maps, данные которого собираются самими же пользователями и доступны всем по открытой лицензии. В статье для примера рассмотрим конвертацию данных OSM для программы OsmAnd для Android-устройств , которую мы тоже подробно рассматривали на сайте "КВ".

Официальный сайт OSM

Итак, нам нужно скачать картографические данные OpenStreetMap какой-то конкретной территории. В первую очередь, это можно сделать с официального сайта сервиса www.openstreetmap.org .

Непосредственно на онлайн-карте ресурса имеется ссылка "Export", при нажатии на которую появится панель экспорта данных . Здесь при помощи синей кнопки "Manually select a different area" (ручное выделение особой области) нужно выделить на карте прямоугольник нужной территории, после чего выбрать из списка форматов "OpenStreetMap XML Data" и нажать кнопку "Export".

В результате загрузится файл с расширением osm. Это текстовый xml-файл с картографическими данными, которые можно потом конвертировать в другие форматы .

Однако официальный сайт накладывает ограничения на объём скачиваемых картографических данных. Загружаемая карта не должна содержать более 500 нод. А любой город - это всегда будет больше 500 нод. Но существуют другие сервисы, которые позволяют загрузить нужный географический район без подобных ограничений.

Вся планета

Здесь нужно выделить на карте OSM нужную местность, и в специальных полях указать свой адрес e-mail и задать название выделенной карте. Немаловажно, что сервис даёт возможность скачать карту не только в формате OSM, но и конвертировать его в уже готовые форматы Garmin, Navit, Esri .

Так как "вытяжка" конкретной карты местности на сервисе происходит из planet.osm, то на это требуется некоторое время. Результат будет готов через 15-30 минут в зависимости от размера площади карты и нагрузки на сервис. Как только процесс экстракции карты завершится, пользователь будет оповещён на оставленный им адрес e-mail.

Конвертируем

Таким образом, получив картографические данные конкретного региона в виде текстового osm-файла, можно приступить к его конвертации в уже готовый формат карты с векторной или растровой графикой для навигационного приложения. Например, для программного GPS-навигатора OsmAnd нужно сконвертировать картографические данные OSM в формат OBF.

Для этого существует специальный конвертор OsmAndMapCreator . Это приложение написано на Java и является кроссплатформенным. Запускается после разархивирования, в зависимости от операционной системы, скриптом sh или bat. Но при этом программа имеет графический интерфейс.

Конвертировать файл osm нужно через меню "Файл" - "Создать файл obf из файла osm". После чего в заранее указанной папке появится файл с расширением obf, который и нужно перенести на Android-устройство в каталог /sdcard/osmand/. Теперь карта данной местности станет доступна в OsmAnd в оффлайн-режиме.

При помощи OsmAndMapCreator можно создавать карты OBF и при помощи данных с других картографических онлайн-сервисов. Но обзор данных возможностей программы выходит за пределы темы этой статьи.

Михаил АСТАПЧИК

(дословно «открытая карта улиц »), сокращённо OSM — некоммерческий веб-картографический проект по созданию силами сообщества участников-пользователей Интернета подробной свободной и бесплатной географической карты мира.

Для создания карт используются данные с персональных GPS-трекеров, аэрофотографии, видеозаписи, спутниковые снимки и панорамы улиц, предоставленные некоторыми компаниями, а также знания человека, рисующего карту. Использование для создания карт сервисов, подобных Google Maps, без разрешения правообладателя невозможно.

В OpenStreetMap при создании карты используется принцип вики. Каждый зарегистрированный пользователь может вносить изменения в карту.

Сейчас мы и начнем наше повествование о том, как же вносить измения и дополнения на эту довольно подробную, развивающуюся и удобную в использовании карту.

Для начала необходимо зайти на официальный сайт OSM http://www.openstreetmap.org/ . Вход на сайт можно, как с использованием своего личного почтового ящика, так и путем привязки существующего аккаунта в различных сообществах, пиктограммы которых приведены на рисунке:

После входа на сайт у нас будет такая же картина, как и на заглавной фотографии блога. В шапке страницы размещено главное меню со всеми поддерживаемыми командами и предоставляемыми возможностями.

Теперь возникает вполне закономерный вопрос: как же все-таки редактировать карту?

Карту можно редактировать как онлайн, с помощью двух онлайн редакторов: iD и Potlatch 2 - так и офлайн, с помощью установленного на компьютере редактора. Второй способ удобен тем, у кого очень низкая скорость интернета или существуют ограничения по использованному трафику, где все изменения можно делать у себя на компьютере, а затем отправлять их на сервер OSM. Правки отправляются ввиде XML файла, поэтому существенного влияния на трафик они не окажут.

В этой статье будем править карту онлайн с помощью редактора iD, т.к. принцип работы редакторов iD и Potlatch 2 одинаковый, только Potlatch 2 позволяет наносить на карту большее количество различных классов объектов и из-за этого он более тормознутый. Для нанесения и редактирования на карте дорог вполне достаточно быстрого редактора iD.

В верхнем левом углу у нас ходитятся выделенные три пункта "Правка", "История" и "Экспорт". Причем пункт "Правка" неактивен. При наведении на него курсора мышки появляется подсказка, о том, что нужно увеличить масштаб для редактирования

После увеличения карты до нужного масштаба кнопка "Правка" станет активной, при нажатии на нее появится всплывающее меню, где можно выбрать необходимый редактор карты.

Выбираем iD редактор и начинаем работать с картой. Вносить изменения на карту можно как в ручную, используя спутниковые снимки, предоставляемые сервисом OSM, так и путем нанесения путей, полученных с сохраненных в навигаторе пройденных треков. На следующем изображении показано окно редактирования карты редактором iD. Редактирование станет доступным только после увеличения масштаба, причем масштаб должен быть очень большим. На рисунке указан предельно малый масштаб, который доступен для редактирования. Как видно, такой масштаб не очень подходит для нанесения объектов по космоснимкам, но зато может использоваться для нанесения дорог по GPS трекам.

Как можно заметить редактор очень простой и позволяет наносить на карту только три типа объектов: точку, линию и полигон. Как не трудно догадаться, точка - это название определенного места или точечный объект, линия - это дороги, полигон - это различные площади (леса, населенные пункты, дома и т.д.).

На панели инструментов, расположенной справа, интерес представляют только две кнопки:

настройка подложки. Т.е. того, что будет отображаться на карте (Google снимок, OSM карта и т.д.)

данные карты. Вот при помощи этой кнопки из загружаются GPS треки в редактор, а также выбирать те классы объектов, которые должны отображаться или быть спрятаны на карте при редактировании.

А теперь разберемся, как же все-таки наносить объекты на карту. Я посмотрел, что в покатушке маршрут проходил местами по лесным дорогам, которых нет на карте OSM. Нужно исправить этот недостаток. Для этого скачиваем реальный GPS трек от Rafael и начинаем наносить дороги на карту по реальному GPS треку. В этом примере я хочу нанести красивую лесную дорожку, которая была у нас перед привалом на озере. Вот фото этой дорожки:

Трек загружен, теперь нужно прорисовать эту дорогу.

На рисунке розовым цветом отображен загруженный реальный трек, белая линия по треку - это нанесенная на карту дорога. Любой нанесенный объект можно редактировать. Для этого достаточно просто выбрать его при помощи курсора мышки. Объект не обязательно должен быть вашим. Для завершения нанесения линии на карту необходимо кликнуть по последней точке. Точка начала и конца линии важны, т.к. они определяют направление движения. Это особенно важно при нанесенинии дорог с односторонним движением, а также рек. Но в любой момент направление движения можно изменить, путем выбора соответствущей пиктограммы, появляющейся после активации объекта. На существующем объекте можно изменять положение существующих точек, добавлять свои (перетаскивать стрелку, расположенную между точками), а также удалять точки. Т.е. здесь ничего сложного нет.

При выборе только что нанесенного объекта с левой стороны экрана появляется меню типа объекта

У нас дорога, поэтому ее и выбираем. После этого появится список возможных дорог. У нас лесная дорога, поэтому ее и выбираем

После этого вводим необходимые атрибуты лесной дороги. Данные атрибуты важны для карты OSM, потому что по ним в дальнейшем делается автоматическая навигация в зависимости от выбранного транспортного средства, а также возможность отображения объекта на карте, при отбрасывании ненужных объектов (допустим Ferrari по лесно дороге не поедет, поэтому водитель такого автомобиля не захочет, чтобы полевые и лесные дорожки засоряли карту и участвовали в автоматической прокладке маршрута).

Для созданной дороги я ввел следующие аттрибуты:

Покрытие: unpaved (без покрытия)

Ширина: 3 м

Легальный доступ: велосипед, автомототранспорт, наездникам, пешеходам

Тип проселочных дорог: Скорее мягкая: укатанный грунт с примесями твёрдых материалов

Проходимость: Крепкие колёса: гибридные велосипеды, машины, рикши

Сложность трассы для горного велосипеда: 0: ровный гравий/утоптанная земля, без препятствий, широкие повороты

Сложность подъема на маунтинбайке: 0: Средний подъём <10%, гравий/утоптанная земля, без препятствий

Любое действие можно отменить до того, как данные будут отправлены на сервер. Если вы забыли определить тип объекта или присвоить ему атрибуты, но при этом дошли до шага ввода комментария, последний шаг можно отменить (нажатие "Сохранить"), путем закрытия окна ввода комментария, при этом несохраненный объект никуда не пропадет.

Это неофициальные, бесплатные карты. Создаются они интернет-сообществом OpenStreetMap (OSM) . Еще один безусловный плюс в том - что их делает не один человек, каждый зарегистрированный пользователь может вносить изменения в карту. Постоянно обновляются и и во многих регионах имеют более актуальную информацию на данный момент чем официальные карты .

Инструкция по установке карт OpenStreetMap для Навител Навигатор:

1. Сделать копию карты памяти (на всякий случай)
2. Скопировать необходимые файлы *.nm2 в любую папку на устройстве или карте памяти (например /sdcard/NavitelContent/Maps/AtlasOSM). Если регионы не граничат между собой - то чтобы маршрут корректно прокладывался добавьте в папку с выбранными картами файл с обзорной картой России (Russia-overview-osm-nm2).
3. В программе Навител открыть Меню - Настройки - Карта - Открыть атлас - средний значок с папкой внизу - выбрать папку и нажать «ок» (зеленая галочка)
4. После завершения процесса индексации, карты будут доступны для навигации

ВАЖНО! Карты проекта OSM создаются в единственном формате NM2, без сбоев и ограничений отлично работают с навигационной программой Навител Навигатор версии 5.0.3 и ниже (лучше в версии 3.5). Так же карты OSM хорошо работают на версиях Навител Навигатор до 9.10.хххх


2) Векторые, доступные в редакторах и для скачивания в виде файлов

Для ориентирования на местности карты нужно загрузить в устройство, с которым вы выйдете на эту местность, - способное принимать GPS-сигнал, рисовать карту и ваше положение на ней. Если устройство сможет ещё маршрут прокладывать - вообще хорошо.

Сегодня речь пойдёт о конвертации OpenStreetMap карт для отображения их в программах Russa или Navitel Navigator. Соответственно, эти карты можно будет загрузить в устройства, где работает одна из этих программ.

Вообще говоря, можно скачать уже готовые карты некоторых областей России и некоторых других стран , однако эти карты не покрывают весь мир и не всегда сделаны так, как хотелось бы. Конвертируя карту самостоятельно можно добиться гораздо большего, если не жаль времени, конечно.

Кратко и для знающих конвертация выглядит так: .osm -> .mp -> .rus / .nm2

Disclaimer - я описываю способ, который использую сам. Если вы знаете способ проще - милости прошу написать в комментарии.

Ну а теперь - подробно:

1) Скачать.osm
.osm - это формат векторных карт для OpenStreetMap. От основан на XML, т.е. фактически текстовый.
Получить.osm-файл можно следующими способами:
1. Скачать редакторами: JOSM или Merkaartor . Просто загружаете с сервере нужный вам прямоугольник карты и сохраняете его в файл. Я лично предпочитаю использовать JOSM, но для него нужно поставить Java.
2. Скачать готовую карту некоторого региона с одного из хостингов, например:
- geofabrik.de - континенты целиком и в нарезке по странам, некоторые страны порублены на провинции/штаты/области
- cloudmade.com - весь мир по странам, некоторые страны порублены на провинции/штаты/области
Просто скачайте файл и распакуйте bz2.
3. Скачать вручную, через XAPI
Для работы с XAPI нужно составлять HTTP-запрос к серверу, ничего сложного, по ссылке всё написано.

2) Порезать.osm на части (если требуется)
.osm-файлы, особенно готовые по странами, бывают довольно объёмными и не проходят последующую конвертацию (см. ниже). Поэтому их приходится резать.
Для резки я использую splitter , он по умолчанию делает.osm файлы где-то около 120 МБ, которые потом почти всегда проходят последующую конвертацию. При необходимости splitter можно сконфигурировать параметрами командной строки.
Для работы splitter нужна Java.
Имейте также ввиду, что в Russa прокладка маршрутов работает только при одной загруженной карте. Т.е. если карту одной страны порезать на части и загружать в Russa как атлас - прокладка маршрутов работать не будет.

3) Преобразовать.osm в.mp
.mp - это древний польский формат хранения карт. Хорош он тем, что он текстовый и вполне человеко-читаемый, ну и очень много программ его понимают.
Для конвертации я использую программу osm2mp . К сожалению, программа требует установки Perl и пользоваться ей не очень просто.
Так или иначе, после установки и настройки Perl (описано по ссылке) и скачивания osm2mp, программой можно пользоваться.
Произвольный.osm файл нужно ещё предварительно упорядочить - обработать прилагаемым скриптом osmsort.pl
Затем нужно вызывать osm2mp.pl с указанием параметров конвертации.
Путём длительных экспериментов, я для себя написал набор.bat-файлов, например, стандартная конвертация с прицелом для Russa:
echo Start %date% %time% >> std_err.log echo %1 >> std_err.log perl.exe osmsort.pl %1 > temp_del.osm 2>> std_err.log perl.exe osm2mp.pl --header header_russa.tpl temp_del.osm > %1.mp 2>> std_err.log echo Finish %date% %time% >> std_err.log
Вызывать такой.bat-файл надо с 1 параметром - именем (и полным путём) .osm-файла
1я строка записывает в файл std_err.log дату и время начала преобразования
2я строка записывает в файл std_err.log имя.osm-файла
3я строка выполняет osmsort, информация о ходе процесса (и ошибках) идёт в файл std_err.log
4я строка выполняет osm2mp, информация о ходе процесса (и ошибках) идёт в файл std_err.log
5я строка записывает в файл std_err.log дату и время окончания преобразования
(Путь до perl.exe должен быть прописано либо в системе, либо в вашем.bat-файле)

Для конвертации карт зарубежных стран, желательно включить транслит - а то названия. Например, добавив следующие параметры "--nametaglist int_name,name:en,name,name:ru,ref,int_re f,addr:housenumber,operator --translit" сразу после "osm2mp.pl"

Для конвертации с прицелом для Navitel, необходимо скачать комплект файлов конфигураций osm2navitel , переименовать тамошние файлы соответственно в header_navitel.tpl, poly_navitel.cfg и poi_navitel.cfg; и добавить к вызову osm2mp.pl параметры "--osmbbox --navitel --disableuturns --header header_navitel.tpl --cfgpoly poly_navitel.cfg --cfgpoi poi_navitel.cfg"

Для других конвертаций тоже можно заготовить poly*.cfg, poi*.cfg и header*.tpl

Большая карта может не преобразоваться - например, 32-битный Perl ограничен 2ГБ оперативной памяти, в итоге osm2mp не может справиться с.osm-файлами объёмом где-то от 700МБ, а иногда падает с ошибкой памяти и на существенно меньших картах. В этом случае карту надо резать (см. шаг 2).

4) Преобразовать.mp в.rus (или.nm2)
Для этой цели есть отличная программа GPSMapEdit , которая, как следует из названия, ещё и редактор. Достаточно в GPSMapEdit загрузить.mp файл и сделать Export в нужный формат.
Но есть несколько подводных камней:
- Файлы.rus (и.nm2), сохраняемые из GPSMapEdit, имеют ограничение на объём в 16МБ. По моим оценкам, это соответствует около 120 МБ.mp-файла или около 600 МБ.osm-файла.
- Файлы.nm2 для версий Navitel 3.2.* очень требовательны к отсутствию ошибок на карте, так что если происходит "Export failed" - вам придётся исправлять ошибке на отображаемой карте, либо выбирать другой формат, либо конвертировать карту с другими настройками (см. шаг 3).

P.S. , а потом уже преобразовать в.rus или.nm2.

kinderglad.ru - Я мама. Учимся готовить. Уход за ребенком. Развитие детей