Generalize
- URL:https://<geometryservice-url>/generalize
- Version Introduced:10.0
Description
The generalize operation is performed on a geometry service resource. The generalize operation simplifies the input geometries using the Douglas-Peucker algorithm with a specified maximum deviation distance. The output geometries will contain a subset of the original input vertices. You can provide arguments to the generalize operation as query parameters defined in the following parameters table.
Request parameters
Parameter |
Details |
---|---|
geometries |
Specifies the array of geometries to be generalized. The spatial reference of the geometries is specified by sr. The structure of each geometry in the array is the same as the structure of the JSON geometry objects returned by ArcGIS REST API. The geometries property is an array of input geometries. All geometries in this array should be of the type defined by the geometryType property. Syntax
Example:
|
sr |
Specifies the well-known ID (WKID) or a spatial reference JSON object for the input geometries. For a list of valid WKID values, see Using spatial references. |
maxDeviation |
Sets the maximum allowable offset, which determines the degree of simplification. This value limits the distance the output geometry can differ from the input geometry. |
deviationUnit
(Optional) |
Specifies a unit for maximum deviation. If a unit is not specified, the units are derived from sr. For a list of valid units, see esriSRUnitType Constants and esriSRUnit2Type Constants. |
f |
The response format. The default response format is html. Values: html | json | pjson |
Example usage
The following is a sample request URL for generalize that demonstrates how a polygon is generalized:
https://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer/generalize?sr=4326&geometries={"geometryType":"esriGeometryPolygon","geometries":[{"rings":[[[-87,40],[-87.1,40.3],[-87.2,40.5],[-87.2,40.6],[-86.8,40.6],[-86.7,40.6],[-86.7,40.4],[-86.7,40.2],[-87,40]]]}]}&maxDeviation=20&deviationUnit=9035&f=pjson
JSON Response syntax
{
"geometryType" : "<esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon>"
"geometries" : [ <geometry1>, <geometry1>, ..., <geometryN> ]
}
JSON Response example
{
"geometryType": "esriGeometryPolygon",
"geometries": [
{
"rings": [
[
[
-87,
40
],
[
-87.2,
40.6
],
[
-86.7,
40.6
],
[
-87,
40
]
]
]
}
]
}