我正在使用Anaconda 2.1.0并且Basemap安装成功
conda install basemap
conda install gdal
我有geos版本3.3.3和proj4 4.8.0-0。但是,当我尝试将(lat,lon)度投影到平面时,我不断收到以下错误:
Assertion failed: (0), function query, file AbstractSTRtree.cpp, line 286.
我的代码如下所示:
import shapely.geometry as sg
from pymongo import MongoClient
from mpl_toolkits.basemap import Basemap
p = Basemap(projection='sinu',lon_0=0,resolution='c')
projected_xy = p(24.4,45.1)
答案 0 :(得分:2)
出于某种原因,必须在形状之前导入底图。
from mpl_toolkits.basemap import Basemap
import shapely.geometry as sg
以相反方式执行导入将导致错误。
答案 1 :(得分:2)
使用geopandas时遇到了同样的问题。同样,进口的顺序是相关的。在这种情况下,我必须在Basemap之后导入geopandas。我的导入列表如下所示:
from mpl_toolkits.basemap import Basemap
import geopandas as gp
from shapely.geometry import Point, Polygon, MultiPoint, MultiPolygon
from shapely.prepared import prep
请注意,如果您使用的是Jupyter笔记本,则内核连接将崩溃,并且不会提供错误信息。使用python shell后,出现以下错误:
Assertion failed: (0), function query, file AbstractSTRtree.cpp, line 285.
Abort trap: 6