Ну что, наконец-то вернулся к ГИС. Тут, на блоге, многие мне задавали вопросы насчет неправильного отображения карт, в самом компоненте библиотеки MapWindowsGIS — TMap, а также некоторые пользователи, уже в комментариях, давали правильные ответы, мне пришлось лишь эту тему немного «поковырять» и понять что к чему. Проблема состоит вот, что отображение некоторых карт происходит не в нужных проекциях, то есть часть карты уползает куда-то в бок, при этом в других ГИС все наблюдается отлично. Вот я тут немного порылся на сайтах ГИС, скачал 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';
Кроме этого, Вы сможете скачать с сайта GIS-Lab любую карту, открыть файл *.prj данного слоя и посмотреть: каким образом, там описывается проекция, таким же образом можно описать, в данном файле, нужную Вам проекцию.
Идем дальше, как я и говорил, что я скачал ГИС - QGIS. Через нее можно также устанавливать нужные нам проекции, нужных нам карт. Думаю, что это самый простой способ. Для этого, мы, что делаем: выполняем команду «Установки-Ввод системы координат» и появляется следующее окно:
Далее, мы вводим нужные нам координаты и нажимаем на кнопку «Ок». Теперь, необходимо наш слой, с нужными (с установленными нами новыми координатами) сохранить. Для этого в главном окне программы, в поле «Слои»
В данном случае — это у меня regions2010. Нажимаем правой кнопкой мыши по нашему слою региона и в появившемся контекстном меню выбираем «Сохранить как», появляется окно:
В данном окне, выбираем путь, куда сохранять наш слой, а также систему координат, после чего сохраняется полный набор слоя (файл БД, файл слоя, файл проекций и так далее). После чего, Вы можете уже попробовать загрузить в свой проект — сохраненный слой. Вот, как у меня стала отображаться карта России, после того, как я пересохранил ее, через QGIS, с новыми системами координат
Как видите, все по центру, никуда и ничего не съезжает. Я никаких исходников в данной статье выкладывать не буду, но выложу исходники слоя карты России, который я пересохранил через ГИС — QGIS. Скачать QGIS Вы сможете с официального сайта.
Исходники карты России, проекционные, качаем тут