RU:Hikingbook.pl/How

From OpenStreetMap Wiki
Jump to navigation Jump to search

broom

Help (89606) - The Noun Project.svg

Процесс в целом

Этапы работы программы:

  • чтение файла osm и поиск отношения
  • сбор всей необходимой информации о точках и линиях
  • создание уменьшенного файла osm (для ускорения процесса и уменьшения размера результата)
  • попытка сбора всех участников отношения в один путь
  • поиск POI вдоль этого пути
  • создание списка направлений
  • создание детальных карт и учёт границ области (по сути, для этого и создавался временный уменьшенный файл osm)
  • создание обзорной карты
  • создание титульной страницы
  • создание списка POI
  • сведение всех созданных файлов в один
  • удаление временных файлов

Создание временных файлов

Для создания временных файлов используется Osmosis. --bounding-box используется с параметрами completeWays=yes и completeRelations=yes.

Поиск POI

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

Список направлений

Не всем точкам суждено попасть в список направлений. Пункты списка называются шагами. Точка становится шагом, если она:

  • является началом или окончанием маршрута
  • имеет информацию о высоте
  • имеет POI поблизости
  • стоит на перекрёстке

Чтобы уменьшить количество шагов используйте, например, -lesssteps=10. В этом случае, перекрёстки, попадающие в промежуток 10 градусов, не попадут в список шагов.

Для определения перекрёстка, программа парсит все линии и находит количество сегментов линии, касающихся данной точки. Если количество больше 2, значит здесь перекрёсток.

Список POI

Список POI (опциональный) содержит каждый POI, отображаемый на карте, с номером страницы и координатами по сетке. Отображаются вхождения POI на каждой странице, где они присутствуют. Список может разбиваться на 1-3 колонки.

Данные о высоте

Каждая точка проверяется на наличие данных о высоте (ele=1000 к примеру). Если найдётся более двух точек с такими данными, в таблице направлений появится столбец elevation, и в документ добавится информация о рельефе.

Дополнительно, линии в файле osm просматриваются на предмет принадлежности контурам по данным srtm. Если такие данные найдутся, программа будет искать пересечения контурных линий с маршрутом. Если найдены такие пересечения, данные будут добавлены в информацию о рельефе. However, it will not be added to the description because that is node based. Intersections can occur at any point in the route.