Ну что, наконец-то вернулся к ГИС. Тут, на блоге, многие мне задавали вопросы насчет неправильного отображения карт, в самом компоненте библиотеки 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 Вы сможете с официального сайта.

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


Кстати, хочу заметить, что сейчас Мобильные телефоны Nokia становятся очень популярными, одним из главных достоинств данных мобильных телефонов является компактность, а также их цена и качество. А в Интернет-магазине их покупка станет для Вас еще и быстрой, чем Вы сэкономите свое драгоценное время.


Метки: , , , , , , ,




К записи “Работа с MapWindow GIS. Проекция карт” оставлено комментариев: 8.

  1. Maringo:

    Скажите, пожалуйста, за что отвечают параметры в строке проекции) Столько символов, что-то неверно опишешь.

    • Andrey53:

      я бы посоветовал, Вам посмотреть ответ на Ваш вопрос, на сайте gis-lab, так как какие параметры что я не вникал, либо открыть другую GIS, например QGIS и посмотреть там.

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

Вы можете использовать следующие теги:

*