Скачивание и склеивание электронных топографических карт
В нашем клубе обычно используются топографические карты двух типов:
- Генштаб и ГГЦ (можно найти на сайте http://loadmap.net, а также на торрент-трекерах). Эти карты получены сканированием бумажных карт, состоят из отдельных листов, края которых состыковать программным образом малореально, и вряд ли нужно (листы большие, а в поход обычно берутся распечатанные карты на листах А4).
- Карты, состоящие из "плиток" ("тайлов"), которые отображаются бесшовно на сайтах в интернете (или в приложениях). Например, широко известные Google Maps, которые удобно смотреть в браузере. Для этих карт размер тайлов обычно небольшой, например, 256х256 точек. Актуальна задача автоматического скачивания большого количества тайлов для нужного района и последующей состыковки.
Для второго случая существуют скрипты, которым достаточно указать диапазоны тайлов по вертикали и горизонтали, и затем они автоматически выполняют всю работу. Нам известно о скриптах такого рода для двух сайтов:
- для Google Maps — https://www.github.com/nst/gmap_tiles
- для швейцарских топографических карт — https://github.com/nst/swiss_topo_tiles
Первая часть такого скрипта скачивает тайлы из требуемого диапазона с помощью URL заранее известного формата. Это выполняется встроенными средствами скриптового языка.
Вторая часть выполняет обработку изображений — "склеивание" тайлов по краям. Для этого используются какие-либо библиотеки или внешние утилиты (например, Python Imaging Library, ImageMagick, VIPS).
Существует софт для работы с картографическими тайловыми интернет-сервисами (см. ссылки).
По словам Александра Рахманова, вышеописанное склеивание тайловых карт — лишняя работа, т.к. можно воспользоваться бесплатной навигационной программой SAS.Планета. Она объединяет в себе возможность загрузки и просмотра карт и спутниковых фотографий большого количества online-сервисов. Присутствуют в том числе и туристические карты (например, хребтовка Тянь-Шаня). В интерфейсе программы нужно выделить требуемый участок, выбрать нужную карту. После этого можно одним щелчком выкачать в кеш снимки, и одним щелчком сохранить склеенную карту. (Александр Рахманов пользуется программой SAS.Планета уже несколько лет.)
См. также
- http://mitrichtools.narod.ru/Rus/TilesOnLine.htm софт для работы с картографическими тайловыми интернет-сервисами в среде ArcGIS
- http://www.geofaq.ru/art/2google_geo.shtm подробно о спутниковых снимках, Google Maps, Landsat, тайлах и т.д.
- http://www.geofaq.ru/art/2spatial_ps.shtm обработка космоснимков
- http://sasgis.org/sasplaneta/ сайт SAS.Планеты
- http://encyclopedia-stranstviy.blogspot.ru/2014/03/sasplanet.html обзор возможностей программы SAS.Планета, советы пользователям
- http://encyclopedia-stranstviy.blogspot.com/p/karty-gps.html подборка статей о картах и навигации
Карты для конкретных стран, районов и т.д.
- http://rutracker.org/forum/viewtopic.php?t=4722262 топографические карты Швейцарии и Лихтенштейна
- http://map.wanderland.ch, http://map.geo.admin.ch подробные топокарты Швейцарии с масштабом плоть до 100м
- http://www.norgeskart.no топокарты Норвегии (можно подключить к SAS.Планете, см. здесь)
Многие тайловые карты в интернете можно подключить к SAS.Планете. Почитайте тему на форуме. Если нужна карта, которую ещё никто не подключил, спросите на том форуме и напишите в клубный чат НГК в скайпе, подумаем вместе.
Разные заметки по обработке карт
- Если на нужной вам карте нет километровой сетки, то её обычно приходится добавлять вручную после склейки растрового изображения. Это можно сделать с помощью свободного графического редактора GIMP, см. документацию здесь.
- В некоторых случаях требуется разбить растровое изображение на равные прямоугольники. Это можно сделать с помощью свободного набора утилит ImageMagick командой вида "convert mandril_256x256.jpg -crop 128x128 +repage mandril_128x128_%d.jpg". См. здесь.
Заметки о подготовке карт к печати
- http://parusa.narod.ru/bib/papers/2012/mkmap/index.htm как подготовить и напечатать карту (на примере Генштаба и SAS.Планеты)