从GRASS 7.2.2切换到7.6.1后,v.overlay错误“尚不支持与点的交点”

时间:2019-03-27 10:07:50

标签: gis qgis grass

从GRASS 7.2.2切换到7.6.1后,v.overlay(operator = or)引发错误“尚不支持带点的交叉点”。从更早的question中,我收集到这是由面积为0的多边形引起的。在7.2.2中,v.overlay操作提到它遇到面积为0的多边形并跳过它们。

GRASS 7.6.1的变更日志指出,v.overlay改善了复杂叠加的性能(这就是为什么我想使用它),但是这可能也改变了area = 0的多边形的处理方式。

使用rmsa,break,snap,rmdangle,rmline,rmdupl,rmdac,rmarea工具进行v.clean操作不会删除area = 0的多边形。删除area = 0的要素(使用v.to计算面积后.db)也不起作用。

下面的代码示例。 overlay2是先前的overlay函数的产品,不会抛出错误。 overlay2已包含area = 0的多边形,因此不会在v.clean操作期间创建

v.clean input=overlay2 output=overlay2_clean type=area error=overlay2_error_clean tool=rmsa,break,snap,rmdangle,rmline,rmdupl,rmdac,rmarea threshold=0.001 --overwrite

v.overlay.exe ainput=overlay2_clean alayer=1 atype=area binput=newinput blayer=1 btype=area output=overlay3 operator=or snap=0.001 --overwrite

有人知道如何在执行v.overlay函数之前删除area = 0的多边形吗?

0 个答案:

没有答案