식을 적용할 수 있는 GeoAnalytics Tools 도구상자에 여러 도구가 있습니다. 다음 도구에는 식을 적용할 수 있는 옵션이 있습니다.
식을 사용하는 GeoAnalytics Tools에 다양한 사용법이 있으며 식을 적용할 수 있는 제한 사항도 있습니다.
추적 재생성 및 버퍼 생성
버퍼 식은 추적 재생성 및 버퍼 생성 도구에서 사용합니다.
버퍼 크기는 상수 또는 필드 값을 사용하여 가장 많이 입력됩니다. 그러나 값을 입력하는 것은 GeoAnalytics Tools를 사용하여 버퍼 크기를 지정할 수 있는 유일한 방식이 아닙니다. 경우에 따라서는 수학적 계산을 수행하여 버퍼 크기를 설정할 수 있습니다. 모든 레코드에 적용되는 고급 계산을 비롯하여 단순 계산을 수행할 수 있습니다. 계산은 분석된 각 피처에 적용됩니다. 계산은 분석이 ArcGIS GeoAnalytics Server에서 실행되는 경우 수행됩니다.
버퍼 식은 단순 계산 및 모든 빌트인 기능을 사용할 수 있습니다.
버퍼 식의 예시가 아래 섹션에 포함되어 있습니다.
조인 피처
식은 조인 조건을 지정하도록 조인 피처 도구에서 사용됩니다.
어떤 경우에는 조인에 포함해야 하는 피처를 선택하도록 조건을 지정할 수 있습니다. 단순 조인 조건(예시: field a > field c)을 비롯하여 고급 조건도 수행할 수 있습니다. 조건은 분석되는 항목을 확인하도록 각 피처에 대해 테스트됩니다. 계산은 분석이 ArcGIS GeoAnalytics Server에서 실행되는 경우 수행됩니다.
조인 조건 식은 조건을 생성하도록 단순 계산 및 고급 빌트인 기능을 사용할 수 있습니다. 조인 조건은 as_distance 기능을 사용할 수 없습니다. 조인 조건은 항상 true 또는 false로 표시되어야 합니다.
식의 예시가 아래 섹션에 포함되어 있습니다.
단순 계산
단순 수학 예시
추적 재생성 및 버퍼 생성 도구는 수학적으로 숫자를 처리할 수 있습니다.
조인 피처 도구는 조인 조건을 생성하는 경우 수학 연산을 사용할 수 있습니다.
연산자 | 설명 | 예시 | 결과 |
---|---|---|---|
| a 더하기 b | ["fieldname"] + 2.5 Fieldname에에 값으로 1.5 포함 | 4.0 |
| a 빼기 b | ["fieldname"]- 2.2 fieldname에 값으로 3.3 포함 | 1.1 |
| a 곱하기 b | ["fieldname"] * 2.2 fieldname에 값으로 2.0 포함 | 4.4 |
| a 나누기 b | ["fieldname"] / 1.25 fieldname에에 값으로 4.0 포함 | 3.2 |
| a의 절대 값(양수)을 반환합니다. | abs(["fieldname"]) fieldname에 값으로 1.5 포함 | 1.5 |
| A의 자연 로그(밑 e)를 반환합니다. | log(["fieldname"]) fieldname에 값으로 1 포함 | 0 |
| a의 삼각법 사인을 반환합니다. 입력은 라디안의 각도로 간주됩니다. | sin(["fieldname"]) fieldname에 값으로 1.5707 포함 | 1 |
| a의 삼각법 코사인을 반환합니다. 입력은 라디안의 각도로 간주됩니다. | cos(["fieldname"]) fieldname에 값으로 0 포함 | 1 |
| A의 탄젠트를 반환합니다. 입력은 라디안의 각도로 간주됩니다. | tan(["fieldname"]) fieldname에 값으로 0 포함 | 0 |
| a의 제곱근을 반환합니다. | sqrt(["fieldname"]) fieldname에 값으로 9 포함 | 3 |
| a와 b 중 가장 낮은 숫자 값을 반환합니다. | min("fieldname", -3) fieldname에 값으로 1.5 및 -3 포함 | -3 |
| a와 b 중 가장 높은 숫자 값을 반환합니다. | max("fieldname1", "fieldname2") fieldname1에 값으로 1.5가 포함되며 fieldname2에 값으로 -3이 포함됨 | 1.5 |
버퍼 식의 곱셈 예시
["Distance"] * 2
조인 조건 식의 곱셈 예시
["Distance"] * 2 > 5
GeoAnalytics Tools의 빌트인 기능
As distance 기능 예시
as distance 기능은 수학 식에서 사용할 수 있는 숫자 값을 선형 거리에 보냅니다.
추적 재생성 및 버퍼 생성 도구는 as distance 기능을 사용할 수 있습니다. as distance 기능 없이 숫자 값을 사용한 경우 단위는 미터로 가정됩니다.
조인 피처 도구는 as distance 기능을 사용할 수 없습니다.
기능 | 설명 | 예시 | 결과 |
---|---|---|---|
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마일로 버퍼됩니다. |
각 피처에 대해 킬로미터라고 가정하여 필드 거리를 곱한 다음 버퍼 식에 대해 10미터를 더합니다.
as_kilometers(["Distance"]) * 3 + 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을 반환하며 Store dist이(가) distance보다 작은 경우 distance을(를) 반환하고, 그 외에는 Store dist입니다. |
iff(<condition>,<true value>,<false value>) | 조건이 true(으)로 평가되면 그 값을 반환하고 조건이 false(으)로 평가되면 다른 값을 반환합니다. <true value> 및 <false value>은(는) 다음과 같을 수 있습니다.
| iff(field1 > field2, field1, 0) iff(field1 > field2, iff(field2 = 0, field3, field4), 0) | field1이(가) field2보다 큰 경우 field1을(를) 반환하고 그 외에는 0입니다. field1이(가) field2보다 큰 경우 두 번째 iff 기능의 결과를 반환하고 그 외에는 0입니다. |
when(<expression1>, <result1>, <expression2>, <result2>, ... , <expressionN>, <resultN>, <default>) | true(으)로 평가되는 식이 나올 때까지 일련의 식을 차례로 평가합니다.
| 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 기능이 식을 평가하고 값을 이후 매개변수와 비교합니다. 식이 일치하는 경우 다음 매개변수 값을 반환합니다. 아무것도 일치하지 않는 경우 마지막 매개변수가 기본 반환 값이 되는 옵션이 있습니다.
| decode(field1 + 3 , field1, 1, field2, 2, 0) | conditionl val field1 + 3 및 case1 field1의 동등을 비교합니다. true인 경우 1을 반환합니다. false인 경우 field1 + 3 및 field2의 동등을 비교합니다. true인 경우 2를 반환합니다. 그 외의 경우 0을 반환합니다. |
조건문은 다음 연산자를 사용할 수 있습니다.
연산자 | 설명 | 예시 | 결과 |
---|---|---|---|
| a가 b보다 큼 a가 b보다 작음 | 10 > 2 | False |
| a가 b보다 크거나 동일함 a가 b보다 작거나 동일함 | abs(-10) >= 10 | True |
| a가 b와 같지 않음 | abs(-3) != -3 | True |
| a가 b와 같음 | abs(-5) == 5 | True |
| 조건 1 또는 조건 2가 충족됨 | (abs(-5) == 5) OR (10 > 2) | True |
| 조건 1 및 조건 2가 충족됨 | (abs(-5) == 5) AND (10 < 2) | False |
고급 기능 및 조건을 사용하는 버퍼 식의 예시
iff(field1 > field2, iff(field2 = 0, field3, field4), 0)
조인 조건의 곱셈 예시
iff(field1 > field2, iff(field2 = 0, field3, field4), 0) > ["Distance"] * 2