一、要素与要素查询,返回的是bool值
1、 Touches 判断几何要素是否接触
Touches 如果 geometry1 与 geometry2 接触,则返回 true,否则 false。
touches = GeometryEngine.Instance.Touches(Geometry1, Geometry2)
2、Within 判断第一个几何要素是否在第二个几何要素内部
geometry1 位于 geometry2 内,则返回 true
3、Disjoint 如果geometry1 和 geometry2 不相交,则返回 true
disjoint = GeometryEngine.Instance.Disjoint(line1, poly1)
4、Crosses:如果一条折线仅共享一个共同点,则该折线将与另一个折线相交,其中至少一个点不是端点。如果折线的至少一条路径部分在面内,部分在面外,则折线穿过面。
5、Contains 如果 geometry1 包含 geometry2,则返回 true。
Contains 与 Within 相反。也就是说,当且仅当 geometry2 位于 geometry1 中时,geometry1 才包含 geometry2。
6、Distance 返回测量两个几何图形之间的平面距离
7、Equals:如果 geometry1 和 geometry2 占用相同的空间,则返回 true
GeometryEngine.Instance.Equals(Geometry1, Geometry2)
8、Intersects 如果 geometry1 和 geometry2 相交,则返回 true
二、要素与要素空间运算,返回的是Geometry对象
1、SymmetricDifference :几何体减去重合部分的并集。
Geometry = GeometryEngine.Instance.SymmetricDifference(Geometry1, Geometry2)
2、Union 并集运算
Geometry = GeometryEngine.Instance.Union(Geometry1, Geometry2)
3、SlicePolygonIntoEqualParts 等面积分割
dim polys as IReadOnlyList (of Polygon)= SlicePolygonIntoEqualParts(Polygon,numParts,angle,SliceType)
Polygon:要切片的多边形。
numParts:要将多边形切成的等面积部分的数量。必须大于 1。
angle:角度(以弧度为单位)在切片之前旋转多边形。角度是从正 X 轴逆时针方向测量的。
sliceType:控制多边形的切片方式;成条状或块状。SliceType.Strips或SliceType.Blocks
4、Difference 对两个几何图形执行拓扑差分运算,返回第一个几何要素减去公共范围的新几何要素。
Geometry = GeometryEngine.Instance.Difference(poly2, poly1)
5、Cut :将此几何图形拆分为多个部分。折线最多会分成两部分。
Dim polys as IReadOnlyList (of Polygon)= GeometryEngine.Instance.Cut(multipart,Polyline)
6、Clip 构造通过包络裁剪几何图形而创建的多边形,裁剪的几何图形
Dim polys as IReadOnlyList (of Polygon)= GeometryEngine.Instance.Clip(Geometry , Envelope)
7、Intersection(Geometry1,Geometry2) 构造两个几何图形之间的集合论交集。
Geometry= GeometryEngine.Instance.Intersection(Geometry1,Geometry2)