ArcGIS Enterprise 10.5 および 10.5.1 のバッファー式の例
値を入力したり、フィールドを使用することは、GeoAnalytics ツールを使用してバッファーのサイズを指定できる唯一の方法ではありません。 場合によっては、バッファー サイズを設定するために数学的計算を実行したいことがあります。 すべてのレコードに適用される、単純なものから高度なものまでの、さまざまな計算を実行することができます。 この計算は、各フィーチャに適用されます。 以下の各セクションでは、バッファー式を使用する例を示しています。 ArcGIS GeoAnalytics Server 上で解析が実行される際に、計算が実行されます。
ArcGIS Enterprise 10.6 以降では、式は Arcade 式を使用して書式設定されます。 Arcade 式の詳細および GeoAnalytics Server および 10.6 以降の Arcade 式。
バッファー式は、トラッキングの再構築 ツールおよび バッファーの作成 ツールで使用されます。
単純な演算
単純な関数の例
バッファー式は、数値を数学的に処理することができます。
|
演算子 |
説明 |
例 |
結果 |
|---|---|---|---|
|
a + b |
a 足す b |
["fieldname"] + 2.5 |
4.0 |
|
a - b |
a 引く b |
["fieldname"] - 2.2 |
1.1 |
|
a * b |
a 掛ける b |
["fieldname"] * 2.2 |
4.4 |
|
a / b |
a 割る b |
["fieldname"] / 1.25 |
3.2 |
|
abs( a ) |
|
abs(["fieldname"]) |
1.5 |
|
log ( a ) |
a の自然対数 (底を e とする) を返します。 |
log(["fieldname"]) |
0 |
|
sin ( a ) |
a の正弦が返されます。 入力の角度の単位はラジアンです。 |
sin(["fieldname"]) |
1 |
|
cos( a ) |
a の余弦が返されます。 入力の角度の単位はラジアンです。 |
cos(["fieldname"]) |
1 |
|
tan( a ) |
a の正接が返されます。 入力の角度の単位はラジアンです。 |
tan(["fieldname"]) |
0 |
|
sqrt( a ) |
a の平方根を返します。 |
sqrt(["fieldname"]) |
3 |
|
min( a, b ) |
a と b のうちの小さい方の数値を返します。 |
min(["fieldname"], -3) |
-3 |
|
max( a, b ) |
a と b のうちの大きい方の数値を返します。 |
max(["fieldname1"], ["fieldname2"]) |
1.5 |
Multiplication
["Distance"] * 2
GeoAnalytics ツールの組み込み機能
距離関数の例
バッファー式は、数値を直線距離にキャストできます。
|
関数 |
説明 |
例 |
結果 |
|---|---|---|---|
|
as_meters( |
入力値がメートル単位であることを仮定して計算を適用します |
as_meters( ["fieldname"] ) as_meters(150) |
結果は 150 メートルでバッファー処理されます。 |
|
as_kilometers( |
入力値がキロメートル単位であることを仮定して計算を適用します |
as_kilometers( ["fieldname"] ) as_kilometers(150) |
結果は 150 キロメートルでバッファー処理されます。 |
|
as_feet( |
入力値がフィート単位であることを仮定して計算を適用します |
as_feet( ["fieldname"] ) as_feet(150) |
結果は 150 フィートでバッファー処理されます。 |
|
as_yards( |
入力値がヤード単位であることを仮定して計算を適用します |
as_yards( ["fieldname"] ) as_yards(150) |
結果は 150 ヤードでバッファー処理されます。 |
|
as_nautical_miles( |
入力値が海里単位であることを仮定して計算を適用します |
as_nautical_miles( ["fieldname"] ) as_nautical_miles(150) |
結果は 150 海里でバッファー処理されます。 |
|
as_miles( |
入力値がマイル単位であることを仮定して計算を適用します |
as_miles( ["fieldname"] ) as_miles(150) |
結果は 150 マイルでバッファー処理されます。 |
フィーチャごとに、キロメートル単位であることを仮定してフィールド Distance を掛け、10 メートルを足します。
as_kilometers(["Distance"]) + as_meters(10)
GeoAnalytics ツール バッファー式の高度な組み込み機能
シンプルな数式に加えて、さらに高度な関数を使用してバッファー式を適用することができます。
|
関数 |
説明 |
例 |
結果 |
|---|---|---|---|
|
|
入力値が制限範囲内にある場合、入力値を返します。 値が下限値よりも小さい場合、下限値を返します。 値が上限値よりも大きい場合、上限値を返します。 |
constrain( ["distance"], 0, 10) constrain(['Store dist'], 6, distance) |
|
|
|
条件が
|
iff(["field1"] > ["field2"], ["field1"], 0) iff(["field1"] > ["field2"], iff(["field2"] = 0, ["field3"], ["field4"]), 0) |
|
|
|
1 つの条件式が
|
when((["field1"] + 10) > 1, 1,(["field2"] + 10) > 2 , 2, ["field3"]) |
|
|
|
|
decode(["field1"] + 3 , ["field1"], 1, ["field2"], 2, 0) |
条件付き val の |
条件付きステートメントでは、以下の演算子を使用できます。
|
演算子 |
説明 |
例 |
結果 |
|---|---|---|---|
|
a > b a < b |
a が b よりも大きい。 a が b よりも小さい。 |
10 > 2 |
False |
|
a >= b a <= b |
a が b 以上である。 a が b 以下である。 |
abs(-10) >= 10 |
True |
|
a != b |
a が b と等しくない。 |
abs(-3) != -3 |
True |
|
a == b |
a が b と等しい。 |
abs(-5) == 5 |
True |
|
|
条件 1 または条件 2 が満たされる。 |
(abs(-5) == 5) または (10 < 2) |
True |
|
|
条件 1 および条件 2 が満たされる。 |
(abs(-5) == 5) および (10 < 2) |
False |