Загрузка данных с GPS в нужной системе координат (DNRGarmin)
по адресу http://gis-lab.info/qa/gps-dnrgarmin.html
Удобное получение точек и треков из GPS с помощью бесплатной программы
Задача: Получить данные из GPS настроенного на работу в одной из систем координат, отличной от системы принятой по умолчанию, которой является международная геоцентрическая система координат WGS-84 (World Geodetic System, 1984) базирующаяся на эллипсоиде WGS-84.
Как пример, будет рассматриваться прибор GPS настроенный на работу в системе координат 1942 года (Pulkovo-1942, СК-42), основанной на референц-эллипсоиде Красовского, центр которого смещен с центра масс Земли более, чем на 155м.
О том, как настроить GPS на работу с картами в системе координат 1942 года можно прочитать здесь. Далее будет идти речь о получении данных именно в этой системе координат.
Главная особенность загрузки данных с GPS (и типичная ошибка новичка в том, что он не учитывает этот факт) заключается в том, что несмотря на то, настроен ли GPS на систему координат отличную от WGS-84 или не настроен, передача данных в программу осуществляется в системе координат WGS-84. Убедиться в правильности такого утверждения просто, достаточно взглянуть на цифры, которые показываются на экране GPS, для определенной точки и координаты этой же точки загруженной с помощью одной из распространенных программ (OziExplorer, DNRGarmin, GPS-Expert и т.д.).
Особенностью работы с любыми программами позволяющими загружать данные с GPS, является их предварительная специальная настройка, для конвертации данных пост-фактум, после загрузки их с GPS. С помощью такой конвертации данные "возвращаются" в нужную систему координат.
Внимание: для корректной работы пересчета координат, необходимо, чтобы разделитель целой и дробной части в операционной системе был точкой, а не запятой, иначе перерасчет произведен не будет.
Таким образом, задача разделяется на три: загрузка данных из GPS, их конвертация и сохранение.
Наиболее удобной для данных операций является программа DNR Garmin, доработанная авторами при тесном сотрудничестве с GIS-Lab. Загрузить программу (программа может интегрироваться с ПО ГИС и использоваться отдельно).
Внимание: после установки программы, если Arcview установлен не в директорию по умолчанию (C:\ESRI\), вам нужно вручную взять файл avx из директории, куда был установлен DNR Garmin, и переместить его в папку Ext32 каталога установки Arcview, например c:\Gis\Arcview3\AV_GIS30\ARCVIEW\EXT32\.
Загрузка данных
Подключив с помощью кабеля ваш прибор к COM или USB-порту компьютера, включите GPS, выберите через меню GPS в качестве интерфейса GRMN/GRMN Host (Setup menu\Interface\, в серии Garmin Etrex название интерфейса - Garmin). Загрузите Arcview 3.x, подключите расширение DNRGarmin (File\Extensions\DNR Gramin - Arcview)
В новом меню, добавшемся в меню Вида, выберите DNR Garmin\Open Garmin GPS
После этого, будет вызвано внешнее приложение (которое, кстати, может работать и без Arcview, загружая и сохраняя данные). Приложение произведет опрос всех портов компьютера и определит модель GPS, версию прошивки и другую информацию о GPS.
После первой загрузки программа предложит на выбор установить проекцию использующуюся создателями программы или другую, можно выбрать любой ответ - Нет, а потом в окне выбора проекции нажать на None. В строке статуса программы появится: Projection: No Projection, что означает, что никакой проекции (или системы координат в нашем случае) программе не задано и она не будет пересчитывать полученные данные на лету.
Для загрузки данных, выберите из меню Waypoint\Download, через некоторое время данные будут загружены. GPS при этом должен быть включен. Загруженные данные будут загружены в специальную таблицу.
Так как систему координат мы пока не задали, исходные данные (полученные с GPS, красная рамка), равны пересчитанным (зеленая рамка). Остальные поля являются дополнительными, вы можете отключить их с помощью меню Waypoint\Waypoint Properties...
В дальнейшем, задав один раз нашу систему координат, делать это снова не придется.
Пересчет данных полученных с GPS
После того, как данные получены в специальную таблицу, необходимо один раз настроить программу DNR Garmin, чтобы в дальнейшем она на лету пересчитывала полученные данные в нужную нам систему координат. Для примера рассмотрим конвертацию в систему координат 1942 года (Pulkovo-1942, СК-42) c параметрами трансформации датума приведенными в [gps.html этой статье].
Для этого, необходимо найти файл epsg в одной из поддиректорий директории, куда был установлен DNR Garmin (\proj\nad\), например полный путь к файлу может выглядеть так: c:\Gis\DNRGarmin\proj\nad\epsg. Файл необходимо открыть в любом текстовом редакторе и добавить в конец файла такой текст:
# SK42-GOST / SK-42 (3-param, GOST) <200097> +proj=latlong +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0,0,0
Где:
- SK42-GOST - названиедля наших параметров трансформации датума (произвольное);
- SK-42 (3-param, GOST) - описание для нашей системы координат (произвольное), в нашем случае проекция как таковая отсутствует в принципе, но название ей все равно надо задать;
- <200097> - уникальный код для наших настроек (см. далее); Внимание: этот код должен быть уникальным, то есть файл epsg не должен содержать других записей с таким кодом, иначе будут использованы они, а не данная настройка.
- +proj=latlong - проекция - географическая;
- +ellps=krass - эллипсоид Красовского;
- +towgs84=23.92,-141.27,-80.9,0,0,0,0' - линейные и угловые элементы перехода от WGS-84 к СК-42 (трансформация датума) взятые из ГОСТ 51794-2001;
Далее необходимо показать программе, что нам необходимо использовать именно эти настройки для пересчета координат. Для этого необходимо выбрать File\Set Projection и в поле POSC Codes ввести наш уникальный номер настроек, в данном случае 200097 и нажать Enter. Сделанные нами настройки загрузятся в окно настроек проекции.
После принятия настроект, загруженные в данный момент в таблицу данные будут пересчитаны, за исходные будут приняты данные из полей lat, long, пересчитанные значения будут помещены в поля x_proj, y_proj.
Получаемые таким образом данные до 6 знака после запятой соответствуют пересчету проводимому самим прибором GPS (то что он, собственно показывает на экране) и пересчету в пакете Arcinfo Workstation c такими настройками перепроектировки, что говорит об отсутствии ошибок в данной ситуации и о том, что программе можно доверить данную операцию. Используемое преобразование для GPS, DNR Garmin и Arcinfo Workstation одинаково - 3-х параметрическое преобразование Молоденского.
Сохранение данных
После сохранения данных и их конвертации, их можно сохранить в shape-формате, при этом, если DNR Garmin был запущен из Arcview - созданный shape-файл сразу будет добавлен как тема Arcview в Вид. Точки можно сохранить как в спроектированном виде (Arcview Shapefile (Projected)), так и в исходном в WGS-84 (Arcview Shapefile (Unprojected)).
Проверка
Если у вас есть сомнения в правильности цифр, которые вы получаете после перепроектировки, создайте новую точку выбрав Edit\Add record, дважды нажать на 0 в поле lat, набрать 50 и также набрать 50 в поле long, затем, выбрать из меню Edit\Project coordinates и сравните то что получается у вас и то, что получается у нас (об этих цифрах выше говорится, что они на 20-30см отличаются от спроектированных с помощью Arcinfo Workstation).
Ссылки по теме
- Настройка GPS для работы с российскими картами
- Формулы пересчета данных GPS-измерений из WGS-84 в СК-42 и обратно
- ГОСТ 51794-2001 Аппаратура радионавигационная глобальной навигационной спутниковой системы и глобальной системы позиционирования. Системы координат. Методы преобразования координат определяемых точек.