Получить лат под NAD83 - PullRequest
1 голос
/ 11 июня 2019

Я пытаюсь прочитать в лат длинную информацию из растрового изображения.

Я использовал пакет растерио, чтобы открыть изображение:

cdl = rasterio.open('2018_30m_cdls/2018_30m_cdls.img')
cdl.xy(1, 1)

Вывод:

(-2356050.0, 3172560.0)

Я посмотрел на crs этого изображения:

CRS.from_wkt('PROJCS["Albers Conical Equal Area",
GEOGCS["NAD83",DATUM["North_American_Datum_1983",
SPHEROID["GRS1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,-0,-0,-0,0],AUTHORITY["EPSG","6269"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4269"]],
PROJECTION["Albers_Conic_Equal_Area"],
PARAMETER["standard_parallel_1",29.5],
PARAMETER["standard_parallel_2",45.5],
PARAMETER["latitude_of_center",23],
PARAMETER["longitude_of_center",-96],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["meters",1]]')

В какой я проекции?Я хочу иметь lat long под NAD83, epsg: 4269.Кажется, я уже под этой проекцией?Но почему лат лонг не показывает что-то вроде -90, 40?

Заранее спасибо !!

1 Ответ

1 голос
/ 16 июня 2019

'PROJCS["Albers Conical Equal Area"

указывает на то, что CRS является спроецированной системой координат, а не непрогнозируемой (как NAD83).

Вот почему вы получаете координаты X, Y вметров вместо широты, долготы в градусах.Объясняется последней строкой изображения CRS:

UNIT["meters",1]]') 

Видимо, система SR-ORG: 8538 LNF FF Slope со следующим определением строки PROJ4:

+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs 

... но вы можете проверить CRS изображения, который определяется путем выполнения:

cdl.crs

Самый простой способ получить координаты NAD83 - это перепроецировать изображение на EPSG:4269используя утилиту rio:

rio edit-info --crs EPSG:4269 2018_30m_cdls.tif

Обратите внимание, что вам, вероятно, потребуется сначала преобразовать из формата img в tif.

...