Bonjour à tous,
Je rencontre l'erreur suivante lorsque j'essaie d'utiliser addCalibrationPoints avec la fonction REST applyEdits du service Linear Referencing :
{'error': {'code': 500, 'message': 'Impossible de terminer l'opération.', 'details': []}}
- J'exécute cela depuis un outil script Python dans ArcGIS Pro.
- La version Enterprise est 11.3.
- La version d'ArcGIS Pro est 3.3 (même si je ne pense pas que cela importe car j'appelle applyEdits depuis Python).
Je peux ajouter manuellement un point de calibration dans Pro en utilisant l'outil Location Referencing Add Calibration Point ; même service, même version.
Voici à quoi ressemble la charge utile applyEdits :
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 }
]
}
]
L'id du service layer CalibrationPoints est 1 et celui du service layer Network est 3.
Je ne pense pas que geometry ait besoin d'un spatialReference car le spatialReference de la géométrie d'entrée correspond à celui de CalibrationPoints, mais j'ai essayé quand même avec les mêmes résultats.
Je ne pense pas non plus que recalibrateRouteDownstream ou retire soient nécessaires, mais je les ai testés aussi, avec les mêmes résultats.
J'ai réussi à exécuter applyEdits pour mettre à jour des champs Event (applyEdits/updates) et pour retirer une route (applyEdits/retireRoute), donc il semble que je configure tout correctement. Ce flux de travail basique est :
- Obtenir un sessionId et un versionGuid
- démarrer la lecture
- démarrer l'édition
- acquérir un verrou sur la route
- applyEdits (la réponse est 'Impossible de terminer l'opération.')
- libérer le verrou
- arrêter l'édition
- arrêter la lecture
Ce flux suit très fidèlement une présentation au Developer Summit 2021 pour ajouter un point de calibration :
https://www.youtube.com/watch?app=desktop&v=VQzW-EZCEKc
Merci pour toute aide !