python - 纬度/经度指向platecarree投影图像

问题描述

我有来自 NSIDC 的海冰厚度数据。每个文档,投影细节如下

数据被网格化到极地立体 SSM/I 网格并参考 WGS-84 椭球, 与每个网格点中心纬度和经度提供数据。"

海冰厚度 (SIT) 是描绘北极海冰的二维阵列。图像的视图是顶视图。 SIT 数组中的每个条目都有对应的 lat 和 lon 值的二维数组。

如果我执行 plt.imshow(SIT),那么我会得到如下所示的图像

enter image description here

我将它们转换为 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 像素等,但我得到的图像如下。

enter image description here

如果您仔细观察,则此图像似乎有些失真和空白。人们可以看到它创建了线条。 我相信这是由于这些坐标的错误转换造成的。

我不确定哪种方法更能达到目标。是否有任何 python 库或映射,可以提供帮助?我正在阅读关于 gis.stackoverflow 的一些关于转换和 gdal 公式的帖子。此刻,他们都在我头上。希望我能尽快习惯术语:)

目标: 将海冰数据转换为这些坐标并将其添加到基础世界地图图像中,如下所示。 合并后的图像将被送入 JS graphic library from Apache E-charts to create a 3D image

Platecarree 投影中的基础图像示例

注意:我是第一次这样做,学习坐标系统、geopandas 等。

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...