离线使用卡托皮地图



我正在尝试离线使用Cartopy绘制地图。我找到了这篇文章: 卡托皮存储的离线数据的位置 但是,在将cartopy.config['data_dir']更改为下载文件所在的'C:/...'后,当我尝试绘制海岸线时,它仍然想下载地图。

cartopy.config['data_dir'] = '.../CartopyMaps'
ax = plt.axes(projection=ccrs.PlateCarree())
ax.coastlines()

控制台说:

Downloading: 
http://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip

但是,我在.../CartopyMaps/shapefiles/natural_earth/physical/ne_110m_coastlinedbf、shp 和 shx 文件

为什么 Cartopy 看不到我的本地地图,我该如何帮助它?

尝试使用"pre_existing_data_dir"路径而不是"data_dir"。

from os.path import expanduser
import cartopy
cartopy.config['pre_existing_data_dir'] = expanduser('~/cartopy-data/')

我遇到了类似的问题,并且困惑了很长一段时间。 在我下载了整个离线数据集并将它们放入正确的目录中后,运行代码后

...
states = NaturalEarthFeature(category="cultural", scale="50m",
facecolor="none",
name="admin_1_states_provinces_shp")
...

控制台仍然显示:

Downloading: 
...50m/cultural/ne_50m_admin_1_states_provinces_lines_shp.zip

但是,我发现我下载ne_50m_admin_1_states_provinces_lines.shp的文件与 Cartopy 尝试获取的文件(ne_50m_admin_1_states_provinces_lines_shp.zip"_shp")之间存在细微差异。

因此,我将命令更改为此命令并起作用:

states = NaturalEarthFeature(category="cultural", scale="50m",
facecolor="none",
name="admin_1_states_provinces")

我在这里分享了一个分步解决方案: https://discourse.holoviz.org/t/using-geoviews-tile-sources-offline/4859/5

TLDR:

import cartopy
import geoviews as gv
from bokeh.resources import INLINE
cartopy.config["pre_existing_data_dir"] = "/Users/ahuang/.cartopy/cartopy"
print(cartopy.config)
gv.extension("bokeh")
coastline = gv.feature.coastline()
borders = gv.feature.borders()
world = (coastline * borders).opts(global_extent=True)
gv.save(world, "world.html", resources=INLINE)

相关内容

  • 没有找到相关文章

最新更新