Skip To Content
ArcGIS Developer
Dashboard

Generate DEM

Description

Generate DEM diagram

The GenerateDEM operation is a service tool that allows you to generate DEM products from a previously adjusted image collection. It creates point clouds using adjusted image collections and interpolates the point clouds to create DEM surface products using the designated method.

License:

As of ArcGIS 10.5, you must license your ArcGIS Server as an ArcGIS Image Server to use this resource.

Request parameters

ParameterDetails
imageCollection

The image collection (mosaic dataset) name or URL. The image service must exist before calling the service to generate a DEM.

Syntax: A JSON object supports three keys: itemId, url, and uri. These keys are case sensitive.

Example:

{"itemId": “<portal item id>”}
{“url”: “<image service url>”}
{“uri”: “<cloud raster uri or shared data path>”}

outputDEM

(Required)

This is the output digital elevation model image URL or name. As with Raster Analysis services, the service can be an existing multitenant service URL, or this service tool can create it.

Syntax: A JSON object describes the output image collection name or URL.


{"serviceProperties": {"name": "<service name>"}}
{"itemId": "<portal item id>"}
{"url": "image service url>"}
{"uri": "<cloud raster uri or shared data path>"}
cellSize

(Required)

The cell size of the output digital elevation model image. This is a single numeric input. The cell size unit will be the unit used by the image collection's spatial reference. Only square cell sizes are supported.

surfaceType

(Required)

The output surface type of the digital elevation model. The following are the available choices:

  • Digital Terrain Model (DTM): The elevation is bare earth only and does not include structures above the surface.
  • Digital Surface Model (DSM): The elevation includes bare earth and features above the surface—for example, buildings, vegetation, bridges, and utility towers.
matchingMethod

(Optional)

The method used to generate 3D points. The following are the available options:

  • ETM: A feature-based stereo matching method that uses the Harris operator to detect feature points. It's recommended for DTM generation.
  • SGM: Produces more points and detail than the ETM method. It's suitable for generating a DSM for urban areas. This is more computationally intensive than the ETM method.
  • MVM: Based on the SGM matching method followed by a fusion step in which the redundant depth estimations across single stereo model are merged. It produces dense 3D points and is computationally efficient.
context

(Optional)

Additional settings, such as the allowed point cloud generation parameter and DEM interpolation parameter, can be assigned here. Additional settings include:

  • parallelProcessingFactor: Specifies the number or percentage of processes will be used for the analysis. The default value is 50%.
  • maxObjectSize: A search radium within surface objects, such as buildings and trees, will be identified. It's the linear size in map units.
  • groundSpacing: The ground spacing, in meters, at which the 3D points are generated.
  • minAngle: The value, in degrees, that defines the minimum intersection angle the stereo pair must meet.
  • maxAngle: The value, in degrees, that defines the maximum intersection angle the stereo pair must meet.
  • minOverlap: Specifies a minimum overlap threshold that is acceptable, which is a percentage of overlap between a pair of images. Image pairs with overlap areas smaller than this threshold will receive a score of 0 for this criteria and will descend in the ordered list. The range of values is from 0 to 1.
  • maxOmegaPhiDif: Specifies the maximum threshold for the Omega/Phi difference between the image pair. The Omega and Phi values for the image pair are compared, and a difference greater than this threshold will receive a score of 0 and will descend in the ordered list.
  • maxGSDDif: Specifies the maximum allowable threshold for the ground sample distance (GSD) between two images in a pair. The resolution ration between the two images will be compared with the threshold value. Image pairs with a GSD greater than this threshold will receive a score of 0 and will descend in the ordered list.
  • numImagePairs: The number of pairs used to generate 3D points.
  • adjQualityThreshold: Specifies the minimum acceptable adjustment quality. the threshold value will be compared to the quality value stored within the stereo model. Image pairs with an adjustment quality less than the specified threshold will receive a score of 0 and will descend in the ordered list. The range of values for the threshold is between 0 and 1.
  • regenPointCloud: Regenerates the 3D point cloud.

Note:
Both the applyToOrtho and fillDEM flag can be added to the initial request. applyToOrtho applies the generated DEM back into the mosaic dataset's geometric function to achieve more accurate orthorectification results. The fillDEM flag allows you to specify an elevation service url as background elevation to fill the area when elevation model pixels cannot be interpolated from the point cloud.


{
  "maxObjectSize": 50,
  "groundSpacing": None,
  "minAngle": 10,
  "maxAngle": 70,
  "minOverlap": 0.6,
  "maxOmegaPhiDif": 8,
  "maxGSDDif" 2,
  "numImagePairs": 2,
  "adjQualityThreshold": 0.2,
  "regenPointCloud": False,
  //DEM interpolation parameters
  "method": "TRIANGULATION",
  "smoothingMethod": :GAUSS5x5",
  "applyToOrtho": True,
  "fillDEM": "https://..."
}
f

The response format. The default response format is html.

Values: html | json

Response

When you submit a request, the task assigns a unique job ID for the transaction.

Syntax:

{
"jobId": "<unique job identifier>",
"jobStatus": "<job status>"
}

After the initial request is submitted, you can use jobId to periodically review the status of the job and messages as described in Checking job status. Once the job has successfully completed, use jobId to retrieve the results. To track the status, you can make a request of the following form:

https://<orthomapping service url>/GenerateDEM/jobs/<jobId>

When the status of the job request is esriJobSucceeded, you can access the results of the analysis by making a request of the following form:

https://<orthomapping service url>/GenerateDEM/jobs/<jobId>/results/result?token=<your token>&f=json

The result will be the image service URL and itemId of the DEM.

Example usage

Below is a sample URL for GenerateDEM.

https://services.myserver.com/arcgis/rest/services/System/OrthomappingTools/GPServer/GenerateDEM

JSON Request example


imageCollection={"itemId": "1780d648db3545bba8661ad98df824a4"}&
outputDEM={"serviceProperties": {"name":"dronedtm"}}&
cellSize=5&
surfaceType=DTM&
matchingMethod=SGM&
context={
  "maxObjectSize": 50,
  "groundSpacing": None, 
  "minAngle": 10,
  "maxAngle": 70,
  "minOverlap": 0.6,
  "maxOmegaPhiDf": 8,
  "maxGSDDif": 2,
  "numImagePairs": 2,
  "adjQualityThreshold": 0.2,
  "method": "TRIANGULATION",
  "smoothingMethod": "GAUSS5x5",
  "applyToOrtho": True
}

References

Heiko Hirschmuller et al., "Memory Efficient Semi-Global Matching," ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume 1-3, (2012): 371-376.

Related topics