쿼리 빌더는 속성 및 위치로 찾기와 속성으로 필터링 도구에서 지정된 기준을 충족하는 식을 생성하는 데 사용됩니다.
쿼리 생성
쿼리를 생성하려면 도구 창 또는 도구 대화 상자에서 새 쿼리 생성을 클릭합니다.
시작하려면 피처를 찾을 레이어를 선택합니다. 속성 및 위치로 찾기의 경우 쿼리 빌더에서 수행할 수 있습니다. 속성으로 필터링의 경우 쿼리를 생성하기 전에 입력 데이터 매개변수를 채워야 합니다.
다음으로, 속성 식, 공간 식(속성 및 위치로 찾기만), 식 그룹 중 무엇으로 시작할지 선택합니다.
쿼리에 둘 이상의 식이 있는 경우 다음 일치 옵션 중 하나를 선택하여 식을 연결해야 합니다.
- 다음 모든 항목이 true임(기본값) — 모든 식과 일치하는 피처만 반환됩니다. 이 옵션은 AND 절과 동일합니다.
- 다음 중 하나가 true임 — 임의 식과 일치하는 피처가 반환됩니다. 이 옵션은 OR 절과 동일합니다.
속성 식
각 속성 쿼리에는 필드 이름, 연산자, 값이 포함됩니다.
예를 들어 도시의 범죄 사건 데이터(도난, 방화, 폭행 등)가 포함된 레이어에 쿼리를 만들어 도난 사건만 표시할 수 있습니다. 다음과 같이 속성 식을 만듭니다.
- 필드 이름으로 범죄 유형을 선택합니다.
- 연산자로 다음과 같음을 선택합니다.
- 값으로 도난을 작성하거나 선택합니다.
비고:
Null 값이 있는 필드는 공백임이 연산자로 선택된 경우를 제외하고 모든 쿼리 결과에서 제외됩니다.
대부분의 경우 쿼리 빌더에는 정확한 식을 생성하는 데 도움이 되는 사용 가능한 필드 값 목록이 포함되어 있습니다. 입력 데이터셋이 다른 도구의 결과인 경우 속성으로 필터링에는 이 목록을 사용할 수 없습니다. 목록에서 값을 선택하는 대신 입력 상자에 정확한 값을 입력해야 합니다.
공간 식
각 속성 식에는 연산자 및 두 번째 레이어가 포함됩니다. 두 번째 레이어 아래에서 + 식 버튼을 사용하여 기존 공간 식에서 사용할 두 번째 레이어의 피처를 세분화하는 식을 추가할 수 있습니다.
예를 들어, 베이커리를 나타내는 또 다른 레이어를 통해 속성 쿼리를 세분화하면 도넛 매장 근처 100미터 내에서 발생한 도난 사건을 찾아볼 수 있습니다. 다음과 같이 공간 식을 추가합니다.
- 연산자로 다음 거리 내에 있음을 선택하고 100미터를 입력합니다.
- 레이어에 베이커리 레이어를 선택합니다.
- + 식 버튼을 클릭하고 속성 식을 선택합니다.
- Where 문 그룹에서 필드 이름에 매장 유형을 선택하고 연산자를 다음과 같음으로 두고 값으로 도넛 매장을 작성하거나 선택합니다.
식 그룹
더 복잡한 쿼리를 만들려면 식 그룹을 사용하여 여러 식을 그룹화하면 됩니다. 식을 그룹화하는 방식을 통해 무엇을 찾는지가 결정됩니다. 그룹화 수준은 3개까지 생성할 수 있습니다.
예를 들어 식 그룹을 사용하여 위에서 설명한 범죄 사건 필터를 더욱 세분화할 수 있습니다. 도넛 매장 근처 100미터 거리 내에서 보고된 방화 및 도난 사건을 모두 표시하려면 방화 또는 도난 사건을 찾는 식 그룹을 생성할 수 있습니다. 해당 그룹 내에서 다음 중 하나가 true임 옵션을 사용합니다. 그런 다음 100미터 내 도넛 매장에서 피처를 찾기 위해 그룹 외부에 공간 식을 추가합니다.
연산자
속성 및 위치로 찾기는 속성 및 공간 쿼리에 연산자를 사용하는 반면, 속성으로 필터링은 속성 쿼리에만 연산자를 사용합니다.
속성 연산자
쿼리하는 필드의 유형(범주 또는 숫자)에 따라 속성 쿼리에 여러 연산자를 사용할 수 있습니다.
문자열 필드의 경우 다음 연산자를 사용할 수 있습니다.
- 다음과 같음 — 지정된 텍스트와 일치하는 문자열입니다.
- 다음과 같지 않음 — 지정된 텍스트와 일치하지 않는 문자열입니다.
- 다음의 일부임 — 지정된 텍스트 값 중 하나와 일치하는 문자열입니다.
- 다음의 일부가 아님 — 지정된 텍스트 값과 어느 것도 일치하지 않는 문자열입니다.
- 다음을 포함함 — 제공된 텍스트가 있는 문자열입니다.
- 다음을 포함하지 않음 — 제공된 텍스트가 없는 문자열입니다.
- 다음으로 시작함 — 지정된 텍스트로 시작하는 문자열입니다.
- 다음으로 시작하지 않음 — 지정된 텍스트로 시작하지 않는 문자열입니다.
- 다음으로 끝남—지정된 텍스트로 끝나는 문자열입니다.
- 다음으로 끝나지 않음 — 지정된 텍스트로 끝나지 않는 문자열입니다.
- 공백임 — 텍스트가 없고 Null이 아닌 문자열입니다.
- 공백이 아님 — 일부 텍스트가 있고 Null이 아닌 문자열입니다.
- 비어 있는 문자열임 — Null이거나 텍스트가 없는 문자열입니다.
- 비어 있지 않은 문자열임 — 일부 텍스트가 있거나 Null인 문자열입니다.
숫자 필드의 경우 다음 연산자를 사용할 수 있습니다.
- 다음 사이에 속함 — 지정된 두 값 사이에 있는 숫자입니다. 경계 값이 결과에 포함됩니다.
- 다음 사이에 속하지 않음 — 지정된 두 값 사이에 있지 않은 숫자입니다. 경계 값이 결과에 포함되지 않습니다.
- 다음과 같음 — 지정된 값과 일치하는 숫자입니다.
- 다음과 같지 않음 — 지정된 값과 일치하지 않는 숫자입니다.
- 다음의 일부임 — 지정된 값 중 하나와 일치하는 숫자입니다.
- 다음의 일부가 아님 — 지정된 값과 어느 것도 일치하지 않는 숫자입니다.
- 보다 큼 — 지정된 값보다 큰 숫자입니다.
- 다음 이상임 — 지정된 값보다 크거나 같은 숫자입니다.
- 보다 작음 — 지정된 값보다 작은 숫자입니다.
- 다음 이하임 — 지정된 값보다 작거나 같은 숫자입니다.
- 공백임 — 지정된 값과 일치하는 숫자입니다.
- 공백이 아님 — 일부 값이 있는 숫자입니다.
날짜 필드의 경우 다음 연산자를 사용할 수 있습니다.
- 다음 사이에 속함 — 지정된 두 날짜 사이에 있는 날짜입니다. 경계 값이 결과에 포함됩니다.
- 다음 사이에 속하지 않음 — 지정된 두 날짜 사이에 있지 않은 날짜입니다. 경계 값이 결과에 포함되지 않습니다.
- 다음 날짜임 — 지정된 날짜와 동일한 날짜입니다.
- 다음 날짜가 아님 — 지정된 날짜와 동일하지 않은 날짜입니다.
- 다음 이전 날짜임 — 지정된 날짜 이전의 날짜입니다.
- 다음 이후 날짜임 — 지정된 날짜 이후의 날짜입니다.
- 공백임 — null인 날짜입니다.
- 공백이 아님 — null이 아닌 날짜입니다.
공간 연산자
공간 식은 완전히 포함됨 또는 교차함과 같은 연산자를 지정하여 생성합니다.
다음과 같은 공간 연산자를 공간 쿼리에 사용할 수 있습니다.
- 교차함 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처를 교차하는 경우 첫 번째 레이어에 있는 피처가 출력에 포함됩니다.
- 교차하지 않음 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처를 교차하는 경우 첫 번째 레이어에 있는 피처가 출력에서 제외됩니다.
- 일정한 거리 내에 있음 — 첫 번째 레이어에 있는 피처의 어떤 부분이라도 두 번째 레이어에 있는 피처에서 지정된 거리 내에 있으면 첫 번째 레이어에 있는 피처가 선택됩니다(결과에 포함됨). 예를 들어, 강에서 100미터 내에 있는 필지가 결과에 포함됩니다.
- 일정한 거리 내에 있지 않음 — 첫 번째 레이어에 있는 피처가 다른 피처에서 일정한 거리 내에 있으면 첫 번째 레이어에 있는 피처가 제외됩니다(출력에 포함되지 않음). 예를 들어 강에서 100미터 내에 있는 필지가 출력에 포함되지 않습니다. 이 관계는 피처가 지정된 거리보다 훨씬 멀리 떨어져 있는 것으로 생각할 수 있습니다.
- 완전히 포함함 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처를 완전히 포함하는 경우 첫 번째 레이어에 있는 피처가 결과에 포함됩니다.
- 완전히 포함하지 않음 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처를 완전히 포함하는 경우 첫 번째 레이어에 있는 피처가 결과에서 제외됩니다.
- 완전히 포함됨 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처 내에 완전히 포함되는 경우 첫 번째 레이어에 있는 피처가 출력에 포함됩니다.
- 완전히 포함되지 않음 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처 내에 완전히 포함되는 경우 첫 번째 레이어에 있는 피처가 출력에서 제외됩니다.
- 가장 가까움 — 첫 번째 레이어에 있는 피처가 두 번째 레이어에 있는 피처와 가장 가까운 경우 해당 피처가 출력에 포함됩니다.
문제 해결
데이터셋을 변경하면 이전에 유효했던 식이 무효화될 수 있습니다. 식이 무효화될 수 있는 변경의 예시로는 식에 사용된 필드에 대한 필드 유형 삭제 또는 변경, 공간 식에 사용된 데이터셋의 지오메트리 변경 등이 있습니다. 유효하지 않은 식은 쿼리 빌더를 다시 열 때 표시되지 않습니다.