計算ルールは、フィーチャの属性設定を自動的に入力するために使用されます。実際の使用例については、ブログ記事 Maintain Measure Attributes をご覧ください。以下の Arcade コードは、新しい高速道路/街路ルートが作成されたときに指定されたフィールドに測定属性を入力する Attribute Rule を設定するために使用できます。このスクリプトは、高速道路/街路ルートやその較正が変更された場合にも測定属性を更新します。
/**
* Assigned To: M-aware なポリライン フィーチャクラス
* Type: Calculation
* Name: StartM_EndM_Values
* Description: ポリライン-M フィーチャの開始測定値と終了測定値を計算
* Trigger: Insert, Update
* Misc: アプリケーション評価から除外: True
* フィーチャには GLOBALID、FromMeasure、ToMeasure、Length フィールドが必要
*/
var geom = Geometry($feature);
if (!geom.hasM) {
return;
}
// 開始点と終了点を取得
var start_p = geom['paths'][0][0];
var end_p = geom['paths'][-1][-1];
var start_m = Round(start_p.m);
var end_m = Round(end_p.m);
var length = Round(end_m - start_m);
return {
"result": {
"attributes": {
"FromMeasure": start_m,
"ToMeasure": end_m,
"Length": length
}
}
}
属性ルールは、プライマリ LRS ネットワーク(ラインネットワーク)および派生 LRS ネットワーク(連続)に対して、それぞれのフィーチャクラスの適切なフィールドを更新することで設定できます。