当我知道它在陆地上时,底图为什么在陆地上绘制此经纬度?

时间:2019-06-01 06:49:26

标签: python matplotlib-basemap

我正在底图上的澳大利亚新南威尔士州地图上方创建散点图,并且雷达图(我知道是lon = 151.2095,lat = -33.7008)的位置绘制在海洋中时它实际上是内陆的。为什么会这样?

from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt

def plot_gauges_on_map():

    lon_0, lat_0 = 151.2095, -33.7008
    width = 1000000
    m = Basemap(width=width,height=width,projection='aeqd',
            lat_0=lat_0,lon_0=lon_0)
    # fill background.
    m.drawmapboundary(fill_color='dodgerblue')
    # draw coasts and fill continents.
    m.drawcoastlines(linewidth=0.5)
    m.fillcontinents(color='peru',lake_color='dodgerblue')
    # draw a black dot at the radar.
    xpt, ypt = m(lon_0, lat_0)
    m.plot([xpt],[ypt],'ko')
    # draw the title.
    plt.title('Terrey Hills Radar')
    plt.show()

plot_gauges_on_map()

1 个答案:

答案 0 :(得分:0)

您没有指定要使用的地图边界数据库的resolution,因此,原始数据库已生效。为了获得适当的分辨率,应该在Basemap()语句中添加选项resolution="i",其中“ i”代表中级。可能的分辨率为:-c(粗略,默认设置),l(低),i,h(高)和f(满)。图的输出将如下所示。

enter image description here