Как использовать векторную карту Wikimapia для ориентирования с GPS Garmin

7 Июнь 2011 // Автор: Pavel Borisov

Места: Без границ

Метки: ,

Карта Wikimapia – это еще один источник современной картографической информации, кроме уже упомянутых в моих статьях Походы по незнакомой местности и ориентирование там, где нет карт или они не точны и Как автоматически сделать векторные горизонтали из SRTM для GPS Garmin. Для некоторых районов, например кое-где в Гималаях, публичная топографическая информация очень неполна и очень полезно расширить детализацию за счет сгенерированной пользователями-энтузиастами базы объектов. Доверять этой информации, как самому себе, наверное не следует, но в отдаленных районах явно не стоит пренебрегать огромным количеством дополнительных ориентиров: мелких сел с названиями, мостов и даже отдельных домов, которые часто содержит эта карта. Например, на пустых гималайских дорогах бывают обозначены мелкие таверны и даже навесы для ночевок, небольшие отдаленные монастыри, а также небольшие села в горах, где пешая тропа с перевала часто переходит в проезжую колею.

Объекты wikimapia (белые многоугольники): вершины, ледники, мосты, поселки, отдельные дома, наложенные на космоснимок google в удаленном и плохо картографированном районе перевала Кунзум в Гималаях (названия объектов не приведены, но отображаются в GPS):
объекты wikimapia наложенные на космоснимок google в удаленном  и плохо картографированном районе перевала Кунзум в Гималаях

Скачать данные с сервиса wikimapia можно бесплатно с помощью wikimapia API. Для этого нужно:

1. Зарегистрироваться на: http://wikimapia.org
2. Создать свой API key (имя сайта можно ввести любое): http://wikimapia.org/api/?action=create_key
3. Скачать информацию по нужному району, используя например такой php-скрипт (чтобы запустить его нужен интерпретатор php – из интернета):


$i=74; // долгота западной стороны прямоугольника в градусах
$imax=80; // долгота восточной стороны
$jmax=36; // широта северной стороны
while($i<=$imax)
{
$j=31; // широта южной стороны
$i2=$i+0.25; //скачиваем квадратами по четверти градуса
while($j<=$jmax)
{
$j2=$j+0.25;
exec ('wget "http://api.wikimapia.org/?function=box&key=25BD5555-7C975611-A2A31D10-07AA2F9A-10B662BD-62AF57D1-C5A0C12C-4EC18BBD&bbox='.$i.','.$j.','.$i2.','.$j2.'&count=50000&format=kml&pack=gzip"');
$j+=0.25;
}
$i+=0.25;
}

где вместо 25BD5555-7C975611-A2A31D10-07AA2F9A-10B662BD-62AF57D1-C5A0C12C-4EC18BBD – нужно подставить свой API key, полученный в шаге 2.

Ниже конвертируем скачанную кучу файлов *.kml в один файл формата *.img для GPS Garmin

4. все полученные файлы разархивировать
5. переименовать их все в удобоваримый вид, например таким скриптом (требуется интерпретатор bash):


