在GeoDMS中,我尝试缓冲多边形,但出现错误

时间:2019-03-25 12:47:12

标签: buffer geospatial geodms

在GeoDMS中,我想缓冲一个5米长的多边形集,但出现错误:

        var aPath = UIBezierPath()
        aPath.moveToPoint(CGPoint(x: label.frame.origin.x , y:label.frame.origin.y  - 10)
        aPath.addLineToPoint(CGPoint(x: label.frame.origin.x + label.frame.size.width, y: label.frame.origin.y + label.frame.size.height + 10))
        aPath.closePath()
        UIColor.redColor().set()
        aPath.stroke()

有人可以帮助我解决这个问题吗?

polygon_i4D Error: Cannot find operator for these arguments:
arg1 of type DataItem<FPolygon>
arg2 of type DataItem<Float64>

2 个答案:

答案 0 :(得分:1)

为buffer属性配置的表达式会导致多边形膨胀。

使用-运算符查找缓冲区(膨胀区域,而不是原始区域), 例如:

attribute<geometries/rdc> buffer :=
   value(polygon_i4D(ipolygon(geometry), 5d) - ipolygon(geometry), geometries/rdc);

答案 1 :(得分:0)

您可以尝试:

attribute<geometries/rdc> buffer := fpolygon(polygon_i4D(ipolygon(geometry), 5d));