Python 从Natural Earth和OpenStreetMap为Cartopy下载数据
我正在尝试使用cartopy来绘制一些地图,我想离线使用它们。Cartopy有一个数据目录Python 从Natural Earth和OpenStreetMap为Cartopy下载数据,python,openstreetmap,cartopy,Python,Openstreetmap,Cartopy,我正在尝试使用cartopy来绘制一些地图,我想离线使用它们。Cartopy有一个数据目录 import cartopy.config cartopy.config {'data_dir': '/home/user/.local/share/cartopy', 'downloaders': {('shapefiles', 'gshhs'): <cartopy.io.shapereader.GSHHSShpDownloader at 0x7f3ee33ee7d0>, ('shapefi
import cartopy.config
cartopy.config
{'data_dir': '/home/user/.local/share/cartopy',
'downloaders': {('shapefiles',
'gshhs'): <cartopy.io.shapereader.GSHHSShpDownloader at 0x7f3ee33ee7d0>,
('shapefiles',
'natural_earth'): <cartopy.io.shapereader.NEShpDownloader at 0x7f3ee33ee710>},
'pre_existing_data_dir': '',
'repo_data_dir': '/home/user/bin/virtualenvs/mobi/local/lib/python2.7/site-packages/cartopy/data'}
导入cartopy.config
cartopy.config
{'data_dir':'/home/user/.local/share/cartopy',
'downloaders':{('shapefile',
“gshhs”):,
(‘形状文件’,
“自然地球”):},
“预存数据目录”:“,
'repo_data_dir':'/home/user/bin/virtualenvs/mobi/local/lib/python2.7/site packages/cartopy/data'}
所以我相信我可以从网站下载地图。我如何在这个目录中构建这些数据,这样cartopy就不会使用internet进行绘图了?如何对OpenStreetMap数据执行相同的操作?(仅部分回答)
在自然地球网站,http://www.naturalearthdata.com/downloads/
,您可以找到所有可下载的文件。
例如,此链接提供低分辨率数据:
该页上的一个数据文件具有以下链接地址:
http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/physical/ne_110m_coastline.zip
这段代码将下载该文件(如果计算机上没有该文件):-
fname
是下载文件的完整路径名
您不需要为cartopy安排下载位置。它已具有默认位置,您可以通过以下方式找到:
cartopy.config['data_dir'] # usually 'C:\\Users\\username\\.local\\share\\cartopy'
您可以查看下载的文件,并查看它们在该位置的结构
下次使用cartopy函数时,如果本地文件可用,它将使用本地文件。(仅部分回答)
在自然地球网站,http://www.naturalearthdata.com/downloads/
,您可以找到所有可下载的文件。
例如,此链接提供低分辨率数据:
该页上的一个数据文件具有以下链接地址:
http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/physical/ne_110m_coastline.zip
这段代码将下载该文件(如果计算机上没有该文件):-
fname
是下载文件的完整路径名
您不需要为cartopy安排下载位置。它已具有默认位置,您可以通过以下方式找到:
cartopy.config['data_dir'] # usually 'C:\\Users\\username\\.local\\share\\cartopy'
您可以查看下载的文件,并查看它们在该位置的结构
下次使用cartopy函数时,如果本地文件可用,它将使用cartopy函数
cartopy.io.shapereader.natural_earth
。我曾经遇到过类似的问题,其中,使用cartopy时,plt.gca().coasterlines()会触发从外部服务器下载zip文件,但由于缺乏互联网连接,下载失败
/home/apps/CARTOPY/0.16.0/lib64/python2.7/site-packages/Cartopy-0.16.0-py2.7-linux-x86_64.egg/cartopy/io/__init__.py:260: DownloadWarning: Downloading: http://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip
warnings.warn('Downloading: {}'.format(url), DownloadWarning)
我手动下载了zip文件,并在-~/.local/share/cartopy/shapefiles/natural\u earth/physical下解压缩
~/.local/share/cartopy/shapefiles/natural_earth/physical> ls
ne_110m_coastline.README.html ne_110m_coastline.cpg ne_110m_coastline.prj ne_110m_coastline.shx
ne_110m_coastline.VERSION.txt ne_110m_coastline.dbf ne_110m_coastline.shp
然后在重命名/删除一些文件中的“ne_”前缀后,我就能够解决这个问题
~/PLOT_TEST> ls ~/.local/share/cartopy/shapefiles/natural_earth/physical/
110m_coastline.cpg 110m_coastline.dbf 110m_coastline.prj 110m_coastline.shp 110m_coastline.shx ne_110m_coastline.README.html ne_110m_coastline.VERSION.txt
我曾经遇到过类似的问题,在cartopy中,plt.gca().Coasines()触发从外部服务器下载zip文件,但由于缺少internet连接,下载失败
/home/apps/CARTOPY/0.16.0/lib64/python2.7/site-packages/Cartopy-0.16.0-py2.7-linux-x86_64.egg/cartopy/io/__init__.py:260: DownloadWarning: Downloading: http://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip
warnings.warn('Downloading: {}'.format(url), DownloadWarning)
我手动下载了zip文件,并在-~/.local/share/cartopy/shapefiles/natural\u earth/physical下解压缩
~/.local/share/cartopy/shapefiles/natural_earth/physical> ls
ne_110m_coastline.README.html ne_110m_coastline.cpg ne_110m_coastline.prj ne_110m_coastline.shx
ne_110m_coastline.VERSION.txt ne_110m_coastline.dbf ne_110m_coastline.shp
然后在重命名/删除一些文件中的“ne_”前缀后,我就能够解决这个问题
~/PLOT_TEST> ls ~/.local/share/cartopy/shapefiles/natural_earth/physical/
110m_coastline.cpg 110m_coastline.dbf 110m_coastline.prj 110m_coastline.shp 110m_coastline.shx ne_110m_coastline.README.html ne_110m_coastline.VERSION.txt
我准备了一段代码,您可以从自然地球下载shapefile,然后将它们转换为数据帧。请注意,自然地球中的国家坐标是多边形和多多边形格式。在处理线条字符串的河流时,需要修改代码 您可能需要使用所需的文件名(如“海岸线”)来操纵“名称”。在以下链接中查找更多信息:
我准备了一段代码,您可以从自然地球下载shapefile,然后将它们转换为数据帧。请注意,自然地球中的国家坐标是多边形和多多边形格式。在处理线条字符串的河流时,需要修改代码 您可能需要使用所需的文件名(如“海岸线”)来操纵“名称”。在以下链接中查找更多信息: