Настройка пользовательской строки proj4string

У меня есть растр, который я загрузил, и по какой-то причине при его считывании нет «proj4string».

ndvi= raster("av_TOTND1996v4.bsq")
> proj4string(ndvi)
[1] NA

В документации говорится, что она имеет географическую привязку, и мне интересно, могу ли я создать пользовательскую «proj4string» для определения данных. У меня также есть доступ к ARCGIS, однако я не совсем знаком с ним и не могу понять, как сбросить центр проекции.

Предоставляемая информация о географической привязке:

Spatial_Reference_Information:
Horizontal_Coordinate_System_Definition:
Planar:
Map_Projection:
Map_Projection_Name: Lambert Azimuthal Equal Area
Lambert_Azimuthal_Equal_Area:
Longitude_of_Projection_Center: -100.000000
Latitude_of_Projection_Center: 45.000000
False_Easting: 0.000000
False_Northing: 0.000000
Planar_Coordinate_Information:
Planar_Coordinate_Encoding_Method: row and column
Coordinate_Representation:
Abscissa_Resolution: 1000.000000
Ordinate_Resolution: 1000.000000
Planar_Distance_Units: meters
Geodetic_Model:
Horizontal_Datum_Name: D_Sphere_ARC_INFO
Ellipsoid_Name: Sphere_ARC_INFO
Semi-major_Axis: 6370997.000000
Denominator_of_Flattening_Ratio: infinity

person Reed    schedule 01.03.2015    source источник


Ответы (1)


Лучше всего попытаться найти код данных у того, кто предоставил вам данные. В противном случае вам придется построить строку proj4, предполагая, что у вас есть все детали...

Вы можете искать коды пространственной привязки на http://spatialreference.org/, поэтому, если ваши данные относятся к известной географической области возможно, вы могли бы поискать это место (например, если это проект на Мадагаскаре, может быть, он использует мадагаскарскую сетку).

Этот сайт также является хорошим источником примеров строк proj4, которые могут научить вас создавать их из вашей информации. Например, вот европейская коническая проекция равной площади Ламберта, которая может быть немного похожа на вашу:

http://spatialreference.org/ref/epsg/3035/proj4/

Хотя ваша центральная долгота -100 говорит мне, что это не это (и это не Мадагаскар...)

HTML-версия проекции немного более информативна в отношении того, что означают параметры:

http://spatialreference.org/ref/epsg/3035/html/

Обратите внимание, что proj4string не будет определять размер ячеек вашей сетки. Вам, вероятно, придется сделать это, установив размер сетки. На самом деле я не вижу никакой информации о том, где в вашей системе координат находятся ячейки сетки. Что вам говорит экстент(ndvi)? Вы уверены, что у вас нет сопутствующего .hdr файла?

person Spacedman    schedule 01.03.2015
comment
Спасибо, это было очень полезно, и я придумал это: 'proj.ndvi = +proj=aeqd +lat_0=-100 +lon_0=45 +x_0=1000, +y_0=1000 +units=m' Когда я установил это, а затем проверьте его, он обнаружит, что аргумент «ellps» по умолчанию равен «WGS84». ('координатное задание: +proj=aeqd +lat_0=-100 +lon_0=45 +x_0=1000, +y_0=1000 +units=m +ellps=WGS84'). Мне просто любопытно, правильно ли это значение по умолчанию, или где я могу найти дополнительную информацию о том, каким оно должно быть, поскольку имя «Sphere_ARC_INFO», указанное в метаданных (выше), генерирует ошибку «неизвестное эллиптическое имя параметра». - person Reed; 01.03.2015
comment
есть сопутствующий файл .hdr, но я понятия не имею, как его использовать, я что-то упускаю, когда читаю в файле? - person Reed; 01.03.2015
comment
Похоже на сферу такого радиуса, поэтому попробуйте добавить a=6370997 и b=6370997. Не могли бы вы добавить вывод summary(ndvi) в свой вопрос — это может сказать нам, читается ли он в файле hdr. Если он имеет то же имя, что и .bsq, и находится в той же папке, его следует прочитать (но в любом случае в нем может не быть проекции). На самом деле, мне интересно, является ли EPSG:2163 вашей проекцией: spatialreference.org/ref/epsg/2163 /html (находится путем поиска радиуса этой сферы) - person Spacedman; 02.03.2015