ArcGIS Enterprise 10.5 および 10.5.1 のバッファー条件式の例

値を入力したり、フィールドを使用することは、GeoAnalytics Tools を使用してバッファーのサイズを指定できる唯一の方法ではありません。場合によっては、バッファー サイズを設定するために数学的計算を実行したいことがあります。すべてのレコードに適用される、単純なものから高度なものまでの、さまざまな計算を実行することができます。この計算は、各フィーチャに適用されます。以下の各セクションでは、バッファー条件式を使用する例を示しています。ArcGIS GeoAnalytics Server 上で解析が実行される際に、計算が実行されます。

ArcGIS Enterprise 10.6 以降では、Arcade 条件式を使用して、条件式が書式設定されます。Arcade 条件式および GeoAnalytics Server と 10.6 以降での Arcade 条件式の詳細

バッファー条件式は、[トラックの再構築 (Reconstruct Tracks)] ツールおよび [バッファーの作成 (Create Buffers}] ツールで使用されます。

簡単な演算

簡単な関数の例

バッファー条件式は、数値を数学的に処理することができます。

演算子説明結果

a + b

a 足す b

fieldname には、1.5 の値が含まれています

["fieldname"] + 2.5

4.0

a - b

a 引く b

fieldname には、3.3 の値が含まれています

["fieldname"]- 2.2

1.1

a * b

a 掛ける b

fieldname には、2.0 の値が含まれています

["fieldname"] * 2.2

4.4

a / b

a 割る b

fieldname には、4.0 の値が含まれています

["fieldname"] / 1.25

3.2

abs( a )

a. の絶対値 (正の値) を返します。

fieldname には、-1.5 の値が含まれています

abs(["fieldname"])

1.5

log ( a )

a の自然対数 (底を e とする) を返します。

fieldname には、1 の値が含まれています

log(["fieldname"])

0

sin ( a )

a の角度の正弦を返します。入力の角度の単位はラジアンです。

fieldname には、1.5707 の値が含まれています

sin(["fieldname"])

1

cos( a )

a の角度の余弦を返します。入力の角度の単位はラジアンです。

fieldname には、0 の値が含まれています

cos(["fieldname"])

1

tan( a )

a の角度の正接を返します。入力の角度の単位はラジアンです。

fieldname には、0 の値が含まれています

tan(["fieldname"])

0

sqrt( a )

a の平方根を返します。

fieldname には、9 の値が含まれています

sqrt(["fieldname"])

3

min( a, b )

a と b のうちの小さい方の数値を返します。

fieldname には、1.5 の値および -3 の値が含まれています

min(["fieldname"], -3)

-3

max( a, b )

a と b のうちの大きい方の数値を返します。

fieldname1 には、1.5 の値、fieldname2 には -3 の値が含まれています

max(["fieldname1"], ["fieldname2"])

1.5

乗算

["Distance"] * 2

GeoAnalytics Tools の組み込み関数

距離関数の例

バッファー条件式は、数値を距離にキャストすることができます。

関数説明結果

as_meters( <value> )

入力値がメートル単位であることを仮定して計算を適用します。

as_meters( ["fieldname"] )

as_meters(150)

結果は 150 メートルでバッファー処理されます。

as_kilometers( <value> )

入力値がキロメートル単位であることを仮定して計算を適用します。

as_kilometers( ["fieldname"] )

as_kilometers(150)

結果は 150 キロメートルでバッファー処理されます。

as_feet( <value> )

入力値がフィート単位であることを仮定して計算を適用します。

as_feet( ["fieldname"] )

as_feet(150)

結果は 150 フィートでバッファー処理されます。

as_yards( <value> )

入力値がヤード単位であることを仮定して計算を適用します。

as_yards( ["fieldname"] )

as_yards(150)

結果は 150 ヤードでバッファー処理されます。

as_nautical_miles( <value> )

入力値が海里単位であることを仮定して計算を適用します。

