一,用途
创建缓冲区是 GIS 邻近分析中的核心概念,它允许您可视化和定位多边形中包含的地理要素。例如,假设您想可视化您所在城市的禁止销售酒精饮料的区域,因为它们距离学校不到 500 米。这种邻近分析的第一步是在城市的所有学校周围生成 500 米的缓冲区多边形。您在生成的多边形之一中发现的任何此类企业都违反了法律。
相关api
1,GeometryEngine:对对象执行 空间关系测试、重投影、形状操作、拓扑查询、分析操作和 空间操作 等几何操作Geometry。
能力包括:
- buffer(Geometry, double))使用、 clip(Geometry, Envelope))和从其他人创建新的几何图形union(Geometry, Geometry))。
- 测试几何之间的空间关系,例如intersects(Geometry, Geometry))和 contains(Geometry, Geometry))。
- 找到几何之间的nearestCoordinate(Geometry, Point))或。nearestVertex(Geometry, Point))
- SpatialReference使用.将几何图形重新投影到另一个几何图形project(Geometry, SpatialReference))。
- area(Polygon))使用和或解释地球曲率的length(Polyline))大地等效值 (bufferGeodetic(Geometry, double, LinearUnit, double, GeodeticCurveType)) 和)计算面积和长度。lengthGeodetic(Geometry, LinearUnit, GeodeticCurveType))
GeometryEngine通常在两个维度上运行;操作不考虑 z 值,除非针对特定方法记录(例如project(Geometry, SpatialReference)) ,在某些情况下会转换 z 值)。
2,GeometryEngine.buffer:创建并返回一个或多个与指定几何集合相关的缓冲区。几何图形必须具有相同的空间参考
3,GeometryEngine.bufferGeodetic:根据测地曲线计算,相对于几何集合创建一个或多个缓冲区
三,使用流程
- 捕获在显示屏上点击的地图Point。
- 调用静态方法GeometryEngine.buffer从地图位置和距离创建平面缓冲区多边形。
- 调用另一种静态方法GeometryEngine.bufferGeodetic以使用相同的输入创建测地线缓冲区多边形。
- 多边形结果(和点击位置)以不同的符号显示在地图视图中,以突出由于平面计算中使用的空间参考而导致的缓冲区技术之间的差异。
- *监听MapView的触摸事件,获取屏幕上的xy坐标,转换成地图上的point,将输入的英里转化为米,通过GeometryEngine创建缓冲区域,加载到GraphicsOverlay