从proj4参数构建cartopy CRS

2024-09-29 17:46:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我下载了一个MODIS.hdf文件。用xarray加载它,它给我一个属性ds.Proj4String == ' +a=6378137.0 +b=6356752.3142451793 +no_defs +proj=latlong\n'。在

如何使用该字符串将原始坐标转换为例如lat/lon?在

数据如下:

<xarray.Dataset>
Dimensions:                  (XDim:mod06: 1503, YDim:mod06: 833)
Dimensions without coordinates: XDim:mod06, YDim:mod06
Data variables:
    Cloud_Optical_Thickness  (YDim:mod06, XDim:mod06) float32 ...
Attributes:
    HDFEOSVersion:     HDFEOS_V2.19
    StructMetadata.0:  GROUP=SwathStructure\nEND_GROUP=SwathStructure\nGROUP=...
    CoreMetadata:      \nGROUP = INVENTORYMETADATA\n  GROUPTYPE = MASTERGROUP...
    ArchiveMetadata:   GROUP = ARCHIVEDMETADATA\n  GROUPTYPE = MASTERGROUP\n\...
    Proj4String:        +a=6378137.0 +b=6356752.3142451793 +no_defs +proj=lat...

docs告诉我将proj4_params作为键值对传递,所以我继续

^{pr2}$

并到达{'a': '6378137.0', 'b': '6356752.3142451793', 'proj': 'latlong'},但是ccrs.CRS(proj)仍然抛出一个关于属性globe丢失的错误。在


Tags: no属性groupdefsdimensionsprojxarraylat
1条回答
网友
1楼 · 发布于 2024-09-29 17:46:37

还不支持仅从proj.4字符串创建卡通投影,请参见this PR。您所使用的CRS类本身不足以在CartoPy中创建一个功能齐全的投影,它实际上是为其他投影设计的基类。在

就您得到的错误而言,globe是一个必需的参数,而不管proj4_params中传递了什么。您可以使用如下内容创建Globe实例:

^{1}$

相关问题 更多 >

    热门问题