Python底图"断言失败"

时间:2014-12-28 10:53:10

标签: python python-2.7 matplotlib-basemap

我正在使用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)

2 个答案:

答案 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