ESRI 层显示在一台机器上但不显示在另一台机器上
ESRI layer showing on one machine but not another
当我在我的机器上运行下面的代码时,没有显示街道信息:
然而,当我 运行 在另一台机器上使用完全相同的代码时,地图成功加载:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
lat_min = 39.714223
lat_max = 39.790
long_min= -105.184
long_max = -104.962
m= Basemap(llcrnrlon=long_min, llcrnrlat=lat_min, urcrnrlon=long_max, urcrnrlat=lat_max, lat_0=(lat_max - lat_min)/2, lon_0=(long_max-long_min)/2, projection='merc', epsg=4326, resolution = 'c', area_thresh=10000.,)
m.drawcoastlines()
m.drawcountries()
m.drawstates()
m.drawmapboundary()
m.arcgisimage(service='ESRI_StreetMap_World_2D', xpixels=2000, verbose=True, zorder=1)
plt.show()
除了显示 ESRI 图层所需的安装底图之外,是否还有额外的导入步骤?几个月前,我在脚本运行的机器上安装了 Basemap,我不记得是否需要任何额外的步骤。
您的问题出在 drawmapboundary()
上,默认情况下,它用 Axes
背景色填充地图。将命令保留在外或将填充颜色设置为 'none'
将解决问题。 IE。代码:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
lat_min = 39.714223
lat_max = 39.790
long_min= -105.184
long_max = -104.962
m= Basemap(
llcrnrlon=long_min, llcrnrlat=lat_min,
urcrnrlon=long_max, urcrnrlat=lat_max,
##lat_0=(lat_max + lat_min)/2,
##lon_0=(long_max+long_min)/2,
projection='merc',
epsg=4326,
resolution = 'c',
area_thresh=10000.,
)
m.drawcoastlines()
m.drawcountries()
m.drawstates()
m.drawmapboundary(fill_color='none')
m.arcgisimage(service='ESRI_StreetMap_World_2D', xpixels=2000, verbose=True, zorder=1)
plt.show()
为我制作这张图片:
没有 fill_color='none'
我也得到一张白色地图。希望这有帮助。
当我在我的机器上运行下面的代码时,没有显示街道信息:
然而,当我 运行 在另一台机器上使用完全相同的代码时,地图成功加载:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
lat_min = 39.714223
lat_max = 39.790
long_min= -105.184
long_max = -104.962
m= Basemap(llcrnrlon=long_min, llcrnrlat=lat_min, urcrnrlon=long_max, urcrnrlat=lat_max, lat_0=(lat_max - lat_min)/2, lon_0=(long_max-long_min)/2, projection='merc', epsg=4326, resolution = 'c', area_thresh=10000.,)
m.drawcoastlines()
m.drawcountries()
m.drawstates()
m.drawmapboundary()
m.arcgisimage(service='ESRI_StreetMap_World_2D', xpixels=2000, verbose=True, zorder=1)
plt.show()
除了显示 ESRI 图层所需的安装底图之外,是否还有额外的导入步骤?几个月前,我在脚本运行的机器上安装了 Basemap,我不记得是否需要任何额外的步骤。
您的问题出在 drawmapboundary()
上,默认情况下,它用 Axes
背景色填充地图。将命令保留在外或将填充颜色设置为 'none'
将解决问题。 IE。代码:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
lat_min = 39.714223
lat_max = 39.790
long_min= -105.184
long_max = -104.962
m= Basemap(
llcrnrlon=long_min, llcrnrlat=lat_min,
urcrnrlon=long_max, urcrnrlat=lat_max,
##lat_0=(lat_max + lat_min)/2,
##lon_0=(long_max+long_min)/2,
projection='merc',
epsg=4326,
resolution = 'c',
area_thresh=10000.,
)
m.drawcoastlines()
m.drawcountries()
m.drawstates()
m.drawmapboundary(fill_color='none')
m.arcgisimage(service='ESRI_StreetMap_World_2D', xpixels=2000, verbose=True, zorder=1)
plt.show()
为我制作这张图片:
没有 fill_color='none'
我也得到一张白色地图。希望这有帮助。