问题描述
我有来自 NSIDC 的海冰厚度数据。每个文档,投影细节如下
数据被网格化到极地立体 SSM/I 网格并参考 WGS-84 椭球, 与每个网格点中心纬度和经度提供数据。"
海冰厚度 (SIT) 是描绘北极海冰的二维阵列。图像的视图是顶视图。 SIT 数组中的每个条目都有对应的 lat 和 lon 值的二维数组。
如果我执行 plt.imshow(SIT),那么我会得到如下所示的图像
我将它们转换为 geopandas df,每个值使用 Point(lon,lat) 并将 SIT 作为值列。
我现在正在尝试将该 numpy 数组转换为图像,即 PlateCarree 投影 (epsg4326)。好吧,它也可能有另一个名字,但我不确定。
我尝试过使用 gpd.GeodaFrame.plot() 我也尝试简单地创建一个散点图
fig,ax = plt.subplots(figsize=(12,6))
sea_ice.plot.scatter("lon","lat",c="sea_ice_thickness",ax=ax)
_ = plt.ylim(-90,90)
_ = plt.axis("off")
fig.delaxes(fig.axes[1])
他们都给了我相似的输出。但是,我发现 scatterplot 比 geopandas.plot 快得多 涉及一些预处理,例如删除填充 0,将图像缩放到 4096x2048 像素等,但我得到的图像如下。
如果您仔细观察,则此图像似乎有些失真和空白。人们可以看到它创建了线条。 我相信这是由于这些坐标的错误转换造成的。
我不确定哪种方法更能达到目标。是否有任何 python 库或映射,可以提供帮助?我正在阅读关于 gis.stackoverflow 的一些关于转换和 gdal 公式的帖子。此刻,他们都在我头上。希望我能尽快习惯术语:)
目标: 将海冰数据转换为这些坐标并将其添加到基础世界地图图像中,如下所示。 合并后的图像将被送入 JS graphic library from Apache E-charts to create a 3D image。
Platecarree 投影中的基础图像示例
注意:我是第一次这样做,学习坐标系统、geopandas 等。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)