#!/bin/bash
i=1
for file in ./*
do
cp $file ../$i.kml #на выходе будут файлы *.kml с цифровыми именами в родительском каталоге
let «i += 1″
done

6. Все полученные файлы формата *.kml открыть программой Global Mapper и экспортировать данные в польский формат *.mp
7. С помощью программы mapedit открыть этот файл *.mp, далее меню file->map properties вкладка cGPSMapper. Выбрать Save object as [POI], [POLYGON] and [Polyline]. Теперь ок и сохраняем файл WIKIMAPIA.MP
8. Теперь мы имеем файл *.mp, для конвертации в *.img, но все объекты (точки и полигоны) типа 0х0. Это неправильно и вызовет ошибки cGPSMapper. Поэтому надо их заменить на какой-нибудь другой тип, я предпочитаю 0х19

Запускаем теперь такой скрипт

#!/bin/bash
find ./ -name «WIKIMAPIA.MP» -exec sed -i «» -e ‘s/Type=0×0/Type=0×19/’ «{}» \;

9. Конвертируем в конечный формат:
cgpsmapper.exe WIKIMAPIA.MP

и получив конечный файл WIKIMAPIA.MP.IMG заливаем его в GPS, наряду со всеми остальными картами этого района.

Теперь поверх нашей GPS карты мы можем видеть множество элементов из wikimapia: сел, садов, магазинчиков, отдельных домов и даже временных строений, которые были нанесены на карту энтузиастами – участниками проекта wikimapia.

7 Июнь 2011 // Автор: Pavel Borisov

Места: Без границ

Метки: ,

24 Comments →


Наш дом окружен лесом, из которого не хочется выходить. Десять минут — и мы в Нагаре, но зачем? Cреди деодаров, елей и сосен хорошо и спокойно, и можно бесконечно гулять по тропам, каждый раз находя новые. В садах зреют яблоки и груши, вдоль дорог растут ежевика и барбарис. Дикие абрикосы кулльцы не едят, а только [...]

Также рекомендуем

Подписка


pashkin_elfe
phototon1c

Обсуждение:

  1. Для такой топографии используется особенный метод апертурных антенных решеток. Решеточные антенны обладают высокой разрешающей способностью, и местность достаточно подробно сканируется – у меня был вопрос об этом на экзамене по РЛС

    • На wikimapia в основном обводят «свой дом увиденный на снимке со спутника». Я не понял, причем здесь РЛС? Какие апертурные решетки? Для чего используются?

  2. Hukuta Hukuta:

    > множество элементов из wikimapia: сел, садов, магазинчиков, отдельных домов и даже временных строений, которые были нанесены на карту энтузиастами – участниками проекта wikimapia <

    То есть, грубо говоря, если никто в интересуемой области не обвел сады-огороды, жральни-спальни и дорожную сеть с гидрографией… к горизонталям из SRTM при создании IMG добавить нечего.
    Ну, если только скомпилировать bmp из тайлов Google Maps Terrain или Bing (VirtualEarth) Satellite, привязать, и… отрисовывать вручную в MapEdit`е…
    Это печально. [х]

  3. Здравствуйте. Прежде всего спасибо, ранее интересные объекты переносил с викимапии вручную. Возник один вопрос, почему-то не все объекты экспортировались с викимапии, так например для теста импортировал Московию, не импортировались родники и некоторые другие объекты, точной закономерности не установил, по моему дело в размере объекта. Попробовал менять параметр «$i2=$i+0.25; //скачиваем квадратами по четверти градуса», некоторые данные появились, другие исчезли. Откуда такое значение в четверть градуса и какое лучше установить, чтобы захватить все объекты?

  4. Извиняюсь, разобрался, по j значение не уменьшил, взял одинаковые значения и всё отлично импортировалось.

  5. Termon Termon:

    есть более простой способ использовать викимапию в гармине, на сайте http://geodeg.com есть экспорт в виде ПОИ, не знаю насчет актуальности, но обьектов там не мало.

    • это другой интерфейс викимапии или другая база объектов?
      если второе, то имеет смысл заливать в gps и то и другое

  6. Nule Nule:

    Приветствую!
    Описанным выше методом можно получить только объекты-многоугольники? Дороги, реки нельзя?

    • Дороги-реки нельзя так как их никто в wikimapia не добавляет. Основные дороги и реки есть на публикуемых картах автодорог (платных и бесплатных), а мелкие – основная проблема найти где есть тропы-ручейки, а где непроходимая тайга.

  7. Nule Nule:

    Ясно. Спасибо. Но всё-таки продвинутые пользователи имеют дополнительную возможность добавлять реки, автодороги, паромные переправы, ж\д дороги и улицы. SASPlanet позволяет выкачать эти объекты в растровом виде в png формате. Я надеялся, что как-то можно и в векторном получить. Добавляют же наверняка в векторной форме.

    • Все, что добавлено в wikimapia должно выкачиваться вышеописанным способом.
      Но если вдруг речь о google maps там по-другому: можно добавлять векторные изображения рек/дорог, но в векторе получить оттуда что-то не может даже добавивший. Google хранит «свои секреты»

  8. Nule Nule:

    Скажите, пожалуйста, откуда взяты эти 0.25 градуса? На что это влияет? Это аналог задания зума и соответствующей детализации в wikimapia?

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

  9. Nule Nule:

    Извиняюсь за очередной вопрос, а в каких координатах вводятся границы скачивания? Как указать, северная или южная широта, западная или восточная долгота?

    • В сферических координатах (широта/долгота).
      По умолчанию северная широта, восточная долгота. Как быть с южными и западными, не знаю не приходилось те регионы качать. Можно попробовать поставить минусы, если не получился – смотреть формат ссылки api.wikimapia.org и соответственно изменить скрипт.

  10. Василий Василий:

    Я так понял, вы это делали на Маке (Linux)? А как быть под виндой, кто-нибудь может сказать?

  11. Василий Василий:

    1. А программа mapedit – какого автора, их нсколько просто.
    2. Странно, я указываю в запросе pack=gzip, а файл получаю текстовый – ничего разархивировать не надо. Работаю под виндой, без wget – из браузера набираю http://api.wikimapia.org/...

    • 1. Это программа редактирования векторных карт. По этому описанию ее точно можно определить даже среди программ с похожими названиями. Кто ее писал, не знаю, смотреть лень. Если вы сможете переконвертировать как-то еще – это не воспрещается.
      2. Я не имею никакого отношения к wikimapia, api и отладке, просто пишу, как у меня получалось сделать. Если проблемы, можете сообщить им об этом.

  12. Василий Василий:

    Интересно повторить описанный вами способ.
    Если речь о программе GPSMapEdit, то там есть вкладка cGPSmapper, но в ней нет пунктов [POI], [POLYGON] and [Polyline].
    Если речь о программе Ивана Коренькова MapEdit, то там нет меню file->map properties
    Если речь о программе Резидент MapEdit, то с их сайта не получилось скачать даже демо версию.
    Поэтому вопрос остался.

  13. Прохожий Прохожий:

    После шага 6 ерунда получается. Из DESCRIPTION в файл MP только URL попадает, а названия обрезаются.
    Как бы из Feature information поле Description в поле NAME перенести у всех объектов. Может у вас другая версия GM?

    • Global Mapper 9.03
      Если данные действительно скачались, то, думаю можно придумать и другие способы перевести их в MP

Оставить комментарий

*