Определение проекции слоя + 180 меридиан.

Системы координат, проекции, преобразования, привязка
Ответить
Аватара пользователя
Anton_Kh
Участник
Сообщения: 61
Зарегистрирован: 13 мар 2012, 18:10
Репутация: 37
Откуда: Харьков
Контактная информация:

Определение проекции слоя + 180 меридиан.

Сообщение Anton_Kh » 09 дек 2013, 03:54

Доброго дня!

Имеется ряд SHP-файлов без файла PRJ.

Необходимо установить в какой проекции эти данные создавались для того чтоб создать PRJ-файл и далее их трансформировать в какую-либо общепринятую систему координат.

Особенностью территории и объектов является то что через них проходит 180 меридиан.
И лежит в 2-х зонах WGS 84 / UTM zone 60N и WGS 84 / UTM zone 1N.

К шейпам имеется текстовый файл с описанием проекции:

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

	Projection:	 	Transverse Mercator
	Spheroid:		 Krasovsky
	Units:			 Meters
	Scale factor:		0.9996
	Central meridian:		-179 degrees
	Latitude of origin:	0
	False easting:		500,000
	False northing:		0
Исходя из приведенных параметров пробывал создать PRJ-файл средствами ogr2ogr:
(центральный меридиан -179 град)

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

ogr2ogr -a_srs "+proj=tmerc +lat_0=0 +lon_0=-179 +k=0.9996 +x_0=500.000 +y_0=0 +ellps=krass +units=m +no_defs" -f "ESRI Shapefile" BORDER-179.SHP BORDER.SHP
получаем PRJ-файл следующего содержания:

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

PROJCS["Transverse_Mercator",GEOGCS["GCS_Krassovsky, 1942",DATUM["D_unknown",SPHEROID["krass",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-179],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500],PARAMETER["false_northing",0],UNIT["Meter",1]]
и так (центральный меридиан 179 град):

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

ogr2ogr -a_srs "+proj=tmerc +lat_0=0 +lon_0=179 +k=0.9996 +x_0=500.000 +y_0=0 +ellps=krass +units=m +no_defs" -f "ESRI Shapefile" BORDER179.SHP BORDER.SHP
получили PRJ-файл:

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

PROJCS["Transverse_Mercator",GEOGCS["GCS_Krassovsky, 1942",DATUM["D_unknown",SPHEROID["krass",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",179],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500],PARAMETER["false_northing",0],UNIT["Meter",1]]
Для проверки правильности результатов спроецирования использовал сцену Ландсат LC80950102013175LGN00 имеющую СК 'WGS 84 / UTM zone 60N'.

При включенной конвертации на лету ни один из 2-х созданных файлов не попал куда нужно — малиновый и коричневый полигоны.

При попытке просто добавить векторный файл в проект, при приглашении выбрать СК, в случае выбора UTM zone 60N, полигон попадал в соответсвующюю зону (зеленый полигон). При выборе UTM zone 1N полигон попадает соответственно в зону UTM zone 1N (синий полигон).

Прошу посоветовать как/какую выбрать корректную СК для работы с этими данными.
Вложения
wrangel-island-20131208.png
wrangel-island-20131208.png (130.87 КБ) 5799 просмотров

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Определение проекции слоя + 180 меридиан.

Сообщение Игорь Белов » 09 дек 2013, 06:35

False easting: 500,000
означает не 500, а 500000.
The purpose of computing is insight, not numbers

Аватара пользователя
Anton_Kh
Участник
Сообщения: 61
Зарегистрирован: 13 мар 2012, 18:10
Репутация: 37
Откуда: Харьков
Контактная информация:

Re: Определение проекции слоя + 180 меридиан.

Сообщение Anton_Kh » 12 дек 2013, 01:33

Благодарю за подсказку!
означает не 500, а 500000.
Слой лег практически как надо, но остались неточности.
в целом слой оказался смещенным на запад приблизительно на 400-1400м.
при том, на краю острова, котоый ближе к полюсу смещение значительно сильней чем на южном краю.

Какие правки в описание проекции порекомендуете внести, чтоб слой размещался на 500 метров восточней?
Вложения
wrangel-island-20131211-2a.png
wrangel-island-20131211-2a.png (74.71 КБ) 5703 просмотра
wrangel-island-20131211-2b.png
wrangel-island-20131211-2b.png (490.74 КБ) 5703 просмотра

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Определение проекции слоя + 180 меридиан.

Сообщение Игорь Белов » 12 дек 2013, 06:38

Сдвиг может объясняться происхождением данных. В некоторых зарубежных источниках встречаются ошибки в положении островов в Северном Ледовитом океане до 10 км.
Чтобы сместить слой на 500 метров к востоку, уменьшайте false_easting на 500.
The purpose of computing is insight, not numbers

Ответить

Вернуться в «Координаты и привязка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость