我试图在QGIS中创建一个多边形shapefile,并通过shapely在python中阅读它。示例代码如下所示:
import fiona
from shapely.geometry import shape
multipolys = fiona.open(somepath)
multi = multipolys[0]
coord = shape(multi['geometry'])
EOSGeom_createLinearRing_r返回空指针 我检查了多边形在QGIS中是否有效,没有报告错误。实际上,即使是QGIS中生成的简单三角形,它也不起作用。有人知道怎么解决吗
多谢各位
为我面对同样的问题和工作
import shapely
shapely.speedups.disable()
和J.p.一样,我也有创建线字符串的问题。Shapely github存储库中有an old issue(2016)似乎是相关的。更改导入顺序为我解决了问题:
鉴于
Shapely存储库中的一些其他问题
osgeo
和shapely
相同的反向导入顺序技巧)我有一个类似的问题,但与shapely.geometry.LineString。我犯的错误是
我不知道这条消息背后的原因,但有两种方法,如何避免它:
请执行以下操作:
导入加速模块并禁用加速。这需要完成,因为它们在默认情况下处于启用状态。 从shapelys加速初始方法:
如果禁用它们,就不会出现空指针异常,因为您不使用C实现,而不是通常的实现
如果在命令shell中调用python,请键入:
这将加载所需的形状。然后加载你的程序
然后运行脚本
这也应该起作用。我认为在这个变体中,C模块得到了正确的加载,因此不会出现空指针异常。但这只适用于手动打开python终端并手动导入所需形状的情况。如果使用程序导入形状,则会再次遇到相同的错误
相关问题 更多 >
编程相关推荐