我有来自 MODIS 仪器的 geotiff 格式的地理参考 RGB 卫星图像。使用 cartopy 在地图上绘制并保留 RGB 颜色的正确方法是什么?
我猜的主要障碍是图像的投影,即 Cassini-Soldner:
import numpy as np
from osgeo import gdal, osr
ds = gdal.Open('modis_201303261252_rgb.tif')
print(ds.GetGeoTransform())
(-1669791.8857914428, 250.0, 0.0, 1669792.327327792, 0.0, -250.0)
proj = ds.GetProjection()
inproj = osr.SpatialReference()
inproj.ImportFromWkt(proj)
print(inproj)
PROJCS["unnamed",
GEOGCS["unnamed ellipse",
DATUM["unknown",
SPHEROID["unnamed",6378137,0]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Cassini_Soldner"],
PARAMETER["latitude_of_origin",72],
PARAMETER["central_meridian",-4],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]]]
我尝试按照此示例https://ocefpaf.github.io/python4oceanographers/blog/2015/03/02/geotiff/
并使用 cartopy 定义 EPSG 代码的投影。所以我用谷歌搜索了 Cassini-Soldner EPSG 代码 (9806),但 cartopyccrs.epsg()
无法识别它。
我想使用plt.imshow()
方法,但是我有点困惑在创建轴时使用什么作为投影关键字以及transform=
在imshow
.