ArcGIS REST API

Edit Control Points

Description

Edit Control Points diagram

The EditControlPoints operation is a service tool that is used to append additional ground control points set to the image collection's control points. A complete ground control point (GCP) set should have one GCP and more than three tie points. EditControlPoints can also be used to edit tie point sets. The input control points' JSON will always replace the points in the tie points table if the point Id already exists.

License:

As of 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 edit control points.

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

Example:

{"itemId": <portal item id>}
{"url": <image service url}
{"serviceProperties":{"name":"testrasteranalysis",
  "serviceUrl":"https://<server name>/server/rest/services/Hosted/testrasteranalysis/ImageServer"},
  "itemProperties":{"itemId":"8cfbd3ec25584d0d8f4ed23b8ff7c43b", "folderId", "sdfwerfbd3ec25584d0d8f4",: }}
inputControlPoints

(Required)

The existing GCP sets written as a JSON object. The control point sets provided in this tool will replace the control points in the existing control points table if they already exist.

Syntax: The schema of the control points' JSON object follows the schema of the mosaic dataset control point table. The control points must contain one geometry and one attribute set. Two types of control points are allowed, determined by the type attribute: tie points or ground control points.

[
  {
    "pointId": <id>,
    "x":
    "y":
    "z":
    "xyAccuracy":
    "zAccuracy":
    "spatialReference":{<spatialReference>}, // default WGS84
    "imagePointSpatialReference": {}, // default ICS
    "imagePoints": [
       {"imageId":
        "x":
        "y":
       },
     …
    ]
  }
]

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 the jobId to periodically check the status of the job and messages as described in Checking job status. Once the job has successfully completed, you use the jobId to retrieve the results. To track the status, you can make a request of the following form:

https://<orthomapping tools url>/EditControlPoints/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 tools url>/EditControlPoints/jobs/<jobId>/results/result?token=<your token>&f=json

The result will be the image collection URL.

Example usage

Below is a sample URL for EditControlPoints.

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

JSON Request example

imageCollection={"itemId": "1780d648db3545bba8661ad98df824a4"}&
inputControlPoints={{"geometry": {"x":-118.15,"y":33.80,"z":10.0,"spatialReference":{"wkid":4326}},"attributes": {"imageID":22, "pointID":2, "type":2, "status":1}}}