- URL:
- https://<root>/<serviceName>/ValidationServer/evaluate
- Methods:
POST
- Required Capability:
- ArcGIS Advanced Editing user type extension license
- Version Introduced:
- 10.7
Description
The evaluate
operation allows you to evaluate the rules associated with the specified features (using a selection set, geographic extent, or those features modified in a version) and create persisted error features in error tables.
Evaluation can be performed on the following types of geodatabase rules (specified by the evaluation
parameter):
- Topology rules
- Validation and batch calculation attribute rules
Request parameters
Parameter | Details |
---|---|
| Specifies the output format of the response. The default response format is Values: |
| Specifies the name of the geodatabase version (the default is DEFAULT). Syntax: |
| Specifies the token (GUID) used to lock the version. If the calling client is editing a named version, the Syntax: |
| Specifies the envelope of the area to validate. This type of validation does not result in a change to the last evaluation moment in a version. Example:
|
| Specifies whether the features that have changed in the version will be evaluated (the default is When set to Values: |
| A set of features that will be evaluated. This is an array of layers (layerId) and features (globalIds or objectIds) to evaluate. Selections are not applicable when Values:
Example:
|
| Specifies an array of evaluation types. Values:
Example:
|
| Specifies whether features that were edited due to feature evaluation will be returned. Results are organized layer by layer. If The The response includes no Edited features are returned in the spatial reference of the feature service as defined by the services The default is Values: |
| Specifies whether the request will be processed as an asynchronous job. If Values: This parameter was introduced at ArcGIS Enterprise 11.2. |
JSON Response syntax
JSON response (when async = false
):
{
"moment" : <datetime>,
"exceededTransferLimit : <true | false>,
"serviceEdits" : [
{
"id" : <layerId>,
"editedFeatures" :
{
"adds" : [<currentFeature1>, <currentFeature2>],
"updates" : [
[<originalFeature3>, <currentFeature3>],
[<originalFeature4>, <currentFeature4>]
],
"deletes" : [<originalFeature5>, <originalFeature6>]
}
}
],
"evaluationStatistics": {
"rowsEvaluated": <integer>,
"elapsedTimeInSec": <integer>
"errorsIdentified": <integer>,
"errorsCleaned": <integer>
},
"errorsIdentified" : <integer>,
"validatedArea": { // only if evaluationType is topologyRules
"xmin": <double>,
"ymin": <double>,
"xmax": <double>,
"ymax": <double>
},
"success" : <true | false>,
"error" : { // only if success is false
"extendedCode" : <HRESULT>,
"message" : <error message>,
"details" : [ <detail> ]
}
}
JSON response (when async = true
):
{
"statusUrl" : <url>
}
JSON response to the statusURL (when pending or in progress):
{
"status" : "<Pending | InProgress>",
"submissionTime" : <datetime>,
"lastUpdatedTime" : <datetime>
}
JSON response to the statusURL (when completed):
{
"moment" : <datetime>,
"exceededTransferLimit : <true | false>,
"serviceEdits" : [
{
"id" : <layerId>,
"editedFeatures" :
{
"adds" : [<currentFeature1>, <currentFeature2>],
"updates" : [
[<originalFeature3>, <currentFeature3>],
[<originalFeature4>, <currentFeature4>]
],
"deletes" : [<originalFeature5>, <originalFeature6>]
}
}
],
"evaluationStatistics": {
"rowsEvaluated": <integer>,
"elapsedTimeInSec": <integer>
"errorsIdentified": <integer>,
"errorsCleaned": <integer>
},
"errorsIdentified" : <integer>,
"validatedArea": { // only if evaluationType is topologyRules
"xmin": <double>,
"ymin": <double>,
"xmax": <double>,
"ymax": <double>
},
"status" : "Completed",
"submissionTime" : <datetime>,
"lastUpdatedTime" : <datetime>,
"success" : <true | false>,
"error" : { // only if success is false
"extendedCode" : <HRESULT>,
"message" : <error message>,
"details" : [ <detail> ]
}
}
Example usage
Validation attribute rules
Evaluate the validation rules for the UNADMIN.CAROLINA version using the evaluate
operation.
Request URL and parameters:
https://myserver.esri.com/server/rest/services/LandUse/ValidationServer/evaluate
f=json
gdbVersion=UNADMIN.CAROLINA
sessionID={E55FFA19-406E-46D6-847E-BD512A1F3756}
evaluationArea=
{
"xmin": -184.45407167254172,
"ymin": -56.712479956871164,
"xmax": 180.79547851540042,
"ymax": 96.3386671168742,
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
}
}
changesInVersion=false
evaluationType=["validationRules"]
async=false
returnEdits=true
JSON response (when async
parameter is false
)
{
"moment": 1558369578880,
"evaluationStatistics": {
"rowsEvaluated": 209,
"elapsedTimeInSeconds": 2
"errorsIdentified": 199,
"errorsCleared": 6,
},
"errorsIdentified" : 199,
"success": true,
"status": completed,
"submissionTime": 1656544895000,
"lastUpdatedTime": 1656544895000
}
Topology rules
Evaluate the topology rules for the ADMIN.CAROLINA version using the evaluate
operation.
Request URL and parameters:
https://myserver.esri.com/server/rest/services/LandUse/ValidationServer/evaluate
f=json
gdbVersion=ADMIN.CAROLINA
sessionID={E55FFA19-406E-46D6-847E-BD512A1F3756}
evaluationType=["topologyRules"]
async=false
returnEdits=false
JSON response (when async
parameter is false
)
{
"moment": 1716902568693,
"errorsIdentified": 0,
"validatedArea": {
"xmin": 2395498.2275726758,
"ymin": 1434986.3027709424,
"xmax": 2535087.3847455084,
"ymax": 1652601.6014633551
},
"success": true
}