Hallo allemaal,
Ik krijg de volgende foutmelding bij het proberen addCalibrationPoints te gebruiken via de Linear Referencing Service applyEdits REST API-functie:
{'error': {'code': 500, 'message': 'Kan bewerking niet voltooien.', 'details': []}}
- Ik voer dit uit vanuit een ArcGIS Pro Python script tool.
- Enterprise versie is 11.3.
- ArcGIS Pro versie is 3.3 (hoewel ik denk dat dit niet uitmaakt omdat ik applyEdits vanuit Python aanroep).
Ik kan handmatig een calibratiepunt toevoegen in Pro met de Location Referencing Add Calibration Point tool; dezelfde service, dezelfde versie.
Dit is hoe de applyEdits payload eruitziet:
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 }
]
}
]
De CalibrationPoints service laag id is 1 en de Network service laag id is 3.
Ik denk niet dat geometry een spatialReference nodig heeft omdat de spatialReference van de input geometry overeenkomt met die van CalibrationPoints, maar ik heb het toch geprobeerd met hetzelfde resultaat.
Ik denk ook niet dat recalibrateRouteDownstream of retire vereist zijn, maar ik heb ze toch geprobeerd met hetzelfde resultaat.
Ik heb applyEdits succesvol uitgevoerd om Event velden bij te werken (applyEdits/updates) en om een route te verwijderen (applyEdits/retireRoute), dus het lijkt erop dat ik alles correct instel. Die basisworkflow is:
- Krijg een sessionId en versionGuid
- startReading
- startEditing
- verkrijg een lock op de route
- applyEdits (antwoord is 'Kan bewerking niet voltooien.')
- release lock
- stopEditing
- stopReading
Deze workflow volgt nauwkeurig een presentatie op de Developer Summit 2021 voor het toevoegen van een calibratiepunt:
https://www.youtube.com/watch?app=desktop&v=VQzW-EZCEKc
Bedankt voor alle hulp!