首页 > 解决方案 > Matplotlib 底图:地图坐标

问题描述

我正在寻找一种简单的方法来确定如何为“lcc”投影提取 lon lat 坐标。我正在尝试隔离阿拉伯海,如以下代码所示,但不知何故我得到的是缩小视图。

m = Basemap(projection='lcc', width=12000000, height=9000000,
resolution='c', lat_1=47.536042,lat_2=23.878382,lat_0=56.362771,lon_0=30.517389)

这就是我得到的: 在此处输入图像描述

这就是我想要的(红框区域) 在此处输入图像描述


从答案中,我得到了我想要的下图,但现在各大洲都被像素化了。有没有办法解决这个问题?

m = Basemap(projection='lcc', width=1200000, height=900000,
resolution='c', lat_1=47.536042,lat_2=23.878382,lat_0=26.8,lon_0=51.3)
m.drawlsmask(land_color='grey', ocean_color='none', lakes=True, zorder=26)
m.drawcoastlines(linewidth=0.3, color='gray', zorder=25)

在此处输入图像描述

标签: pythonprojectionmatplotlib-basemap

解决方案


不是您问题的直接答案,但可能是您的问题:

lat_0 和 lon_0 参数给出了地图的中心。您当前的值应该在波罗的海地区的某个地方,与您的输出相匹配。此外,宽度和高度值以米为单位,并且似乎与您获得的地图相匹配。从地图上观察坐标,阿拉伯海似乎大致位于 lat=26.8 lon=51.3,宽约 400 公里,因此如果您插入这些值,您可能会得到想要的结果。


推荐阅读