Страница 1 из 1

shapefile для России

Добавлено: 21 май 2010, 11:25
sever
Добрый день.
У меня такой вопрос: требуется программно создать карту России с субъектами. Взял готовый shapefile с этого сайта. Загрузил слой с area. Карта отрисовалась. ВСЕ чудно, но маленькая восточная часть страны оказалась где-то слева на карте. Я так понимаю, это связано с тем, что информация для России в этом файле склеена из ряда частей карты мира. Можно как-то поправить этот момент (хотелось бы видеть целостную территорию страны)?
Спасибо.

Re: shapefile для России

Добавлено: 21 май 2010, 11:51
Дмитрий Барышников
Нужно использовать другую проекцию, например, см. http://gis-lab.info/qa/gis-lab-projections.html

Re: shapefile для России

Добавлено: 21 май 2010, 13:37
sever
Bishop писал(а):Нужно использовать другую проекцию, например, см. http://gis-lab.info/qa/gis-lab-projections.html
Спасибо. А не могли бы Вы поподробнее описать процесс? Я не очень понял суть этих проекций.
Заранее благодарю.

Re: shapefile для России

Добавлено: 21 май 2010, 13:48
sever

Re: shapefile для России

Добавлено: 21 май 2010, 14:02
SS_Rebelious
Лучше берите данные отсюда - они точнее.

Вот границы субъектов в подходяшей проекции

Re: shapefile для России

Добавлено: 21 май 2010, 14:07
sever
SS_Rebelious писал(а):Лучше берите данные отсюда - они точнее.

Вот границы субъектов в подходяшей проекции
Спасибо за совет. То, что надо.
А если я сверху еще одним слоем положу населенные пункты, то они корректно отобразятся?

Re: shapefile для России

Добавлено: 21 май 2010, 14:34
SS_Rebelious
sever писал(а):А если я сверху еще одним слоем положу населенные пункты, то они корректно отобразятся?
Если в той ГИС, которой вы пользуетесь включить перепроецирование на лету, то да.

Re: shapefile для России

Добавлено: 21 май 2010, 14:39
sever
SS_Rebelious писал(а):
sever писал(а):А если я сверху еще одним слоем положу населенные пункты, то они корректно отобразятся?
Если в той ГИС, которой вы пользуетесь включить перепроецирование на лету, то да.
Что-то я не могу получить результат. Подскажите пожалуйста, как это сделать.
Я делаю так:

Код: Выделить всё

// добавил слой с субъектами РФ из regions2010.shp
// ......
// новый слой для населенных пунктов
MapWinGIS.Shapefile shapefile3 = new MapWinGIS.Shapefile();
shapefile3.Open(@"H:\Develop\Projects\Maps\pop-miscellaneous-population-p-gislab_Вологодская_область.shp", null);
shapefile3.Projection = "+proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=105 +x_0=18500000 +y_0=0 +ellps=krass +units=m +towgs84=28,-130,-95,0,0,0,0 +no_defs "; // тут меняю проекцию
intHandler3 = axMap1.AddLayer(shapefile3, true);
//отрисовываю слой

Re: shapefile для России

Добавлено: 21 май 2010, 14:40
sever
заметил, что

Код: Выделить всё

shapefile3.Projection = "+proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=105 +x_0=18500000 +y_0=0 +ellps=krass +units=m +towgs84=28,-130,-95,0,0,0,0 +no_defs ";
не меняет проекцию

Re: shapefile для России

Добавлено: 22 май 2010, 12:03
sever
можно ли как-то перепроецировать файл с населенными пунктами (pop-miscellaneous-population-p-gislab_Вологодская_область.shp) по проекцию "+proj=aea +lat_1=52 +lat_2=64 +lat_0=0 +lon_0=105 +x_0=18500000 +y_0=0 +ellps=krass +units=m +towgs84=28,-130,-95,0,0,0,0 +no_defs"?

Re: shapefile для России

Добавлено: 22 май 2010, 16:41
Максим Дубинин
для QGIS рецепт пойдет? или обязательно в MapWindow?

Re: shapefile для России

Добавлено: 22 май 2010, 18:45
sever
sim писал(а):для QGIS рецепт пойдет? или обязательно в MapWindow?
Конечно, любой рецепт подойдет. Спасибо.

Re: shapefile для России

Добавлено: 22 май 2010, 20:09
Максим Дубинин
1. Загружаете слой в QGIS (должен иметь prj-файл)
2. Идете в Установки\Ввод СК - вводите нужну вам СК. Сохраняете
3. Прав. кнопкой на слой в списке - Save as - выбираете нужную СК.

Изображение