我有一个地理参考的RGB卫星图像来自MODIS仪器的geotiff格式。 使用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代码的投影。所以我用Google搜索了Cassini-Soldner EPSG代码(9806),但是卡车ccrs.epsg()
并没有认出它。
我想使用plt.imshow()
方法,但是我在创建轴时使用什么作为投影关键字以及在{{1}中作为transform=
参数传递的内容时感到困惑}}
答案 0 :(得分:0)
(我会将此添加为评论,但我需要50个代表。)
出于兴趣,你是如何通过卡西尼投影MODIS RGB来的?
另一种方法是使用我制作的Cartopy拉取请求,它允许时间维度与GeoAxes.add_wmts()一起使用,这样您就可以从NASA GIBS中拉出MODIS RGB图像切片。直接进入Cartopy GeoAxes:https://github.com/SciTools/cartopy/pull/788
编辑:此功能在v0.15