【问题标题】:Python Basemap "Assertion failed"Python底图“断言失败”
【发布时间】:2014-12-28 10:53:09
【问题描述】:

我使用的是 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)

【问题讨论】:

  • 拥有足够底图代表的人可能希望使其成为 matplotlib-basemap 的实际同义词。它已经被描述为一个。

标签: python python-2.7 matplotlib-basemap


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    由于某种原因,必须在 shapely 之前导入 Basemap。

    from mpl_toolkits.basemap import Basemap
    import shapely.geometry as sg
    

    以相反的方式进行导入会导致错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 2010-09-26
      相关资源
      最近更新 更多