# Geometry Service

- URL:http://<catalog-url>/<serviceName>/GeometryServer
- Operations:Areas and Lengths,Auto Complete,Buffer,Convex Hull,Cut,Densify,Difference,Distance,Generalize,Intersect,Label Points,Lengths,Offset,Project,Relation,Reshape,Simplify,Trim / Extend,Union
- Version Introduced:9.3

## Description

A geometry service contains utility methods that provide access to sophisticated and frequently used geometric operations. An ArcGIS Server web site can only expose one geometry service with the static name "Geometry".

Geometry input and output, where required, are always packaged as an array.

Use a geometry service to do the following:

- Buffer, project, and simplify geometry.
- Calculate areas and lengths for geometry.
- Determine spatial relations and label points.
- Determine distances between geometries.
- Compute Union, Intersection, and Difference between geometries.
- Auto Complete, Generalize, Reshape, Offset, Trim/Extend, and compute Convex Hulls of geometries.

The REST API Geometry Service resource is primarily a processing and algorithmic resource that supports operations related to geometries. The Geometry Service resource has the following operations:

- Project—Returns an array of projected geometries.
- Simplify—Returns an array of simplified geometries.
- Buffer—Returns an array of polygons at the specified distances for the input geometry. An option is available to union buffer polygons at each distance.
- Areas and Lengths—Calculates areas and perimeter lengths for each polygon specified in the input array.
- Lengths—Calculates the lengths of each polyline specified in the input array.
- Relation—Determines the pairs of geometries from the input geometry arrays that participate in the specified spatial relation.
- Label Points—Calculates an interior point for each polygon specified in the input array.
- Auto Complete—Simplifies the process of constructing polygons that are adjacent to other polygons.
- Convex Hull—Returns the convex hull of the input geometry.
- Cut—Splits the input polyline or polygon where it crosses a cutting polyline.
- Densify—Densifies geometries by plotting intermediate points between existing vertices.
- Difference—Constructs the set-theoretic difference between an array of geometries and another geometry.
- Distance—Calculates the distance between two geometries.
- Generalize—Returns generalized (Douglas-Peucker) versions of the input geometries.
- Intersect—Constructs the set-theoretic intersection between an array of geometries and another geometry.
- Offset—Constructs the offset of the given input polyline based on an offset distance.
- Reshape—Reshapes a polyline or a part of a polygon using a reshaping line.
- Trim / Extend—Trims or extends each polyline specified in the input array using the user-specified guide polylines.
- Union—Constructs the set-theoretic union of the input geometries.

## Resource hierarchy

## Request parameters

Parameter |
Details |
---|---|

f |
Description: The response format. The default response format is html. Values: html | json |

## Example usage

URL for the geometry service on sampleserver6.

http://sampleserver6.arcgisonline.com/ArcGIS/rest/services/Utilities/Geometry/GeometryServer

## JSON response syntax

```
{"serviceDescription" : "<serviceDescription>"}
```

## JSON response example

```
{"serviceDescription" : "Test Geometry Service Description"}
```