計算ルールは、フィーチャの属性設定を自動的に入力するために使用されます。実際の使用例については、ブログ記事 Maintain Measure Attributes をご覧ください。以下の Arcade コードは、新しいパイプラインルートが作成されたときに指定されたフィールドに測定属性を入力する Attribute Rule を設定するために使用できます。このスクリプトは、パイプラインルートやその較正が変更された場合にも測定属性を更新します。
/**
* Assigned To: M-aware なポリライン フィーチャクラス
* Type: 計算
* Name: StartM_EndM_Values
* Description: ポリライン-M フィーチャの開始測定値と終了測定値を計算
* Trigger: 挿入, 更新
* Misc: アプリケーション評価から除外: True
* フィーチャには GLOBALID, EngFromM, EngToM, EngLength フィールドが必要
*/
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": {
"EngFromM": start_m,
"EngToM": end_m,
"EngLength": length
}
}
}
属性ルールは、プライマリ LRS ネットワーク(Engineering)および派生 LRS ネットワーク(Continuous)に対して、それぞれのフィーチャクラスの適切なフィールドを更新することで設定できます。