Olá a todos,
Estou recebendo o seguinte erro ao tentar usar addCalibrationPoints com a função REST API applyEdits do Linear Referencing Service:
{'error': {'code': 500, 'message': 'Não foi possível completar a operação.', 'details': []}}
- Estou executando isso a partir de uma ferramenta de script Python no ArcGIS Pro.
- A versão Enterprise é 11.3.
- A versão do ArcGIS Pro é 3.3 (embora eu ache que não importa porque estou chamando applyEdits pelo Python).
Consigo adicionar manualmente um ponto de calibração no Pro usando a ferramenta Location Referencing Add Calibration Point; mesmo serviço, mesma versão.
Este é o payload do 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 }
]
}
]
O id da camada do serviço CalibrationPoints é 1 e o id da camada do serviço Network é 3.
Acredito que geometry não precisa de spatialReference porque o spatialReference da geometria de entrada corresponde ao spatialReference do CalibrationPoints, mas tentei mesmo assim com os mesmos resultados.
Acredito que recalibrateRouteDownstream ou retire também não são obrigatórios, mas testei mesmo assim, com os mesmos resultados.
Consegui executar applyEdits para atualizar campos de Evento (applyEdits/updates) e para retirar uma rota (applyEdits/retireRoute), então parece que estou configurando tudo corretamente. Esse fluxo básico é:
- Obter um sessionId e versionGuid
- startReading
- startEditing
- adquirir um bloqueio na rota
- applyEdits (resposta é 'Não foi possível completar a operação.')
- liberar bloqueio
- stopEditing
- stopReading
Esse fluxo segue muito de perto uma apresentação no Developer Summit 2021 para adicionar um ponto de calibração:
https://www.youtube.com/watch?app=desktop&v=VQzW-EZCEKc
Obrigado por qualquer ajuda!