geometry-api-java 学习笔记(一)概述

来源:互联网 发布:淘宝买家如何退换货 编辑:程序博客网 时间:2024/05/18 03:43

由于最近要做空间分析,所以抽时间学习一下geometry-api-java ,本文没有具体做翻译和实践,主要是给出一个参考目录,对接下来所要学习的内容有一个全局把控,好了,看一遍,开始学习之旅吧!

Esri Java Geometry Library

  • Native Geometry Types

    Geometries can have attributes Z, M, ID. All geometries support Affine Transformations in 2D space.

    • Point
    • MultiPoint
    • Polyline
    • Polygon
    • Envelope
  • OGC Geometry Types

    Included OGC Wrappers provide these types.

    • OGCPolygon
    • OGCMultiPolygon
    • OGCLineString
    • OGCMultiLineString
    • OGCPoint
    • OGCMultiPoint
    • OGCGeometryCollection.

List of Operations

In geometry-api-java, the geometry is planar with the exception of GeometryEngine.geodesicDistanceOnWGS84. The X/Y values are considered on an infinite plane, and all operations are executed based on that assumption.

  • Topological operations

    Boolean operations on Polygons, Polylines, Points and MultiPoints.

    • Cut
    • Difference
    • Intersection
    • Symmetric Difference
    • Union
  • Validation
    • Simplify - validates and fixes the geometry to be correct for storage in geodatabase
    • IsSimple - validates the geometry to be correct for storage in geodatabase
    • Simplify with OGC restrictions - validates and fixes the geometry to be correct according to OGC rules
    • IsSimple with OGC restrictions - checks if the geometry is correct according to OGC rules
  • Relational operations

    Read Performing relational operations.

    • Relate using DE-9IM matrix
    • Contains
    • Crosses
    • Disjoint
    • Equals
    • Intersects
    • Overlaps
    • Touches
    • Within
  • Import/Export operations
    • From Esri Shape,To Esri Shape
    • From REST Json,To REST Json
    • From GeoJson,To GeoJson
    • From WKT,To WKT
    • From WKB,To WKB
  • Other operations
    • Boundary - creates a geometry that is the boundary of a given geometry
    • Buffer - creates buffer polygon around the given geometry
    • Clip - clips geometries with a 2-dimensional envelope
    • Convex Hull - creates the convex hull of a given geometry
    • Densify - densifies geometries by plotting points between existing vertices
    • Distance - calculates the distance between two geometries
    • Generalize - simplifies geometries using the Douglas-Peucker algorithm
    • Offset - creates geometries that are offset from the input geometries by a given distance
    • Proximity - finds the closest point on a geometry to a given point
    • Quadtree structure - can be used for spatial indexing
    • Geodesic Distance (see geodesicDistanceOnWGS84 in GeometryEngine) - calculates the shortest distance between two points on the WGS84 spheroid

Accelerators

  • Certain operations can be accelerated to perform faster when a geometry instance is used over and over. This is achieved using theOperator's accelerateGeometry method. Depending on the acceleration degree, the acceleration builds and attaches to the geometry a quad tree and/or a rasterized representation (a hit map). Presently, some relational operators and some topological operators benefit from the acceleration.

Tolerance

  • Relational, Topological, Validation, and some other operators use XY tolerance (aka cluster tolerance) in processing. Thetolerance is used to set the minimum distance between coordinates below which the coordinates are considered equal. Thetolerance value is derived from the SpatialReference instance and is around 1 mm. This value should match the default value of tolerance in Geodatabase.When SpatialReference instance is not provided (null), the operators use a small value derived from the bounding box of the geometries participating in the operation. TheOperatorSimplify, when used together with a SpatialReference instance, will enforce the tolerance value thus ensuring validity of the generated geometry for storing with Geodatabase.


原文链接:https://github.com/Esri/geometry-api-java/wiki

原创粉丝点击