こんにちは、
以下のドキュメントに記載されているクエリをテストしようとしていました - https://developers.arcgis.com/rest/services-reference/enterprise/lr-acquire-locks/。
/MapServer/exts/LRServer/locks/acquire
私が直面した問題は次の通りです:
まず第一に、このクエリはリンクのヘッダーで示されているGETではなくPOSTクエリのようです。
次に、acquireLocksパラメーターは「Optional(任意)」とされていますが、実際には誤りで、これを削除すると以下のレスポンスが返されます:
{"error":{"code":400,"message":"'acquireLocks' パラメーターが指定されていません。","details":[]}}
次のように渡すと:
[{"routeId": "{myRouteUniqueID}", "layerId": 1}]
以下のレスポンスが返されます:
{"error":{"code":400,"message":"'lineId' パラメーターが指定されていません。","details":[]}}
次の acquireLocks パラメーターを渡すと:
[{"routeId": "{myRouteUniqueID}", "layerId": 1}, {"lineId": "{myCenterlineUniqueId}", "layerId": 2}]
それでも以下のレスポンスが返されます:
{"error":{"code":400,"message":"'lineId' パラメーターが指定されていません。","details":[]}}
私の最終的な目的は、applyEdits クエリ (https://developers.arcgis.com/rest/services-reference/enterprise/apply-edits/) を通じてキャリブレーションポイントをロードすることです。
これを行うには、キャリブレーションポイントを追加したいルートに対して排他ロックを取得する必要があります。私の質問は、「routeId」、「lineId」、「layerId」に何を渡すべきか、そしてどのようにすればよいかということです。ドキュメントにはJSONは次のように記載されています:
[ { "routeId": "<routeId>", "layerId": <layerId> } | { "lineId": "<lineId>", "layerId": <layerId> }, ... ]
しかし、「|」はJSONでは機能しないため意味がなく、エラーになります。
そこで、自分の routeId を routeId に、CenterlineID を lineID に、layerId を自分のセンターラインおよびルート公開レイヤーIDに設定しました。
/MapServer/exts/LRServer/locks/acquire クエリで複数ルートにロックを作成し、それらのルートに対してキャリブレーションポイントをさらにロードできるようにするために、acquireLocks パラメーターとして渡すべき動作する JSON の例を誰か教えていただけませんか?
よろしくお願いいたします!