cnmetlab / cnmaps Goto Github PK
View Code? Open in Web Editor NEW这是一个可以让**地图画起来更丝滑的python扩展包
Home Page: https://cnmaps.rtfd.io
License: BSD 3-Clause "New" or "Revised" License
这是一个可以让**地图画起来更丝滑的python扩展包
Home Page: https://cnmaps.rtfd.io
License: BSD 3-Clause "New" or "Revised" License
画地图多边形的 draw_map
函数中有这样一行坐标转换的代码
x, y = ax.projection.transform_point(*coord, src_crs=ccrs.PlateCarree())
其中 ccrs.PlateCarree()
创建 CRS
对象的操作很费时,当多边形含有的坐标很多时,就会反复创建 CRS
对象,非常拖慢画图速度。
看起来包中的地图数据都基于 PlateCarree 坐标系,希望能在这个函数的开头定义 src_crs = ccrs.PlateCarree()
,然后再在坐标转换的代码中重复使用创建好的对象,个人测试后发现这样能加快画图速度。
尊敬的开发者,在windows10上(pycharm)使用cnmaps库的时候出现一下的问题:
程序:
#!/usr/bin/python
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import numpy as np
from cnmaps import get_map, draw_map, clip_contours_by_map
from cnmaps.sample import load_dem
lons, lats, dem = load_dem()
jingjinji = get_map('北京')
fig = plt.figure(figsize=(10, 10),dpi=800)
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
draw_map(jingjinji, color='k')
cs = ax.contourf(lons,
lats,
dem,
cmap=plt.cm.terrain,
levels=np.linspace(-2112, dem.max(), 10))
clip_contours_by_map(cs, jingjinji)
ax.set_extent(jingjinji.get_extent(buffer=1))
plt.savefig('./jingjinji-cliped-dem.eps', bbox_inches='tight')
#******************************************
错误提示
Traceback (most recent call last):
File "H:/pyproject/haoqixin/cliped-dem.py", line 14, in
jingjinji = get_map('北京')
File "C:\Users\YH\anaconda3\envs\cnmaps\lib\site-packages\cnmaps_init_.py", line 109, in get_map
map_json = json.load(f)
File "C:\Users\YH\anaconda3\envs\cnmaps\lib\json_init_.py", line 296, in load
return loads(fp.read(),
UnicodeDecodeError: 'gbk' codec can't decode byte 0x82 in position 389467: illegal multibyte sequence
Process finished with exit code 1
在尝试修改pycham里面的编码为uft-8之后问题依然存在
Fig_Show_Network.pdf
我使用其他工具成功过,cnmaps可以给一个简单一些的方法实现么?或者有什么其他实现途径也可以。
基于我国承认的国界,对接壤国家进行剪切处理,以满足需要绘制邻国边界的需求
在 get_adm_maps
选取省/市/县时,只能传入单个,如果我们想要同时选择河南省和安徽省,要么就要写一个循环查找这两个,要么就是一次性查找省级地图,以 geopandas 引擎返回后再在 GeoDataFrame 里筛选。
我认为应该在传入查找名称时,可以传入一个列表,然后在查库的时候就把这多个省市的数据直接查了,让地图查找更优雅。
类似这样的用法:
from cnmaps import get_adm_maps
some_provinces = get_adm_maps(province=['河南省', '安徽省'], levels='省')
按照 conda install -c conda-forge cnmaps
的方式进行安装以后,get_adm_maps
返回的结果不是 MapPolygon
类型。
使用矢量地图数据对 scatter 散点图进行切割
i used your cnmaps to plot a dem from ALOS12.5 , but there no function to add lat/lon ticks and colorbar for dem change, how can i add them with cnmaps, thanks
1、在进行合并边界(示例)操作时报错:
jingjinji = beijing + tianjin + hebei
Traceback (most recent call last):
Cell In[24], line 1
jingjinji = beijing + tianjin + hebei
File D:\anaconda\Lib\site-packages\cnmaps\maps.py:43 in __add__
return self.union(other)
File D:\anaconda\Lib\site-packages\cnmaps\maps.py:78 in union
union_result = super().union(other)
File D:\anaconda\Lib\site-packages\shapely\geometry\base.py:704 in union
return geom_factory(self.impl['union'](self, other))
File D:\anaconda\Lib\site-packages\shapely\topology.py:69 in __call__
product = self.fn(this._geom, other._geom, *args)
OSError: exception: access violation reading 0x00000000000001A4
2、安装cnmaps后,原本能正常出图的代码,在运行matplotlib绘图时同样报错:
fig_ax1.set_extent([leftlon,rightlon,lowerlat,upperlat],crs=ccrs.PlateCarree())
Traceback (most recent call last):
Cell In[26], line 1
fig_ax1.set_extent([leftlon,rightlon,lowerlat,upperlat],crs=ccrs.PlateCarree())
File D:\anaconda\Lib\site-packages\cartopy\mpl\geoaxes.py:858 in set_extent
projected = self.projection.project_geometry(domain_in_crs, crs)
File D:\anaconda\Lib\site-packages\cartopy\crs.py:817 in project_geometry
return getattr(self, method_name)(geometry, src_crs)
File D:\anaconda\Lib\site-packages\cartopy\crs.py:823 in _project_line_string
return cartopy.trace.project_linear(geometry, src_crs, self)
File lib/cartopy/trace.pyx:585 in cartopy.trace.project_linear
File D:\anaconda\Lib\site-packages\shapely\impl.py:37 in wrapper
return func(*args, **kwargs)
File D:\anaconda\Lib\site-packages\shapely\prepared.py:61 in covers
return bool(self.impl['prepared_covers'](self, other))
File D:\anaconda\Lib\site-packages\shapely\predicates.py:15 in __call__
return self.fn(this._geom, other._geom, *args)
OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF
增加城市坐标点数据
目前项目在code quility中被评为B级,有一些风格上的问题,可以修改。
需要增加对地级市边界的支持,且地级市的边界要与省界无缝衔接。
目前对地图多边形对象是直接继承 shapely.geometry.MultiPolygon
对象。而在 shapely >= 2.0.* 版本以后不再支持这种继承,目前的解决方法是在构建的时候限制 shapely 的版本号必须低于2.0,但是长期这样会导致未来在其他依赖不断迭代的的过程中,如果出现不支持 shapely < 2.0 的依赖限制时,则 cnmaps 可能会难以迭代。因此需要尽快重构部分代码以适配 shapely 2.0 及以上版本的兼容。
您好,我想问一下,假如我要使用"clip_contours_by_map"方法对0.5°空间分辨率的数据进行掩膜裁剪,裁剪后的数据范围是与边界贴合的。那么位于裁剪边界的栅格数据是被插值处理还是把边界外的部分数据删掉了呢?
Collecting fiona>=1.8 (from geopandas->cnmaps)
Using cached https://files.pythonhosted.org/packages/67/5c/4e028e84a1f0cb3f8a994217cf2366360ca984dfc1433f6171de527d0dca/Fiona-1.8.21.tar.gz
ERROR: Complete output from command python setup.py egg_info:
ERROR: A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
pip install cnmaps
(cnmaps) C:\WINDOWS\system32>pip install cnmaps
Collecting cnmaps
Using cached cnmaps-1.0.1-py3-none-any.whl
Collecting geopandas
Using cached geopandas-0.9.0-py2.py3-none-any.whl (994 kB)
Requirement already satisfied: Shapely in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from cnmaps) (1.7.1)
Requirement already satisfied: matplotlib in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from cnmaps) (3.3.4)
Requirement already satisfied: numpy in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from cnmaps) (1.19.5)
Collecting netCDF4
Using cached netCDF4-1.5.8.tar.gz (767 kB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\netcdf4_3fcc1ebed01a4b81bc036b9d6e94fb5a\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\netcdf4_3fcc1ebed01a4b81bc036b9d6e94fb5a\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-v17gg4z0’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\netcdf4_3fcc1ebed01a4b81bc036b9d6e94fb5a\
Complete output (26 lines):
Traceback (most recent call last):
File “”, line 1, in
File “C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\netcdf4_3fcc1ebed01a4b81bc036b9d6e94fb5a\setup.py”, line 419, in
_populate_hdf5_info(dirstosearch, inc_dirs, libs, lib_dirs)
File “C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\netcdf4_3fcc1ebed01a4b81bc036b9d6e94fb5a\setup.py”, line 360, in _populate_hdf5_info
raise ValueError(‘did not find HDF5 headers’)
ValueError: did not find HDF5 headers
reading from setup.cfg…
HDF5_DIR environment variable not set, checking some standard locations ..
checking C:\ProgramData\Anaconda3\envs\cnmaps\include …
hdf5 headers not found in C:\ProgramData\Anaconda3\envs\cnmaps\include
checking C:\ProgramData\Anaconda3\envs\cnmaps\Library\include …
hdf5 headers not found in C:\ProgramData\Anaconda3\envs\cnmaps\Library\include
checking C:\Users\hejiashan\include …
hdf5 headers not found in C:\Users\hejiashan\include
checking /usr/local\include …
hdf5 headers not found in /usr/local\include
checking /sw\include …
hdf5 headers not found in /sw\include
checking /opt\include …
hdf5 headers not found in /opt\include
checking /opt/local\include …
hdf5 headers not found in /opt/local\include
checking /usr\include …
hdf5 headers not found in /usr\include
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/e4/09/c7582134adb67b2ef136b954344d0522e9e3e1c7a292004eec0e8f8b1f0d/netCDF4-1.5.8.tar.gz#sha256=ca3d468f4812c0999df86e3f428851fb0c17ac34ce0827115c246b0b690e4e84 (from https://pypi.org/simple/netcdf4/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached netCDF4-1.5.7.tar.gz (763 kB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\netcdf4_d6f5ec8fd80b47ac9d84a257752f809b\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\netcdf4_d6f5ec8fd80b47ac9d84a257752f809b\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-emphis6d’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\netcdf4_d6f5ec8fd80b47ac9d84a257752f809b\
Complete output (26 lines):
Traceback (most recent call last):
File “”, line 1, in
File “C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\netcdf4_d6f5ec8fd80b47ac9d84a257752f809b\setup.py”, line 419, in
_populate_hdf5_info(dirstosearch, inc_dirs, libs, lib_dirs)
File “C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\netcdf4_d6f5ec8fd80b47ac9d84a257752f809b\setup.py”, line 360, in _populate_hdf5_info
raise ValueError(‘did not find HDF5 headers’)
ValueError: did not find HDF5 headers
reading from setup.cfg…
HDF5_DIR environment variable not set, checking some standard locations ..
checking C:\ProgramData\Anaconda3\envs\cnmaps\include …
hdf5 headers not found in C:\ProgramData\Anaconda3\envs\cnmaps\include
checking C:\ProgramData\Anaconda3\envs\cnmaps\Library\include …
hdf5 headers not found in C:\ProgramData\Anaconda3\envs\cnmaps\Library\include
checking C:\Users\hejiashan\include …
hdf5 headers not found in C:\Users\hejiashan\include
checking /usr/local\include …
hdf5 headers not found in /usr/local\include
checking /sw\include …
hdf5 headers not found in /sw\include
checking /opt\include …
hdf5 headers not found in /opt\include
checking /opt/local\include …
hdf5 headers not found in /opt/local\include
checking /usr\include …
hdf5 headers not found in /usr\include
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/df/e7/0eb5a6788502f0a1843f6b45a273c786a52d80c88003ce3d135a8c6da1bf/netCDF4-1.5.7.tar.gz#sha256=d145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594 (from https://pypi.org/simple/netcdf4/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached netCDF4-1.5.6-cp36-cp36m-win_amd64.whl (3.1 MB)
Collecting pyproj>=2.2.0
Using cached pyproj-3.0.1-cp36-cp36m-win_amd64.whl (14.6 MB)
Collecting pandas>=0.24.0
Using cached pandas-1.1.5-cp36-cp36m-win_amd64.whl (8.7 MB)
Collecting fiona>=1.8
Using cached Fiona-1.8.21.tar.gz (1.0 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_0fa83e1a03f64559a463afcb96b40e37\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_0fa83e1a03f64559a463afcb96b40e37\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-h1518k5t’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_0fa83e1a03f64559a463afcb96b40e37\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/67/5c/4e028e84a1f0cb3f8a994217cf2366360ca984dfc1433f6171de527d0dca/Fiona-1.8.21.tar.gz#sha256=3a0edca2a7a070db405d71187214a43d2333a57b4097544a3fcc282066a58bfc (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.20.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_504f5a3a46f143fd9f2c37299e596f8e\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_504f5a3a46f143fd9f2c37299e596f8e\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-7hc6ajkq’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_504f5a3a46f143fd9f2c37299e596f8e\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/ec/f7/093890341a7e8fbfcdfa04caf4dfb588ebab32c13ceaa6a3819da79ea106/Fiona-1.8.20.tar.gz#sha256=a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.19.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_8f7e35806db24ccfa6caf10071a2fc70\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_8f7e35806db24ccfa6caf10071a2fc70\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-ek7kvlfm’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_8f7e35806db24ccfa6caf10071a2fc70\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/a0/d9/6042aeb073d11341f7726de0586ff71c13117c34959dcf07bd4ee6d4b93e/Fiona-1.8.19.tar.gz#sha256=b9059e0b29c2e9e6b817e53f941e77e1aca7075f986005d38db307067b60458f (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.18.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_5612955b90e348cab2c58563594cd046\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_5612955b90e348cab2c58563594cd046\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-31d3f_i9’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_5612955b90e348cab2c58563594cd046\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/9f/e8/401cdaa58d862a25c4b3365acf7d2bd7ac77191e3dc9acdcdac0eff20ff0/Fiona-1.8.18.tar.gz#sha256=b732ece0ff8886a29c439723a3e1fc382718804bb057519d537a81308854967a (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.17.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_e33deb5543b743fb84e06b36f26545ec\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_e33deb5543b743fb84e06b36f26545ec\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-wx7w2b9b’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_e33deb5543b743fb84e06b36f26545ec\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/88/62/69347ba2c41b526e1953c4cb66d51170b2869808863c03af202ba0121670/Fiona-1.8.17.tar.gz#sha256=716201c21246587f374785bec6d6a20a984fe1f6c2b0e83bf15127eb8f724d0c (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.16.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_1a0e885bdb654fd3a15574da108c84d5\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_1a0e885bdb654fd3a15574da108c84d5\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-cvdeyr77’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_1a0e885bdb654fd3a15574da108c84d5\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/1e/60/dfc6115a11338d8aa96cacd8c60635223d9c97d61d556c90acc5dfd663fa/Fiona-1.8.16.tar.gz#sha256=fd6dfb65959becc916e9f6928618bfd59c16cdbc413ece0fbac61489cd11255f (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.15.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_b83f9f335f9a4802809441b416791bd1\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_b83f9f335f9a4802809441b416791bd1\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-yygy0_5b’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_b83f9f335f9a4802809441b416791bd1\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/55/2f/17450ec2c8fcc720a8a3e4d9a383499508475c7cfb90f7eca9fb585ac598/Fiona-1.8.15.tar.gz#sha256=3b1c9b5c834fae2fe947cfaea176db890bc6750d1a6ba9f54d969c19ffcd191e (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.14.tar.gz (1.3 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_72cb7b66eb9e432c9dcf8aacbb44a1ae\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_72cb7b66eb9e432c9dcf8aacbb44a1ae\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-iyfaxz3c’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_72cb7b66eb9e432c9dcf8aacbb44a1ae\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/5c/fd/5ec54f2d9b3d5dd23dd443fad5630d6b872e2664814c68b856c47e0d65af/Fiona-1.8.14.tar.gz#sha256=6eac038206c89d2cf5f99ea38b81cc228dc21eac5f47870a9a32d453b0007f4d (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.13.post1.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_151ccaeccb034ec695266ff7fb3b20d3\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_151ccaeccb034ec695266ff7fb3b20d3\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-b5roz6wn’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_151ccaeccb034ec695266ff7fb3b20d3\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/6d/42/f4a7cac53b28fa70e9a93d0e89a24d33e14826dad6644b699362ad84dde0/Fiona-1.8.13.post1.tar.gz#sha256=1a432bf9fd56f089256c010da009c90d4a795c531a848132c965052185336600 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.13.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_d0e79b767d8349d48b1489040cb5845e\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_d0e79b767d8349d48b1489040cb5845e\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-4w92x5y7’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_d0e79b767d8349d48b1489040cb5845e\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/be/04/31d0a6f03943b1684f32c9b861be40c1fd282468fa6bd54ddf4a774e6b0f/Fiona-1.8.13.tar.gz#sha256=5ec34898c8b983a723fb4e949dd3e0ed7e691c303e51f6bfd61e52ac9ac813ae (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.12.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_ef757ebaa789470a9ad91c2e49edf2d8\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_ef757ebaa789470a9ad91c2e49edf2d8\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-3gvvip7i’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_ef757ebaa789470a9ad91c2e49edf2d8\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/97/d8/feab39987296437fbdc3029fb39752a14355d217d73b93471010b8dd63a3/Fiona-1.8.12.tar.gz#sha256=c9266ddf6ae2a64fcea20014ddf27f800ac07584f2fdb09c2a02f3b3a52e371c (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.11.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_62bfdaa321874a378f218772c2344110\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_62bfdaa321874a378f218772c2344110\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-6j3i2ff4’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_62bfdaa321874a378f218772c2344110\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/9d/f4/0a0ddc6174c4a93679b5f1dd3535e7ef8989828e6d5f86112de681f8c87b/Fiona-1.8.11.tar.gz#sha256=1e7ca9e051f5bffa1c43c70d573da9ca223fc076b84fa73380614fc02b9eb7f6 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.10.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_1aa0cd97a80e49108d165d12f6737c04\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_1aa0cd97a80e49108d165d12f6737c04\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-cl1bfyrw’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_1aa0cd97a80e49108d165d12f6737c04\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/13/73/f80b491ed8559326fab202a6d6333a3cd6e8be1e9d782bc6c0d03d476457/Fiona-1.8.10.tar.gz#sha256=ff562eb2f3960e21f8c7f050ddd7f47a763869ea14afc2234a40df72666c6a2c (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.9.post2.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_1ebb1efdafa3448981776f573e2771b7\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_1ebb1efdafa3448981776f573e2771b7\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-t75m_prq’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_1ebb1efdafa3448981776f573e2771b7\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/9b/52/45e75507660ce0e86176d0f59b659560f687e2c7e9ebf82a10e7dcd2d3b7/Fiona-1.8.9.post2.tar.gz#sha256=210fb038b579fab38f35ddbdd31b9725f4d5099b3edfd4b87c983e5d47b79983 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.9.post1.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_593856019ceb42b4a17625a80864b467\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_593856019ceb42b4a17625a80864b467\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-qspabe0g’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_593856019ceb42b4a17625a80864b467\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/0e/a4/d9dd7399be809d3990f5000fb6ae43189ea26ae88be1bed3a4c9ddc1becc/Fiona-1.8.9.post1.tar.gz#sha256=d5e0ea0b8addffe9cba4cb59e2bd495b015230e7a1b1597974f5048211930199 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.9.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_d0447321f3a2475b8ed08b45e08f27e8\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_d0447321f3a2475b8ed08b45e08f27e8\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-0rac2dl2’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_d0447321f3a2475b8ed08b45e08f27e8\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/ad/92/dcbd8c54d697c22f299b5af63b6df3acfbd06c6d72e249614c05be99337c/Fiona-1.8.9.tar.gz#sha256=4dd6e2f5327c1174143c7c8594a75d373bc72f2c9a2a6daee312c3186a128add (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.8.tar.gz (1.7 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_e7412beeb42f469f976beb4a1df63bac\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_e7412beeb42f469f976beb4a1df63bac\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-au7oj4al’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_e7412beeb42f469f976beb4a1df63bac\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/94/7f/e288db1ad63d759d494c30caae34f865e0c6927588c490705e91b7134193/Fiona-1.8.8.tar.gz#sha256=711c3be73203b37812992089445a1e4e9d3d6b64e667389f7b15406e15a91e83 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.7.tar.gz (1.7 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_fd56a60061294a4580bf5f94fec787ae\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_fd56a60061294a4580bf5f94fec787ae\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-12j89pyp’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_fd56a60061294a4580bf5f94fec787ae\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/78/62/daafd070aebefa639df247705b97f13f7cfad43895581b5cae41bd886709/Fiona-1.8.7.tar.gz#sha256=a55a23615bad3e142d4e4cda97bb5de83c778a80049222e9dffae93c13b5cf93 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.6.tar.gz (1.7 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_4315017b2a574f338a9d4e50e64b61dd\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_4315017b2a574f338a9d4e50e64b61dd\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-l70b3ocr’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_4315017b2a574f338a9d4e50e64b61dd\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/41/9d/63696e7b1de42aad294d4781199a408bec593d8fdb80a2b4a788c911a33b/Fiona-1.8.6.tar.gz#sha256=fa31dfe8855b9cd0b128b47a4df558f1b8eda90d2181bff1dd9854e5556efb3e (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.5.tar.gz (1.7 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_ab8cd0fcf97e450195275e55157adb60\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_ab8cd0fcf97e450195275e55157adb60\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-vc_czdil’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_ab8cd0fcf97e450195275e55157adb60\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/7b/af/1c2c83c4a8363a4ce9fea817b1910b5e071bed012e18257faa2a0ab3cfe7/Fiona-1.8.5.tar.gz#sha256=4f5cc2d449edbbf693c83e24cdada72de7c41297383d16fcc92387eb445e9d35 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.4.tar.gz (1.1 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_7520403ede8d4ef4bca9634187be5983\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_7520403ede8d4ef4bca9634187be5983\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-ss6bd1c7’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_7520403ede8d4ef4bca9634187be5983\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/3a/16/84960540e9fce61d767fd2f0f1d95f4c63e99ab5d8fddc308e8b51b059b8/Fiona-1.8.4.tar.gz#sha256=aec9ab2e3513c9503ec123b1a8573bee55fc6a66e2ac07088c3376bf6738a424 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.3.tar.gz (1.1 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_d73343f691eb41bfbc1fb39509212985\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_d73343f691eb41bfbc1fb39509212985\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-2j8p6o_w’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_d73343f691eb41bfbc1fb39509212985\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/46/d1/fcdb32513a03abfde0d97fd9782ce0f8cc0540fa6c6ce783e87b94064964/Fiona-1.8.3.tar.gz#sha256=3e831100a23c3b6cd32b98baf0c9e2119d909b44a5cf4533d3625f61dcf2d2b1 (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.2.tar.gz (1.2 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_bc00a740340e429bbf02b616d69ded81\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_bc00a740340e429bbf02b616d69ded81\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-q8na534f’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_bc00a740340e429bbf02b616d69ded81\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/25/50/0466d5d83e1859c5ca38351ee932d64cc5635f9d4dad522879e58f4b0018/Fiona-1.8.2.tar.gz#sha256=4c6419b7ac29136708029f6a44b4ccd458735a4d241016c7b1bab41685c08d8f (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.1.tar.gz (1.1 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_47d0f64b08084f7da5bbd164286db9e1\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_47d0f64b08084f7da5bbd164286db9e1\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-9mkp6sss’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_47d0f64b08084f7da5bbd164286db9e1\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/3e/5f/0c6704efeea2ff3fba7f54cc6ec38070157f21bc1cffa7bdfa7c9f6b8f7a/Fiona-1.8.1.tar.gz#sha256=4c34bb4c5cd788aaf14e5484c3b7de407b1a8a7c7b2d29bbb2e8b37931e83b8d (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Using cached Fiona-1.8.0.tar.gz (1.4 MB)
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_76cbf252142d43f4a8cf6a08fe41f899\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_76cbf252142d43f4a8cf6a08fe41f899\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ egg_info –egg-base ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-pip-egg-info-ko_gbkwg’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_76cbf252142d43f4a8cf6a08fe41f899\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
—————————————-
WARNING: Discarding https://files.pythonhosted.org/packages/2a/bd/c1efc2680f338e5941121c776d6323af6b9698ac739e22ba523cee348a7f/Fiona-1.8.0.tar.gz#sha256=20141a9ece06daa7bb4333fba640c2fe39a49f8aca5492d1da8595d41e91844a (from https://pypi.org/simple/fiona/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Collecting geopandas
Using cached geopandas-0.8.2-py2.py3-none-any.whl (962 kB)
Collecting fiona
Using cached Fiona-1.7.13.tar.gz (731 kB)
Collecting pytz>=2017.2
Using cached pytz-2022.1-py2.py3-none-any.whl (503 kB)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from pandas>=0.24.0->geopandas->cnmaps) (2.8.2)
Requirement already satisfied: certifi in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from pyproj>=2.2.0->geopandas->cnmaps) (2021.5.30)
Requirement already satisfied: six>=1.5 in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from python-dateutil>=2.7.3->pandas>=0.24.0->geopandas->cnmaps) (1.16.0)
Collecting cligj>=0.4
Using cached cligj-0.7.2-py3-none-any.whl (7.1 kB)
Collecting click-plugins
Using cached click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
Collecting munch
Using cached munch-2.5.0-py2.py3-none-any.whl (10 kB)
Collecting click>=4.0
Using cached click-8.0.4-py3-none-any.whl (97 kB)
Collecting colorama
Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting importlib-metadata
Using cached importlib_metadata-4.8.3-py3-none-any.whl (17 kB)
Collecting zipp>=0.5
Using cached zipp-3.6.0-py3-none-any.whl (5.3 kB)
Collecting typing-extensions>=3.6.4
Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from matplotlib->cnmaps) (1.3.1)
Requirement already satisfied: pillow>=6.2.0 in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from matplotlib->cnmaps) (8.3.2)
Requirement already satisfied: cycler>=0.10 in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from matplotlib->cnmaps) (0.11.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in c:\programdata\anaconda3\envs\cnmaps\lib\site-packages (from matplotlib->cnmaps) (3.0.8)
Collecting cftime
Using cached cftime-1.6.0-cp36-none-win_amd64.whl (153 kB)
Building wheels for collected packages: fiona
Building wheel for fiona (setup.py) … error
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_a1dc61563ce24cb0b26a8a800600e784\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_a1dc61563ce24cb0b26a8a800600e784\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ bdist_wheel -d ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-wheel-v5fmuqwl’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_a1dc61563ce24cb0b26a8a800600e784\
Complete output (48 lines):
C:\ProgramData\Anaconda3\envs\cnmaps\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: ‘metadata_version’
warnings.warn(msg)
C:\ProgramData\Anaconda3\envs\cnmaps\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: ‘requires_python’
warnings.warn(msg)
C:\ProgramData\Anaconda3\envs\cnmaps\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: ‘requires_external’
warnings.warn(msg)
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.6
creating build\lib.win-amd64-3.6\fiona
copying .\fiona\collection.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\compat.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\crs.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\drvsupport.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\errors.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\inspector.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\rfc3339.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\tool.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\transform.py -> build\lib.win-amd64-3.6\fiona
copying .\fiona\__init__.py -> build\lib.win-amd64-3.6\fiona
creating build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\bounds.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\calc.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\cat.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\collect.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\distrib.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\dump.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\env.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\filter.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\helpers.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\info.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\insp.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\load.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\ls.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\main.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\options.py -> build\lib.win-amd64-3.6\fiona\fio
copying .\fiona\fio\__init__.py -> build\lib.win-amd64-3.6\fiona\fio
running build_ext
building ‘fiona._transform’ extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\fiona
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\ProgramData\Anaconda3\envs\cnmaps\include -IC:\ProgramData\Anaconda3\envs\cnmaps\include “-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include” “-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt” -IC:\MinGW\include /EHsc /Tpfiona/_transform.cpp /Fobuild\temp.win-amd64-3.6\Release\fiona/_transform.obj
_transform.cpp
fiona/_transform.cpp(606): fatal error C1083: 无法打开包括文件: “cpl_conv.h”: No such file or directory
error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe’ failed with exit status 2
—————————————-
ERROR: Failed building wheel for fiona
Running setup.py clean for fiona
Failed to build fiona
Installing collected packages: zipp, typing-extensions, importlib-metadata, colorama, click, pytz, munch, cligj, click-plugins, pyproj, pandas, fiona, cftime, netCDF4, geopandas, cnmaps
Running setup.py install for fiona … error
ERROR: Command errored out with exit status 1:
command: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_a1dc61563ce24cb0b26a8a800600e784\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_a1dc61563ce24cb0b26a8a800600e784\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-record-5lnnnz9y\install-record.txt’ –single-version-externally-managed –compile –install-headers ‘C:\ProgramData\Anaconda3\envs\cnmaps\Include\fiona’
cwd: C:\Users\HEJIAS~1\AppData\Local\Temp\pip-install-j754abo7\fiona_a1dc61563ce24cb0b26a8a800600e784\
Complete output (18 lines):
C:\ProgramData\Anaconda3\envs\cnmaps\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: ‘metadata_version’
warnings.warn(msg)
C:\ProgramData\Anaconda3\envs\cnmaps\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: ‘requires_python’
warnings.warn(msg)
C:\ProgramData\Anaconda3\envs\cnmaps\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: ‘requires_external’
warnings.warn(msg)
running install
running build
running build_py
running build_ext
building ‘fiona._transform’ extension
creating build\temp.win-amd64-3.6
creating build\temp.win-amd64-3.6\Release
creating build\temp.win-amd64-3.6\Release\fiona
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\ProgramData\Anaconda3\envs\cnmaps\include -IC:\ProgramData\Anaconda3\envs\cnmaps\include “-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include” “-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt” “-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt” -IC:\MinGW\include /EHsc /Tpfiona/_transform.cpp /Fobuild\temp.win-amd64-3.6\Release\fiona/_transform.obj
_transform.cpp
fiona/_transform.cpp(606): fatal error C1083: 无法打开包括文件: “cpl_conv.h”: No such file or directory
error: command ‘C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe’ failed with exit status 2
—————————————-
ERROR: Command errored out with exit status 1: ‘C:\ProgramData\Anaconda3\envs\cnmaps\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_a1dc61563ce24cb0b26a8a800600e784\\setup.py'”‘”‘; __file__='”‘”‘C:\\Users\\HEJIAS~1\\AppData\\Local\\Temp\\pip-install-j754abo7\\fiona_a1dc61563ce24cb0b26a8a800600e784\\setup.py'”‘”‘;f = getattr(tokenize, ‘”‘”‘open'”‘”‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘”‘”‘from setuptools import setup; setup()'”‘”‘);code = f.read().replace(‘”‘”‘\r\n'”‘”‘, ‘”‘”‘\n'”‘”‘);f.close();exec(compile(code, __file__, ‘”‘”‘exec'”‘”‘))’ install –record ‘C:\Users\HEJIAS~1\AppData\Local\Temp\pip-record-5lnnnz9y\install-record.txt’ –single-version-externally-managed –compile –install-headers ‘C:\ProgramData\Anaconda3\envs\cnmaps\Include\fiona’ Check the logs for full command output.
(cnmaps) C:\WINDOWS\system32>
使用xian = get_adm_maps(city='西安市', only_polygon=True, record='first')
获取地图边界后,再使用draw_maps绘制会报错UnboundLocalError: local variable 'geometries' referenced before assignment
。
经过排查后发现在draw_maps函数中先判断maps的属性是否为list
或GeoDataFrame
再使用draw_map函数绘图。而获取的地图边界数据属性是MapPolygon
,不在默认属性判断中,但可以直接使用draw_map函数绘制。
因此对draw_maps函数修改为如图可以正常绘图:
cnmaps库能写一个读取shp文件的实例吗?我想用它进行掩膜shp背景栅格信息,类似于白化背景处理
尝试合并边界:
beijing = get_adm_maps(province='北京市', only_polygon=True, record='first')
tianjin = get_adm_maps(province='天津市', only_polygon=True, record='first')
hebei = get_adm_maps(province='河北省', only_polygon=True, record='first')
jingjinji = beijing + tianjin + hebei
报错:
TypeError Traceback (most recent call last)
Cell In[33], line 9
6 tianjin = get_adm_maps(province='天津市', only_polygon=True, record='first')
7 hebei = get_adm_maps(province='河北省', only_polygon=True, record='first')
----> 9 jingjinji = beijing + tianjin + hebei
11 fig = plt.figure(figsize=(5,5))
12 ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
TypeError: unsupported operand type(s) for +: 'MultiPolygon' and 'MultiPolygon'
采用pip安装cnmaps后,运行get_adm_maps()后,会报“LLVM ERROR: Symbol not found: __svml_sin2_ha” 错误,目前是通过降级解决,1.0版本可正常运行。
在加载数据时,若对其进行坐标转换,则效率会很低,需要优化:
Total time: 102.962 s
File: /Users/clarmylee/github/cnmaps/cnmaps/maps.py
Function: read_mapjson at line 261
Line # Hits Time Per Hit % Time Line Contents
==============================================================
261 @profile
262 def read_mapjson(fp, wgs84=True):
263 """
264 读取geojson地图边界文件
265
266 参数:
267 fp (str, 可选): geojson文件名.
268 wgs84 (bool, 可选): 是否使用 WGS84 坐标
269
270 返回值:
271 MapPolygon: 地图边界对象
272 """
273 3332 136463.0 41.0 0.1 with open(fp, encoding="utf-8") as f:
274 3332 2940811.0 882.6 2.9 map_json = json.load(f)
275
276 3332 1730.0 0.5 0.0 if "geometry" in map_json:
277 1 0.0 0.0 0.0 geometry = map_json["geometry"]
278 else:
279 3331 1022.0 0.3 0.0 geometry = map_json
280
281 3332 1160.0 0.3 0.0 polygon_list = []
282 3332 1882.0 0.6 0.0 if "Polygon" in geometry["type"]:
283 14938 4784.0 0.3 0.0 for _coords in geometry["coordinates"]:
284 23782 8746.0 0.4 0.0 for coords in _coords:
285 12175 3152.0 0.3 0.0 if wgs84:
286 12175 28350.0 2.3 0.0 single_coords = []
287 7198792 1877076.0 0.3 1.8 for coord in coords:
288 7186617 97058212.0 13.5 94.3 single_coords.append(gcj02_to_wgs84(*coord))
289 12175 425158.0 34.9 0.4 polygon_list.append(sgeom.Polygon(single_coords))
290 else:
291 polygon_list.append(sgeom.Polygon(coords))
292
293 3331 473342.0 142.1 0.5 return MapPolygon(polygon_list)
294
295 1 0.0 0.0 0.0 elif geometry["type"] == "MultiLineString":
296 1 109.0 109.0 0.0 return sgeom.MultiLineString(geometry["coordinates"])
按照前面文档conda install -c conda-forge cnmaps
来安装,结果安装了0.2.1版
然而当前最新版是1.1.1
然后指定版本安装说找不到。
$ conda install -c conda-forge cnmpas=1.1.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- cnmpas=1.1.1
Current channels:
- https://conda.anaconda.org/conda-forge/linux-64
- https://conda.anaconda.org/conda-forge/noarch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/noarch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
尝试搜索了,但又能找到
$ conda search cnmaps
Loading channels: done
# Name Version Build Channel
cnmaps 0.2.1 pyhd8ed1ab_0 anaconda/cloud/conda-forge
cnmaps 0.2.1 pyhd8ed1ab_0 conda-forge
cnmaps 1.0.1 pyhd8ed1ab_0 anaconda/cloud/conda-forge
cnmaps 1.0.1 pyhd8ed1ab_0 conda-forge
cnmaps 1.0.3 pyhd8ed1ab_0 anaconda/cloud/conda-forge
cnmaps 1.0.3 pyhd8ed1ab_0 conda-forge
cnmaps 1.0.4 pyhd8ed1ab_0 anaconda/cloud/conda-forge
cnmaps 1.0.4 pyhd8ed1ab_0 conda-forge
cnmaps 1.1.0 pyhd8ed1ab_1 anaconda/cloud/conda-forge
cnmaps 1.1.0 pyhd8ed1ab_1 conda-forge
cnmaps 1.1.1 pyhd8ed1ab_0 anaconda/cloud/conda-forge
cnmaps 1.1.1 pyhd8ed1ab_0 conda-forge
如题,有时候需要绘制**行政区划的时候也会涉及其他国家,请问要怎么制作出符合标准的世界地图呢
get_adm_maps(city='长春市', level='市', only_polygon=True, record='first') + get_adm_maps(city='吉林市', level='市', only_polygon=True, record='first')
Traceback (most recent call last):
File "", line 1, in
File "/Users/jcma/.conda/envs/citynetwork/lib/python3.9/site-packages/cnmaps/maps.py", line 43, in add
return self.union(other)
File "/Users/jcma/.conda/envs/citynetwork/lib/python3.9/site-packages/cnmaps/maps.py", line 78, in union
return self.drop_inner_duplicate(MapPolygon(union_result))
File "/Users/jcma/.conda/envs/citynetwork/lib/python3.9/site-packages/cnmaps/maps.py", line 69, in drop_inner_duplicate
polygons.remove(other)
ValueError: list.remove(x): x not in list
体验了一下cnmaps,使用还是很友好方便的。之前一直用R画地图,发现python也不错。有个诉求就是(相信也是很多人的诉求):我们经常需要在地图上标记出各个省,乃至各个城市的某项数据(可以是用具体的34,35,89,112等数值,也可以用颜色),不知道作者有没有考虑
在 Intel MacBook Pro 上的测试,下列脚本在1.1.0版本下的执行耗时仍然需要大约1分钟左右才能出图,这速度有点无法接受,这个慢的主要原因是矢量边界过于精细,需要处理的点太多,计算压力大。但是对于类似下面这种尺度的绘图,其实并不需要这么精细的边界数据,因此可以尝试将其精细度进行简化,达到一个不那么精细,但是出图效果从肉眼也察觉不出来的那种程度。
geopandas 提供了 simplify 的函数
import time
import numpy as np
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
from cnmaps import get_adm_maps, clip_contours_by_map, draw_map
from cnmaps.sample import load_dem
lons, lats, data = load_dem()
t0 = time.time()
fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(111, projection=ccrs.PlateCarree())
map_polygon = get_adm_maps(country="中华人民共和国", record="first", only_polygon=True)
cs = ax.contourf(
lons,
lats,
data,
cmap=plt.cm.terrain,
levels=np.linspace(-2800, data.max(), 10),
transform=ccrs.PlateCarree(),
)
clip_contours_by_map(cs, map_polygon)
draw_map(map_polygon, color="k", linewidth=1)
plt.savefig('./china.png')
t1 = time.time()
time_delta = t1 - t0
print("time_delta", time_delta)
ImportError: cannot import name 'get_map' from 'cnmaps'
改动主要有三个:
Transformer
类对每个点进行坐标变换,加快了运行速度。其实 shapely 的文档介绍过,利用 shapely.ops.transform
函数,将 Transformer.transform
方法作为可调用对象传入,可以将整个几何对象从源坐标系变换到新坐标系中。变换失败的数值会以 inf 填充,而不会产生报错。ax.projection
是否等价于地图数据坐标系的判断。这样一来,如果 GeoAxes
基于无参数的等经纬度投影,就能直接跳过坐标变换的步骤。map_polygon
参数只可能是 MapPolygon
(继承自 sgeom.MultiPoygon
)或 sgeom.MultiLineString
对象,简化了绘图步骤。import numpy as np
import shapely.ops as sops
def draw_map(map_polygon: Union[MapPolygon, sgeom.MultiLineString], **kwargs):
ax = plt.gca()
crs_from = ccrs.PlateCarree()
crs_to = ax.projection
if crs_from != crs_to:
transformer = Transformer.from_crs(crs_from, crs_to, always_xy=True)
map_polygon = sops.transform(transformer.transform, map_polygon)
if 'color' not in kwargs and 'c' not in kwargs:
kwargs['color'] = 'k'
if isinstance(map_polygon, sgeom.MultiPolygon):
for polygon in map_polygon.geoms:
for ring in [polygon.exterior] + polygon.interiors[:]:
coords = np.array(ring.coords)
ax.plot(coords[:, 0], coords[:, 1], **kwargs)
elif isinstance(map_polygon, sgeom.MultiLineString):
for line in map_polygon.geoms:
coords = np.array(line.coords)
ax.plot(coords[:, 0], coords[:, 1], **kwargs)
测试代码如下,画出兰伯特投影的**省界
from cnmaps import get_adm_maps, draw_maps
provinces = get_adm_maps(level='省')
crs = ccrs.LambertConformal(central_longitude=105, standard_parallels=(25, 47))
fig = plt.figure()
ax = fig.add_subplot(111, projection=crs)
draw_maps(provinces, lw=0.5)
ax.set_extent([78, 128, 15, 55], crs=ccrs.PlateCarree())
fig.savefig('draw_maps.png')
plt.close(fig)
结果图片为
基于同样的测试代码,对 1.03 的 draw_map
函数应用 line_profiler 模块,耗时 14 s。
Total time: 14.3249 s
File: .\revised.py
Function: draw_map at line 236
Line # Hits Time Per Hit % Time Line Contents
==============================================================
236 @profile
237 def draw_map(map_polygon, **kwargs):
238 """
239 绘制单个地图边界线
240
241 参数:
242 map_polygon (Union[MapPolygon, sgeom.MultiLineString]): 地图边界线对象
243
244 示例:
245 >>> beijing = get_adm_maps(city='北京市', level='市')[0]
246 >>> beijing
247 {'国家': '中华人民共和国', '省/直辖市': '北京市', '市': '北京市', '区/县': None, '级别': '市', '来源': '高德', '类型': '陆地', 'geometry': <cnmaps.maps.MapPolygon object at 0x7f92fe514490>}
248
249 >>> beijing_polygon = get_adm_maps(city='北京市', level='市')[0]['geometry']
250 >>> beijing_polygon
251 <cnmaps.maps.MapPolygon object at 0x7f92fe4fe410>
252
253 >>> draw_map(beijing_polygon)
254
255 >>> get_adm_maps(city='北京市', level='市')[0]['geometry'] == get_adm_maps(city='北京市', level='市', only_polygon=True, record='first')
256 True
257 >>> draw_map(get_adm_maps(city='北京市', level='市', only_polygon=True, record='first'))
258 """
259 34 746.3 22.0 0.0 ax = plt.gca()
260 34 14779.4 434.7 0.1 crs = ccrs.PlateCarree()
261 34 255073.7 7502.2 1.8 transformer = Transformer.from_crs(crs, ax.projection, always_xy=True)
262 2036 51407.3 25.2 0.4 for geometry in map_polygon.geoms:
263 2002 1967.1 1.0 0.0 if isinstance(map_polygon, sgeom.MultiPolygon):
264 2002 877.3 0.4 0.0 try:
265 2002 81090.5 40.5 0.6 coords = geometry.boundary.coords
266 except NotImplementedError:
267 exterior_coords = geometry.exterior.coords
268 interiors = geometry.interiors
269 xs = []
270 ys = []
271 for coord in exterior_coords:
272 try:
273 x, y = transformer.transform(*coord)
274 except AttributeError:
275 x, y = coord
276 xs.append(x)
277 ys.append(y)
278
279 ax.plot(xs, ys, **kwargs)
280 for interior in interiors:
281 interior_coords = interior.coords
282 xs = []
283 ys = []
284 for coord in interior_coords:
285 try:
286 x, y = transformer.transform(*coord)
287 except AttributeError:
288 x, y = coord
289 xs.append(x)
290 ys.append(y)
291 ax.plot(xs, ys, **kwargs)
292 continue
293 elif isinstance(map_polygon, sgeom.MultiLineString):
294 coords = geometry.coords
295 2002 4784.1 2.4 0.0 xs = []
296 2002 4023.5 2.0 0.0 ys = []
297 788498 416001.5 0.5 2.9 for coord in coords:
298 786496 311393.0 0.4 2.2 try:
299 786496 11158540.7 14.2 77.9 x, y = transformer.transform(*coord)
300 except AttributeError:
301 x, y = coord
302 786496 395319.6 0.5 2.8 xs.append(x)
303 786496 406209.2 0.5 2.8 ys.append(y)
304 2002 1573.8 0.8 0.0 if kwargs.get("color"):
305 2002 1221139.4 610.0 8.5 ax.plot(xs, ys, **kwargs)
306 else:
307 ax.plot(xs, ys, color="k", **kwargs)
而改动后的 draw_map
耗时 2.8 s。
Timer unit: 1e-06 s
Total time: 2.84613 s
File: .\revised.py
Function: draw_map at line 236
Line # Hits Time Per Hit % Time Line Contents
==============================================================
236 @profile
237 def draw_map(map_polygon, **kwargs):
238 34 571.5 16.8 0.0 ax = plt.gca()
239 34 14208.4 417.9 0.5 crs_from = ccrs.PlateCarree()
240 34 39.5 1.2 0.0 crs_to = ax.projection
241 34 42037.9 1236.4 1.5 if crs_from != crs_to:
242 34 233624.2 6871.3 8.2 transformer = Transformer.from_crs(crs_from, crs_to, always_xy=True)
243 34 1272800.0 37435.3 44.7 map_polygon = sops.transform(transformer.transform, map_polygon)
244
245 34 68.9 2.0 0.0 if 'color' not in kwargs and 'c' not in kwargs:
246 34 26.3 0.8 0.0 kwargs['color'] = 'k'
247
248 34 49.3 1.5 0.0 if isinstance(map_polygon, sgeom.MultiPolygon):
249 2036 36299.7 17.8 1.3 for polygon in map_polygon.geoms:
250 4004 87826.7 21.9 3.1 for ring in [polygon.exterior] + polygon.interiors[:]:
251 2002 104124.4 52.0 3.7 coords = np.array(ring.coords)
252 2002 1054452.6 526.7 37.0 ax.plot(coords[:, 0], coords[:, 1], **kwargs)
253 elif isinstance(map_polygon, sgeom.MultiLineString):
254 for line in map_polygon.geoms:
255 coords = np.array(line.coords)
256 ax.plot(coords[:, 0], coords[:, 1], **kwargs)
个人感觉 shapely 的 transform
函数有助于加快运行速度,同时将坐标变换的部分移出循环,从而简化代码。
另外测试发现,当 cartopy <= 0.19 时,cartopy 的 CRS
类并非简单继承自 pyproj 的 CRS
类,而是与 _crs.pxd
、_crs.pyx
和 _proj4.pxd
等文件有关。具体我也不懂,反正 0.19 的 cartopy 在执行 Transformer.from_crs(crs_from, crs_to, always_xy=True)
时会产生如下错误
CRSError Traceback (most recent call last)
<ipython-input-5-e063796a802e> in <module>
----> 1 t = Transformer.from_crs(crs_from, crs_to, always_xy=True)
/data/anaconda3/envs/pp/lib/python3.7/site-packages/pyproj/transformer.py in from_crs(crs_from, crs_to, skip_equivalent, always_xy)
151 transformer = Transformer(
152 _Transformer.from_crs(
--> 153 CRS.from_user_input(crs_from),
154 CRS.from_user_input(crs_to),
155 skip_equivalent=skip_equivalent,
/data/anaconda3/envs/pp/lib/python3.7/site-packages/pyproj/crs.py in from_user_input(cls, value)
427 if isinstance(value, _CRS):
428 return value
--> 429 return cls(value)
430
431 def get_geod(self):
/data/anaconda3/envs/pp/lib/python3.7/site-packages/pyproj/crs.py in __init__(self, projparams, **kwargs)
294 projstring = projparams.to_wkt()
295 else:
--> 296 raise CRSError("Invalid CRS input: {!r}".format(projparams))
297
298 super(CRS, self).__init__(projstring)
CRSError: Invalid CRS input: <cartopy.crs.PlateCarree object at 0x7fa8fc554b30>
对于老版本的 cartopy,也许可以继续沿用 ax.projection.transform_point
。
以下地区两两之间的正交性有问题,目前在测试中跳过了,后续需要进一步排查问题原因并解决。
problem_set = [
sorted(('咸宁市', '仙桃市')),
sorted(('伊犁哈萨克自治州', '塔城地区')),
sorted(('克拉玛依市', '塔城地区')),
sorted(('博尔塔拉蒙古自治州', '双河市')),
sorted(('和田地区', '昆玉市')),
sorted(('喀什地区', '图木舒克市')),
sorted(('塔城地区', '胡杨河市')),
sorted(('塔城地区', '阿勒泰地区')),
sorted(('巴音郭楞蒙古自治州', '铁门关市')),
sorted(('阿克苏地区', '阿拉尔市')),
sorted(('阿勒泰地区', '北屯市'))
]
应增加地图边界对格点数据的裁剪(或者说掩膜),而非对图形的裁剪。
想要达到的效果是白化**国界线以外的区域,并且仅绘制100°E以东的地区,因此首先使用clip_contours_by_map裁剪数据,再通过set_extent设置了绘图范围,代码如下:
# draw contours
cs = ax.contourf(data_draw.coords['lon'],data_draw.coords['lat'],data_draw,
cmap='Spectral_r',
levels=levels,
extend='both',
transform=proj)
# clip contour by map
clip_contours_by_map(cs, map_polygon)
ax.set_extent([100.,135,15.,55.])
绘图结果如下:
最终使用salem裁剪数据+set_extent达到了目的,但由于是对数据进行裁剪,边缘非常粗糙。我尝试了不使用clip_contour_by_map,并不会出现数据溢出绘图范围的情况,想知道是什么原因导致了这个问题呢?
(xxx) C:\Users\Jkdell>pip install cnmaps
Collecting cnmaps
Using cached cnmaps-0.1.10.tar.gz (2.3 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "C:\Users\Jkdell\AppData\Local\Temp\pip-install-9qi40z8x\cnmaps_4a8842083b524713a538b30839062a41\setup.py", line 7, in
long_description = fh.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 17: illegal multibyte sequence
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
经过比对,同为山西省的矢量数据,用 geojson 存储的文件大小是 360kb ,而用 topojson 存储的文件大小仅为 85kb,在QGIS中检查二者在精确程度上没有任何区别。
但 topojson 是一个小众的格式,对应的 python sdk 功能并不完善,如果使用 topojson 来存储的话,对于格式的各种转换会产生额外的开销,但同时 topojson 有另一个好处是它可以很方便对矢量数据进行精细度调整并不破坏其拓扑关系。
参考资料:
增加对箭矢地图的剪切功能
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.