Инструментарий

Краеведа

  • Актуальный тулбокс для планирования и подготовки данных полевой навигации

  • Некоторые сложившиеся технологические маршруты обработки данных, чтоб не искать заново...

Инструментарий

Как это сделать?

Поиск контуров линейных и площадных объектов в OSM, их выгрузка и обработка для последующего использования

  • Визуальный поиск объекта на карте по категрии https://openstreetbrowser.org/ (работает начиная с определенного масштаба отображения), с последующей выгрузкой в формате OSM XML. На выходе - файл "openstreetbrowser.osm.xml" с точками искомого контура.

  • Преобразование точек контура из OSM XML ("OpenStreetMap data files") в GPX XML при помощи конвертера GPSBabel. На выходе - файл .gpx с точками искомого контура.

  • Преобразование точек искомого контура в трек при помощи Garmin BaseCamp

    • Загрузить файл с точками в отдельный List, выбрать все;

    • Для выбранных точек - "Create Route using Selected Waypoints";

    • Для созданного маршрута - "Optimize Route";

    • Далее для маршрута - "Create Track from Selected Route";

    • Экспорт искомого контура в виде трека в .gpx формате;

  • Ручные корректировки отдельных ошибок автоматической оптимизации маршрута в nakarte.me. На выходе - итоговый контур в виде трека в формате .kml (в случае если нужно последующее преобразование в полигон для Google My Maps.

Преобразование линии .kml (Keyhole Markup Language) в полигон для Google My Maps (Google Earth)

  • Контур в формате .kml открываем в MS Visual Studio Code

    • Целесообразно перед этим шагом пропустить исходный контур .kml через .gpx формат и назад, при помощи, например, nakarte.me. Это позволит предварительно очистить код .kml от возможно содержащейся в нем дополнительной информации, в виде, например, узловых точек, что часто случается в зависимости от источника первоначальной информации о контуре. Такая очистка сделает содержание файла более читаемым при ручном редактировании кода и поможет избежать ошибок.

  • Заменяем тег <LineString> на группу тегов <Polygon>, <outerBoundaryIs> и <LinearRing>. Не забываем про закрывающие теги...

  • Добавляем первую точку контура в конец списка точек контура (количество точек увеличивается на 1)

  • Сохраняем результат... Готово!

ПРИМЕР:

Фрагмент KML-кода с описанием простого полигона из трех точек. За кодом полигона для сравнения следует код незамкнутой линии из трех точек.

<Folder>

<name>Untitled layer</name>

<Placemark>

<name>Polygon 1</name>

<styleUrl>#poly-000000-1200-77-nodesc</styleUrl>

<Polygon>

<outerBoundaryIs>

<LinearRing>

<tessellate>1</tessellate>

<coordinates>

1.5208407,42.4344584,0

1.5221496,42.4340704,0

1.522171,42.4352977,0

1.5208407,42.4344584,0

</coordinates>

</LinearRing>

</outerBoundaryIs>

</Polygon>

</Placemark>

<Placemark>

<name>Line 2</name>

<styleUrl>#line-000000-1200-nodesc</styleUrl>

<LineString>

<tessellate>1</tessellate>

<coordinates>

1.5230294,42.4339516,0

1.523995,42.4350206,0

1.5242633,42.4338249,0

</coordinates>

</LineString>

</Placemark>

</Folder>

Выгрузка информации о горных приютах из OSM с использованием интерфейса Overpass API

Используем http://overpass-turbo.eu/


/**************************//* Extract refuges to CSV *//* Overpass QL script *//**************************/
//set up columns to extract[out:csv (::id, ::lat,::lon, "ele", "amenity", "tourism", "fireplace", "fee", "name", "wikidata", "wikipedia", "description")][timeout:25];
//extract nodes for wilderness hutsnode[tourism=wilderness_hut]({{bbox}});out;//extract centres of contours for wilderness hutsway[tourism=wilderness_hut]({{bbox}});out center;
//extract nodes for alpine hutsnode[tourism=alpine_hut]({{bbox}});
//extract centres of contours for wilderness hutsway[tourism=alpine_hut]({{bbox}});out center;