Skip to main content

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 には、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 )

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

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

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(<value>,<low>,<high>)

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

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

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

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

Store dist が 6 よりも小さい場合は 6 を返し、Store distdistance よりも大きい場合は 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)

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

field1field2 よりも大きい場合は 2 番目の iff 関数の結果を返し、そうでない場合は 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

または

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

(abs(-5) == 5) または (10 < 2)

True

および

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

(abs(-5) == 5) および (10 < 2)

False