ValueError: No Shapely geometry can be created from null value
我已经验证我的多边形是有效的.最初polyB无效,但使用buffer(0)将其转换为有效多边形.
对我做错了什么的想法?这是我的代码:
from shapely.geometry import polygonfrom shapely.ops import cascaded_uniondef combineborders(a,b): polyA = polygon(a) polyB = polygon(b) pols = [polyA,polyB] for p in pols: if p.is_valID == False: p = p.buffer(0) print(p.is_valID)
True
True
newShape = cascaded_union(pols) # THIS IS WHERE THE ERROR KEEPS SHOWING UP return newShape
Here is a link到polyA,polyB和pols的值(确认它们有效后).我的Ubuntu 14.04服务器上安装了以下版本:
> python-shapely 1.3.0
> libgeos 3.4.2
> python 2.7
您可以通过以下方式使这更加简单和通用,可以采用任意数量的多边形几何(不仅仅是两个).
def combineborders(*geoms): return cascaded_union([ geom if geom.is_valID else geom.buffer(0) for geom in geoms ])polyC = combineborders(polyA,polyB)总结
以上是内存溢出为你收集整理的python-2.7 – ValueError:No可以从null值创建Shapely几何体全部内容,希望文章能够帮你解决python-2.7 – ValueError:No可以从null值创建Shapely几何体所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)