Densify

Description

The densify operation is performed on a geometry service resource. This operation densifies geometries by plotting points between existing vertices.

At 10.1 and later, this operation calls simplify on the input geometries when geodesic=true.

You can provide arguments to the densify operation as query parameters defined in the following parameters table:

Request parameters

Parameter

Details

f

Description:  (Optional) The response format. The default response format is html.
Values:   html | json

geometries

Description: The array of geometries to be densified. The structure of each geometry in the array is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API.

JSON structures:

Syntax:

{"geometryType" : "<esriGeometryPolyline | esriGeometryPolygon>""geometries" : [ <geometry1>, <geometry2> ]}

The "geometries" property is an array of input geometries. All geometries in this array should be of the type defined by "geometryType".

Example:

{
"geometryType" : "esriGeometryPolyline",
"geometries" : [
 {
   "paths" : [
    [[-117,34],[-116,34],[-117,33]],
    [[-115,44],[-114,43],[-115,43]]
   ]
 },
{
  "paths" : [
  [[32.49,17.83],[31.96,17.59],[30.87,17.01],[30.11,16.86]]
 ]
}
]
}

sr

Description: The well-known ID or a spatial reference JSON object for the input polylines. For a list of valid WKID values, see Projected coordinate systems and Geographic coordinate systems.

maxSegmentLength

Description: All segments longer than maxSegmentLength are replaced with sequences of lines no longer than maxSegmentLength.

geodesic

Description: (Optional) If geodesic is set to true, then geodesic distance is used to calculate maxSegmentLength. Geodesic distance is the shortest path between two points along the ellipsoid of the earth. If geodesic is set to false, then 2D Euclidean distance is used to calculate maxSegmentLength. The default is false.

lengthUnit

Description: (Optional) The length unit of maxSegmentLength. If geodesic is set to false, then the units are derived from sr, and lengthUnit is ignored. If geodesic is set to true, then lengthUnit must be a linear unit. In a case where lengthUnit is not specified and sr is a PCS, the units are derived from sr. In a case where lengthUnit is not specified and sr is a GCS, then the units are meters. For a list of valid units, see esriSRUnitType Constants and esriSRUnit2Type Constants.

Example usage

In this example, a polyline is densified such that the geodesic length of every segment is less than or equal to 1,000 miles.

http://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer/densify?sr=3395&geometries={"geometryType":"esriGeometryPolyline","geometries":[{"paths":[[[-17313284,2209625],[-14501308,7392483],[-13773503,6003036]]]}]}&maxSegmentLength=1000&geodesic=true&lengthUnit=9035

JSON response syntax

{
  "geometryType" : "<esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon>"
  "geometries" : [ <geometry1>, <geometry1>, ..., <geometryN> ]
}

JSON response example

{
 "geometryType": "esriGeometryPolyline",
 "geometries": [
  {
   "paths": [
    [
     [
      -17313284,
      2209624.9999999986
     ],
     [
      -16655062.049837345,
      3744690.7461717259
     ],
     [
      -15791586.920996182,
      5449830.3807660341
     ],
     [
      -14501308,
      7392482.9999999981
     ],
     [
      -13773503.000000002,
      6003036
     ]
    ]
   ]
  }
 ]
}