Hallo zusammen,
ich erhalte folgenden Fehler, wenn ich versuche, mit der Linear Referencing Service applyEdits REST API-Funktion addCalibrationPoints auszuführen:
{'error': {'code': 500, 'message': 'Vorgang kann nicht abgeschlossen werden.', 'details': []}}
- Ich führe das aus einem ArcGIS Pro Python-Skript-Tool aus.
- Enterprise-Version ist 11.3.
- ArcGIS Pro Version ist 3.3 (obwohl ich denke, dass das keine Rolle spielt, da ich applyEdits von Python aufrufe).
Ich kann manuell einen Kalibrierungspunkt in Pro mit dem Location Referencing Add Calibration Point Tool hinzufügen; derselbe Service, dieselbe Version.
So sieht die applyEdits-Nutzlast aus:
https://MyServer/server/rest/services/MyService/MapServer/exts/LRServer/applyEdits
?f=json
&token=MyToken
&gdbVersion=MY.NAME@MY.ORG.AR_250212b
&sessionId={51777728-f672-4805-9831-b1800715f796}
&edits=
[
{"id": 1, "addCalibrationPoints":
[
{
"networkLayerId": 3,
"routeId": "LOC103431P",
"fromDate": 1522972800000,
"geometry": { "x": 441393.9140999997, "y": 3626705.8938999996}, "measure": 0.26968174 }
]
}
]
Die ID des CalibrationPoints-Service-Layers ist 1 und die ID des Network-Service-Layers ist 3.
Ich glaube nicht, dass geometry eine spatialReference benötigt, da die Eingabegeometrie spatialReference mit der CalibrationPoints spatialReference übereinstimmt, aber ich habe es trotzdem ausprobiert – mit demselben Ergebnis.
Ich glaube auch nicht, dass recalibrateRouteDownstream oder retire erforderlich sind, habe sie aber ebenfalls getestet – mit demselben Ergebnis.
Ich habe applyEdits erfolgreich ausgeführt, um Event-Felder zu aktualisieren (applyEdits/updates) und um eine Route außer Betrieb zu nehmen (applyEdits/retireRoute), daher scheint alles richtig eingerichtet zu sein. Der grundlegende Ablauf ist:
- Erhalte eine sessionId und versionGuid
- startReading
- startEditing
- Sperre für die Route erwerben
- applyEdits (Antwort: 'Vorgang kann nicht abgeschlossen werden.')
- Sperre freigeben
- stopEditing
- stopReading
Dieser Ablauf orientiert sich sehr an einer Präsentation beim Developer Summit 2021 zum Hinzufügen eines Kalibrierungspunkts:
https://www.youtube.com/watch?app=desktop&v=VQzW-EZCEKc
Vielen Dank für jede Hilfe!