Update Measures From LRS

URL:
https://<network-layer-url>/updateMeasuresFromLRS
Methods:
GET
Required Capability:
Network Editing
Version Introduced:
10.8

Description

This operation populates or updates the route and measure attributes on any point or line features, including Utility Network features such as pipes, devices, and junctions, or LRS features such as events and intersections. The attributes that will be updated include route ID, route name (if configured), and measures.

Request parameters

ParameterDetails

f

(Optional)

Specifies the response format. The default response format is html.

Values: html | json | pjson

lrsDate

The epoch date used to define the temporal view of the network for collecting the route and measure values.

Syntax:

Use dark colors for code blocksCopy
1
lrsDate=<epoch date>

Example:

Use dark colors for code blocksCopy
1
lrsDate=1539043200000

inputLayerId

The layer ID value for the feature service layer that includes the route ID and measure fields to update based on the feature geometry relative to routes in the specified LRS Network.

Syntax:

Use dark colors for code blocksCopy
1
inputLayerId=<layer id>

Example:

Use dark colors for code blocksCopy
1
inputLayerId=3

inputLayerDefinition

(Optional)

Specifies a list of object IDs or a SQL WHERE clause defining the features on the input layer on which the operation will be performed. By default, all features on the input layer will be checked to see if the measures on the features need to be updated.

Syntax:

Use dark colors for code blocksCopy
1
2
3
{
  "objectIds": [<objectId1>, <objectId2>, ...]
}

Or

Use dark colors for code blocksCopy
1
2
3
{
  "where": "field1 in ('<value1>', '<value2>', ...)"
}

Example:

Use dark colors for code blocksCopy
1
2
3
4
5
6
{
  "objectIds": [1, 3, 5]
}
{
  "where": "lineId in ('{124EF4E1-D6D7-47CD-A993-6E036584742C}', '{7BC4E070-CD40-40B0-8F13-75C75B3A80CF}')"
}

routeIdFieldName

The name of the Input Layer field that contains the route ID value.

Syntax:

Use dark colors for code blocksCopy
1
routeIdFieldName="<field name>"

Example:

Use dark colors for code blocksCopy
1
routeIdFieldName="ROUTEID"

toRouteIdFieldName

(Optional)

The name of the Input Layer field that contains the to route ID value.

Syntax:

Use dark colors for code blocksCopy
1
toRouteIdFieldName ="<field name>"

Example:

Use dark colors for code blocksCopy
1
toRouteIdFieldName ="TOROUTEID"

fromMeasureFieldName

The name of the Input Layer field that contains the measure value for point features, or the from measure value for polyline features.

Syntax:

Use dark colors for code blocksCopy
1
fromMeasureFieldName="<field name>"

Example:

Use dark colors for code blocksCopy
1
fromMeasureFieldName ="FROMMEASURE"

toMeasureFieldName

The name of the Input Layer field that contains the to measure value for polyline features.

Syntax:

Use dark colors for code blocksCopy
1
toMeasureFieldName="<field name>"

Example:

Use dark colors for code blocksCopy
1
toMeasureFieldName ="TOMEASURE"

routeNameFieldName

(Optional)

The name of the Input Layer field that contains the route name value.

Syntax:

Use dark colors for code blocksCopy
1
routeNameFieldName="<field name>"

Example:

Use dark colors for code blocksCopy
1
routeNameFieldName ="ROUTENAME"

toRouteNameFieldName

(Optional)

The name of the Input Layer field that contains the to route name value.

Syntax:

Use dark colors for code blocksCopy
1
toRouteNameFieldName="<field name>"

Example:

Use dark colors for code blocksCopy
1
toRouteNameFieldName ="TOROUTENAME"

searchTolerance

(Optional)

The maximum distance for the input features from the route to be populated with route and measure information.

The searchTolerance unit is based on the x,y unit of the LRS Network.

gdbVersion

(Optional)

Specifies the geodatabase version to use. If this parameter is not specified, the published map's version is used.

Syntax:

Use dark colors for code blocksCopy
1
gdbVersion=<version>

Example:

Use dark colors for code blocksCopy
1
gdbVersion="user1.version1"

sessionID

(Optional)

Set by a client during long transaction editing on a branch version. The sessionId parameter value is a GUID that clients establish at the beginning and use throughout the edit session. The sessonId parameter ensures isolation during the edit session.

Syntax:

Use dark colors for code blocksCopy
1
sessionId=<guid>

Example:

Use dark colors for code blocksCopy
1
sessionId="{E81C2E2D-C6A7-40CB-BF61-FB499E53DD1D}"

returnEditMoment

(Optional)

Specifies whether the response reports the time edits that were applied. If returnEditMoment is set to true, the server returns the time edits that were applied in the response's editMoment key. The default value is false.

Values: true | false

returnServiceEditsOption

(Optional)

Returns features edited due to the geodatabase behavior that results from applying the edits. For example, if a feature is deleted and it is the origin in a composite relationship, the destination feature is automatically deleted from the geodatabase. If returnServiceEditsOption is set to originalAndCurrentFeatures, the deleted destination feature is returned along with a reference to the deleted original feature in the response. Note that, even for deletions, the geometry and attributes of the edited feature are returned.

