Geometry service
A geometry service contains utility methods which provide access to sophisticated and frequently used geometric operations. An ArcGIS Server website can only expose one Geometry service with the static name "Geometry". Note that geometry input and output, where required, is always packaged as an array.
Use a geometry service to:
- Buffer, densify, project, relate, and simplify geometry
- Calculate areas, lengths, and label points for geometry
- Edit and construct geometries (splitting polygons, constructing offset polylines, etc.)
- Return well known ids and text strings for spatial references and units
WSDL syntax
http://<host name>:<port number>/<arcgis instance>/services/Geometry/GeometryServer?wsdl
Working with a geometry service
Geometry service methods typically take as input a spatial reference (SR) and an array of geometries assumed to be in that spatial SR. This allows callers to avoid duplicating the spatial reference for each geometry in the array. Note that the SR cannot be null. The geometry returned from a method call is not associated with a SR. It is the consumer's responsibility to associate the returned geometries with the correct SR.
Finding a Well-Known ID
Working with a geometry service often involves defining a spatial reference, transformation, and/or unit. The International Association of Oil & Gas Producers (OGP) maintains a set of internationally recognized numeric codes to identify standard spatial references (coordinate systems), datum transformations, and linear and angular units of measure. The codes are termed EPSG codes or "factory codes" from the European Petroleum and Survey Group which was absorbed into the OGP. Esri has also defined a set of unique numeric codes to identify the same or similar geometric entities. Other authorities and groups can define their own unique numeric codes as well. In order to accommodate multiple authorities without overlapping codes, the geometry service uses an explicitly defined range of codes for known and unknown (custom) authorities. The codes are designed to identify a commonly recognized geometric entity, thus each code is termed a "well-known id". Here are the current rules for mapping WKID ranges to default authority names used by a geometry service:
- EPSG codes map to the WKID code range 1000 - 32768. EPSG version: 7.4.1
- Esri codes map to the WKID code range 33000 - 199999. Current ESRI PE (projection engine) library version: 10.0
- Custom codes map to the WKID code range 200000 - 209199.
WKIDs for the EPSG and Esri authorities are available for the following entities:
Methods
Proxy method |
Description |
---|---|
Constructs polygons that fill in the gaps between existing polygons and a set of polylines. | |
Buffers an array of geometries by each distance specified in an array of distances. | |
Constructs buffer regions around points, lines and polygons using geodesic distances and directions. | |
Constructs the convex hull of the input geometries. | |
Splits input polylines or polygons where they cross a cutting polyline. | |
Converts non-linear geometry to linear geometry by adding vertices. | |
Connects input vertices with densified approximations to geodesic paths between them. | |
Constructs the set-theoretic difference between each geometry in an array and a given geometry. | |
Defines a spatial reference based upon its well-known identifier (WKID) and optionally a WKID for a vertical datum. | |
Defines a spatial reference based upon its well-known text string (WKT) and optionally a WKT for a vertical datum. | |
Defines a unit object based on its EPSG or Esri WKID. | |
Defines a unit object based on its EPSG or Esri WKT. | |
Applies Douglas-Peucker generalization to the input polylines and polygons. | |
Calculates area and perimeter for each input polygon based on the current coordinate system. | |
Calculates area and perimeter for each input polygon based on the current coordinate system, allowing specification of output units. | |
Calculates geodesic area and perimeter for each input polygon. | |
Calculates true area and perimeter for each input polygon. | |
Calculates the shortest distance between two geometries based on the current coordinate system. | |
Calculates the geodesic distance between two geometries. | |
Calculates points for label placement inside each input polygon. | |
Calculates length for each input polyline based on the current coordinate system. | |
Calculates length for each input polyline based on the current coordinate system, allowing specification of output units. | |
Calculates geodesic length of each input polyline. | |
Calculates the true length of each input polyline. | |
Constructs the set-theoretic intersection of each input and another geometry. | |
Constructs offset copies of the input polylines or polygons. | |
Projects an array of geometries from their current spatial reference to a destination spatial reference. | |
Determines the pairs of geometries from the input geometry arrays that participate in the specified spatial relation. | |
Reshapes a polyline or polygon using a reshaping line. | |
Simplifies a polyline or polygon by removing extraneous bends while preserving essential shape. | |
Trims or extends each input polyline to meet another polyline. | |
Constructs the set-theoretic union of the input geometries. |