当我尝试用osm2geojson将osm json转换为geojson时,Django抛出了IllegalArgumentException: Shell is not a LinearRing
。只有当osm2geoson试图从关系中创建一个MultiPolygon时,才会抛出异常。它返回一个geojson,但没有坐标。点被正确变换。
我的设置是: MAC,IntelliJ,但该项目运行在conda环境中。
奇怪的是:我的同事正在与conda Environment进行完全相同的项目,已经安装了相同的包,并且没有收到任何错误。唯一的区别是他在Linux上工作。但这应该不会有任何影响,对吧?!
发布于 2021-10-01 13:06:05
我们解决了!
我们发现Shapely抛出了异常。
然后,我们在Shapely文档中发现了以下条目。https://pypi.org/project/Shapely/
源码分布:
pip install shapely --no-binary shapely
在不带二进制文件的情况下安装shapely之前,您必须卸载它。
在没有安装二进制文件的shapely安装之后,我们被抛出了以下错误:
OSError at / dlopen(/usr/local/lib/libgeos_c.so, 6): image not found
..。告诉我们重新安装geos等等。
然后,我们必须为django.setting分配一个geos_library_path。
GEOS_LIBRARY_PATH="/usr/local/Cellar/geos/3.9.1/lib/libgeos_c.dylib"
然而,仍然找不到图像。仅在我们将lib文件夹复制到conda lib文件夹之后。
在那之后,它终于成功了!
https://stackoverflow.com/questions/69394525
复制相似问题