Results returned from applyEdits are organized layer by layer. If returnServiceEditsOption is set to originalAndCurrentFeatures, each layer can have edited features returned in an editedFeatures object.

Service-level applyEdits response structure:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[
  {
    id
    addResults
    updateResults
    deleteResults
    attachments: {
      addResults
      updateReults
      deleteResults
    }
    editMoment
    editedFeatures
    exceededTransferLimit
  },
  {
  ...
  }
]

The editedFeatures object returns full features, including the original features prior to deletion, the original and current features for updates, and the current rows for inserts that can contain implicit changes (for example, as a result of a calculation rule).

editedFeatures response structure:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
{
  "editedFeatures": [
    {
      "adds": [ <feature1>, <feature2>], 	// current features
      "updates": [[<originalFeature3>, < currentFeature3>], [<originalFeature4>, < currentFeature4>]],
      "deletes": [ <feature5>, <feature6>]	// original features
    },
  ]
}

The response includes no editedFeatures values and exceededTransferLimit as true if the count of edited features to return is more than the maxRecordCount value. If clients are using this parameter to maintain a cache, they should invalidate the cache when exceededTransferLimit is returned as true. If the server encounters an error when generating the list of edits in the response, exceededTransferLimit is returned as true.

The default value is none, which does not include editedFeatures values.

Edited features are returned in the spatial reference of the feature service as defined by the services spatialReference object or by the spatialReference value of the layers extent object.

Values: none | originalAndCurrentFeatures

Example usage

Example 1

URL for updating measures for all features on the polyline feature layer:

Use dark colors for code blocksCopy
1
https://sampleserver/server/rest/services/NTM/MapServer/exts/LRServer/networkLayers/5/updateMeasuresFromLRS/?lrsDate=1539043200000&centerlineLayerId=8&inputLayerId=3&routeIdFieldName=ROUTEID&fromMeasureFieldName=FROMMEASURE&toMeasureFieldName=TOMEASURE&gdbVersion=sde.DEFAULT&sessionId=%7b1DBCA670-A0D2-48EA-AB9F-56E2DFB4E43B%7d&returnServiceEditsOption=originalAndCurrentFeatures&returnEditMoment=true&f=json

Example 2

URL for updating measures for selected features on the polyline feature layer:

Use dark colors for code blocksCopy
1
https://sampleserver/server/rest/services/NTM/MapServer/exts/LRServer/networkLayers/5/updateMeasuresFromLRS/?lrsDate=1539043200000&centerlineLayerId=8&inputLayerId=3&inputLayerDefinition=%7b%22objectIds%22%3a%5b8%2c9%5d%7d&routeIdFieldName=ROUTEID&fromMeasureFieldName=FROMMEASURE&toMeasureFieldName=TOMEASURE&gdbVersion=sde.DEFAULT&sessionId=%7b1DBCA670-A0D2-48EA-AB9F-56E2DFB4E43B%7d&returnServiceEditsOption=originalAndCurrentFeatures&returnEditMoment=true&f=json

Example 3

URL for updating measures for features on the polyline feature layer that meet a definition query:

Use dark colors for code blocksCopy
1
https://sampleserver/server/rest/services/NTM/MapServer/exts/LRServer/networkLayers/5/updateMeasuresFromLRS/?lrsDate=1539043200000&centerlineLayerId=8&inputLayerId=3&inputLayerDefinition=%7b%22where%22%3a%22%20(%20NAME%20IS%20NOT%20NULL%20)%22%7d&routeIdFieldName=ROUTEID&fromMeasureFieldName=FROMMEASURE&toMeasureFieldName=TOMEASURE&gdbVersion=sde.DEFAULT&sessionId=%7b1DBCA670-A0D2-48EA-AB9F-56E2DFB4E43B%7d&returnServiceEditsOption=originalAndCurrentFeatures&returnEditMoment=true&f=json

Example 4

URL for updating measures for selected features on the polyline feature layer using search tolerance:

Use dark colors for code blocksCopy
1
https://sampleserver/server/rest/services/NTM/MapServer/exts/LRServer/networkLayers/5/updateMeasuresFromLRS/?lrsDate=1539043200000&centerlineLayerId=8&inputLayerId=3&inputLayerDefinition=%7b%22objectIds%22%3a%5b8%2c9%5d%7d&routeIdFieldName=ROUTEID&torouteIdFieldName=TOROUTEID&fromMeasureFieldName=FROMMEASURE&toMeasureFieldName=TOMEASURE&routeNameFieldName=ROUTENAME&toRouteNameFieldName=TOROUTENAME&searchTolerance=0.1&gdbVersion=sde.DEFAULT&sessionId=%7b1DBCA670-A0D2-48EA-AB9F-56E2DFB4E43B%7d&returnServiceEditsOption=originalAndCurrentFeatures&returnEditMoment=true&f=json

JSON response syntax

Query this job URL to get progress updates and results of the operation.

Use dark colors for code blocksCopy
1
2
3
{
  "statusURL": "<jobIdURL>"
}

JSON response example

Use dark colors for code blocksCopy
1
2
3
{
  "statusURL": "https://sampleserver/arcgis/rest/services/MyLRS/MapServer/exts/LRServer/jobs/j3c0a00b4314349eb8e4ff6ff7ac2db5d"
}

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.