在NAD83下获取经度

时间:2019-06-11 13:34:45

标签: python raster

我正在尝试从光栅图像中读取较长的信息。

我用rasterio包打开图像:

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]]')

我的投影是什么?我想在NAD83,epsg:4269下有个lat。看来我已经处于这个预测之下了?但是,为什么经久不显示-90,40之类的东西?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

'PROJCS["Albers Conical Equal Area"

指示CRS是投影坐标系,而不是未投影坐标系(NAD83也是如此)。

这就是为什么要获得以米为单位的X,Y坐标,而不是以度为单位的纬度,经度对的原因。图片CRS的最后一行解释:

UNIT["meters",1]]') 

显然,系统为SR-ORG:8538 LNF FF斜率,具有以下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