Работа с MapWindow GIS. Проекция карт

3 минуты на чтение

Ну что, наконец-то вернулся к ГИС. Тут, на блоге, многие мне задавали вопросы насчет неправильного отображения карт, в самом компоненте библиотеки MapWindowsGISTMap, а также некоторые пользователи, уже в комментариях, давали правильные ответы, мне пришлось лишь эту тему немного «поковырять» и понять что к чему. Проблема состоит вот, что отображение некоторых карт происходит не в нужных проекциях, то есть часть карты уползает куда-то в бок, при этом в других ГИС все наблюдается отлично. Вот я тут немного порылся на сайтах ГИС, скачал QGIS и понял, что систему координат Вы можете задавать абсолютно свою. При этом, если у Вас не получиться это сделать программно, то это очень просто делается через туже самую QGIS.

Тут пользователи оставляли ссылки, как установить проекцию, точнее, какие проекции установить, чтобы отображалась хорошо (по центру компонента TMap) карта России (слой shp с сайта GIS-Lab). Для этого, Вы можете на сайте GIS-Lab посмотреть, а точнее ОПИСАНИЕ ПРОЕКЦИЙ ИСПОЛЬЗУЕМЫХ GIS-Lab.

На данной странице имеется описание — для какой части России лучше всего использовать какие проекции. Например, вот эта проекция, для Европейской части России:

PROJ.4: +proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=45 +x_0=8500000 +y_0=0 +ellps=krass +units=m +towgs84=28,-130,-95,0,0,0,0 +no_defs

Данная проекция находится в файле, формата *.prj. Но ее можно задать и программно, после того, как Вы загружаете shape-файл, с помощью свойства Projection мы и задаем нашу проекцию, например:

shp.Projection:='+proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=105 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=28,-130,-95,0,0,0,0 +units=m +no_defs';

Вы же на забыли, что shp у нас типа ShapeFile, и вначале его необходимо создать, затем с помощью функции Open открыть, ну а затем кодом выше прописывать нужные нам проекции

Кроме этого, Вы сможете скачать с сайта GIS-Lab любую карту, открыть файл *.prj данного слоя и посмотреть: каким образом, там описывается проекция, таким же образом можно описать, в данном файле, нужную Вам проекцию.

Идем дальше, как я и говорил, что я скачал ГИС - QGIS. Через нее можно также устанавливать нужные нам проекции, нужных нам карт. Думаю, что это самый простой способ. Для этого, мы, что делаем: выполняем команду «Установки-Ввод системы координат» и появляется следующее окно:

Далее, мы вводим нужные нам координаты и нажимаем на кнопку «Ок». Теперь, необходимо наш слой, с нужными (с установленными нами новыми координатами) сохранить. Для этого в главном окне программы, в поле «Слои»

В данном случае — это у меня regions2010. Нажимаем правой кнопкой мыши по нашему слою региона и в появившемся контекстном меню выбираем «Сохранить как», появляется окно:

В данном окне, выбираем путь, куда сохранять наш слой, а также систему координат, после чего сохраняется полный набор слоя (файл БД, файл слоя, файл проекций и так далее). После чего, Вы можете уже попробовать загрузить в свой проект — сохраненный слой. Вот, как у меня стала отображаться карта России, после того, как я пересохранил ее, через QGIS, с новыми системами координат

Как видите, все по центру, никуда и ничего не съезжает. Я никаких исходников в данной статье выкладывать не буду, но выложу исходники слоя карты России, который я пересохранил через ГИСQGIS. Скачать QGIS Вы сможете с официального сайта.

Исходники карты России, проекционные, качаем тут

Facebook Vk Ok Twitter LinkedIn Telegram

Похожие записи:

Всех приветствую, хочу продолжить тему по MapWindow GIS в Delphi, а на этот раз хотелось бы поговорить о новой версии, которая вышла совсем недавно в июне, данного года, последняя версия сборки 4.8.2. Скачать можно с официального сайта MapWindow GIS, благо дан...
Всем привет, продолжаем тему с MapWindow GIS, а в особенности рассматриваем тему, которая посвящена именно выходу новой версии MapWindow GIS в виде ActiveX-компонента, в которой появилось достаточно много изменений, о которых (о некоторых) я вспоминал в данной...
Всем привет, данная статья будет посвящена — двум географическом-информационным системам: Яндекс.Карты совместно с MapWindow GIS в Delphi. Яндекс.Карты мы уже использовали в своих проектах, и рассматривали их (Static Api), теперь попробуем совместить эти два д...