[GIS] QGIS : QGIS의 필터설정 기능을 통해 특정 객체만 추출해보자
QGIS의 필터설정 기능 사용방법 및 특정 객체 추출
아래와 같이 전남 광양의 DXF파일이 있다고 가정해보자. 연속지적도라 엄청 많은데 그중에서
하나의 객체만 추출하고 싶다면 필터설정 기능을 이용할 수 있다.
아래 과정을 따라가보자.
속성테이블을 통해 특정객체의 값(속성)을 추출
(1) 해당 레이어 객체 우클릭
(2) 속성 테이블 열기(O)
[속성 테이블]에 보면 해당 레이어의 각 객체들의 값을 확인 할 수 있다.
나같은 경우에는 EntityHandle이라는 컬럼을 선택해서 미리 보았다. 리스트에 EntityHandle의 value값들이 뜬다.
여기서 value값 하나를 선택하고 [돋보기] 모양을 클릭하면 해당 value값이 있는 곳으로 이동하여 확인 가능하다.
여기서 내가 추출하고 싶은 value값을 기억해놓도록 하자. ( 단일 또는 여러개 가능 )
(3) 필터 설정 열기(F)
(4) 쿼리 작성 및 객체 추출
[쿼리 작성기] 탭에서 필드 목록에 해당 객체의 컬럼들이 뜬다. 여기서 쿼리를 작성하고 싶은 필드를 더블 클릭하면
밑에 [제공자 전용 필터 표현식]에 작성이 된다.
나는 "EntityHandle"을 선택했다. 여기서 아까 봐 둔 '22291B'를 적었다. ( 쿼리 내용은 따로 설명 안함... )
[연산자] 필드를 보면 [ =, <, >, <=, >=, IN, NOT IN, OR, NOT.... ]과 같은 다양한 연산자를 제공하니
필요한 연산자를 쓸 수 있다.
그리고 [테스트(T)] 버튼을 누르면 조건에 해당하는 결과를 반환했다는 팝업이 뜨면서
해당 조건을 가진 객체만 표출된다 아래와 같이
결과화면
여담) 이번에 고객이 DXF에서 특정 객체만 따로 빼서 SHP으로 변환하였는데 지오코딩이 안된대서 왜 안되나
확인해보니 클릭으로 객체를 추출하여 DBF파일에 문제가 생겼던 것 같다.
그게 잘못된건지는 잘 모르겠지만 위 방식으로 객체를 추출하니 잘 되더라. 그래서 정리해봄..