首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在创建有效的几何图形或多边形时始终存在GEOS C错误

在创建有效的几何图形或多边形时始终存在GEOS C错误
EN

Stack Overflow用户
提问于 2022-07-07 20:13:53
回答 1查看 131关注 0票数 1

我正在尝试用django.contrib.gis.geos.Polygon创建一个多边形。我知道这些点是有效的,但是我得到了一个错误:

代码语言:javascript
复制
django.contrib.gis.geos.error.GEOSException: Error encountered checking Geometry returned from GEOS C function "GEOSGeom_createPolygon_r"

如果我使用django.contrib.gis.geos.geometry.GEOSGeometry,它就能正常工作。

例如:

代码语言:javascript
复制
from django.contrib.gis.geos import Polygon
from django.contrib.gis.geos.geometry import GEOSGeometry

poly = GEOSGeometry('POLYGON((4 4, 4 4, 4 4, 4 4))')
poly.coords()
>>> (((4.0, 4.0), (4.0, 4.0), (4.0, 4.0), (4.0, 4.0)),)

poly2 = Polygon(((4, 4), (4, 4), (4, 4), (4, 4)))
>>> GEOSException: Error encountered checking Geometry returned from GEOS C function "GEOSGeom_createPolygon_r".

操作系统和其他信息:

chip

  • gdal通过自制(3.5.1)

  • Python 3.8.12安装,Django 3.2

  • 以前通过homebrew

  • Have集安装geosproj

代码语言:javascript
复制
GDAL_LIBRARY_PATH="/opt/homebrew/lib/libgdal.dylib"`
GEOS_LIBRARY_PATH="/opt/homebrew/lib/libgeos_c.dylib"

完全相同的代码在较旧的Mac安装程序上工作,w/相同的环境非常好。

现在也尝试了Python3.9并重新安装了所有相关的brew包。我还得到了与其他几何类型相同的错误(PointLineString工作正常,但MultiPointMultiLineString失败)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-12 18:15:52

这里的解决方案是在修复bug:https://github.com/django/django/blob/4f284115a9181990f713d5167b25628fa171a5e4/docs/releases/4.0.1.txt#L67-L70之后升级到Django 4.0.1或更高版本

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72903714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档