Hola a todos,
Estoy recibiendo el siguiente error al intentar usar addCalibrationPoints con la función REST API applyEdits del Servicio de Referenciación Lineal:
{'error': {'code': 500, 'message': 'No se puede completar la operación.', 'details': []}}
- Estoy ejecutando esto desde una herramienta de script Python en ArcGIS Pro.
- La versión Enterprise es 11.3.
- La versión de ArcGIS Pro es 3.3 (aunque no creo que importe porque estoy llamando a applyEdits desde Python).
Puedo agregar manualmente un punto de calibración en Pro usando la herramienta Location Referencing Add Calibration Point; mismo servicio, misma versión.
Así es como se ve la carga útil de 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 }
]
}
]
El id de la capa del servicio CalibrationPoints es 1 y el id de la capa del servicio Network es 3.
No creo que geometry necesite un spatialReference porque el spatialReference de la geometría de entrada coincide con el spatialReference de CalibrationPoints, pero lo he probado de todas formas con los mismos resultados.
Tampoco creo que recalibrateRouteDownstream o retire sean necesarios, pero también los he probado sin éxito.
He ejecutado applyEdits con éxito para actualizar campos de Event (applyEdits/updates) y para retirar una ruta (applyEdits/retireRoute), así que parece que estoy configurando todo correctamente. Ese flujo básico es:
- Obtener un sessionId y versionGuid
- startReading
- startEditing
- adquirir un bloqueo en la ruta
- applyEdits (la respuesta es 'No se puede completar la operación.')
- liberar el bloqueo
- stopEditing
- stopReading
Este flujo sigue muy de cerca una presentación en el Developer Summit 2021 para agregar un punto de calibración:
https://www.youtube.com/watch?app=desktop&v=VQzW-EZCEKc
¡Gracias por cualquier ayuda!