微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

坐标系转换

如何解决坐标系转换

我在Matlab用Putpole和Rotatem制作的网格上有数据。 我无权访问原始数据,但想在其上使用Python。 网格的原点是78度和11度(星形标记),但用方格图进行绘制始终会将北极放在中间,所以我的数据有些偏离。

有人知道如何解决吗? 我尝试了false_northing,但没有做任何事情。请忽略我正在尝试解决地图问题的可怕的颜色条。

    fig=plt.figure(figsize=(8,8))
    ax = fig.add_subplot(1,1,projection=ccrs.northPolarstereo())
    cmap = plt.get_cmap('jet')

    #plotting settings
    ax.set_extent([-180,180,40,90],ccrs.PlateCarree())
    ax.gridlines(linewidth=2,color='k',alpha=0.7,linestyle='--')
    ax.coastlines(zorder=3)

    ZEP_coords=(78.9,11.8)
    ax.plot(ZEP_coords,'*',c='orangered',markersize=25,transform=ccrs.PlateCarree())

    data_mod,lon_mod = add_cyclic_point(a,coord=lon)
    plt.contourf(lon_mod,lat,data_mod,20,vmin=0,vmax=0.05,cmap=cmap,transform=ccrs.PlateCarree())
    plt.colorbar()

绘制当前的样子:

img1

数据结构和我拥有的所有信息:

img2

解决方法

如果您将NorthPolarStereo用作投影,则可以指定中心纬度和经度而不是Stereographic。您可能还需要查看RotatedPole投影。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。