在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>
答案 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));