as_nautical_miles( ["fieldname"] )

as_nautical_miles(150)

結果は 150 海里でバッファー処理されます。

as_miles( <value> )

入力値がマイル単位であることを仮定して計算を適用します。

as_miles( ["fieldname"] )

as_miles(150)

結果は 150 マイルでバッファー処理されます。

フィーチャごとに、キロメートル単位であることを仮定してフィールド Distance を掛け、10 メートルを足します。

as_kilometers(["Distance"]) + as_meters(10)

GeoAnalytics Tools のバッファー条件式の高度な組み込み関数

シンプルな数式に加えて、さらに高度な関数を使用してバッファー条件式を適用することができます。

関数説明結果

constrain(<value>,<low>,<high>)

入力値が制限範囲内にある場合、入力値を返します。値が下限値よりも小さい場合、下限値を返します。値が上限値よりも大きい場合、上限値を返します。

constrain( ["distance"], 0, 10)

constrain(['Store dist'], 6, distance)

distance が 0 よりも小さい場合は 0 を返し、distance が 10 よりも大きい場合は 10 を返し、それ以外の場合は distance を返します。

Store dist が 6 よりも小さい場合は 6 を返し、distanceStore dist よりも大きい場合は distance を返し、それ以外の場合は Store dist を返します。

iff(<condition>,<true value>,<false value>)

条件が trueと評価されると 1 つの値を返し、同条件が false と評価されると別の値を返します。

<true value> および <false value> は、次の値にすることができます。

  • 数値フィールド。フィールド名にスペースがある場合は、角括弧を使用します。
  • 数値。
  • 関数。

iff(["field1"] > ["field2"], ["field1"], 0)

iff(["field1"] > ["field2"], iff(["field2"] = 0, ["field3"], ["field4"]), 0)

field1field1 よりも大きい場合は field2 を返し、そうでない場合は 0 を返します。

ifffield1 よりも大きい場合は 2 番目の field2 関数の結果を返し、そうでない場合は 0 を返します。

when(<expression1> , <result1> , <expression2> , <result2> , ... , <expressionN> , <resultN>, <default>)

1 つの条件式が true と評価されるまで、一連の条件式を順次評価します。

  • expression - 条件式。
  • result - 数値またはフィールドにすることができます。
  • default - どの条件式も一致しない場合のオプションの値。

when((["field1"] + 10) > 1, 1,(["field2"] + 10) > 2 , 2, ["field3"])

- field1 + 10 が 1 よりも大きい場合、1 を返します。そうでない場合、field2 + 10 が 2 よりも大きいかどうかをチェックします。大きい場合は 2 を返します。そうでない場合は field3 を返します。

decode(<conditional val> , <case1> , <result1>, <case2>, <result2>, ... <caseN>, <resultN>, <defaultValue> )

decode 関数は条件式を評価し、その値を以降のパラメーターと比較します。条件式が一致した場合、次のパラメーター値を返します。何も一致しない場合、最後のパラメーターがデフォルトの戻り値になるオプションがあります。

  • conditional val - フィールドまたは条件式にすることができます。
  • case - conditional val と比較される値。
  • result - 対応するケースが conditional val.と一致する場合の結果。
  • defaultValue - 他の値が true でない場合のオプションの値。

decode(["field1"] + 3 , ["field1"], 1, ["field2"], 2, 0)

条件付き val の field1 + 3 と case1 の field1 の間の等式を比較します。true の場合は 1 を返します。false の場合は、field1 + 3field2 の間の等式を比較します。true の場合は 2 を返し、そうでない場合は 0 を返します。

条件付きステートメントでは、以下の演算子を使用できます。

演算子説明結果

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

<condition1> OR <condition2>

条件 1 または条件 2 が満たされる。

(abs(-5) == 5) OR (10 < 2)

True

<condition1> AND <condition2>

条件 1 および条件 2 が満たされる。

(abs(-5) == 5) AND (10 < 2)

False

関連トピック