이번 글에서는 지오메트리 컬럼 생성에 대해 학습해 보도록 하겠습니다. 실습을 위해 Layers Panel에 건물 폴리곤, 담장 라인 수치지도를 추가합니다.
건물 폴리곤 명을 우클릭하고 '속성 테이블 열기'를 클릭합니다.
아래와 같이 속성 테이블이 표시됩니다.
같은 방식으로 열어본 담장 라인의 속성 테이블입니다.
담장 라인의 속성 테이블에 필드를 하나 추가하고, 거기에 각 담장 길이(length) 값을 추가해 보도록 하겠습니다. 아래 '편집 모드 전환'을 클릭하고,
'New field'를 클릭합니다.
아래 '필드 추가' 창에서 이름을 LENGTH로 입력하고 확인 버튼을 클릭합니다. 현재 길이는 1, 정밀도는 0입니다.
이제 '필드 계산기 열기'를 클릭하고,
필드 계산기 창에서 '기존의 필드를 갱신'을 체크한 후 LENGTH 필드를 선택해 줍니다.
length를 검색하시면 지오메트리에 $length가 조회되는데요, 이것을 표현식에 적용해 줍니다.
창 하단에 '출력 미리보기'를 통해 표현식이 어떤 결과를 보여주는지 미리 확인하실 수 있습니다.
아래와 같이 LENGTH 필드에 담장 길이값이 추가되었습니다.
이제 '편집 전환' 버튼을 다시 누르고,
변경사항을 저장하고 편집을 종료합니다.
편집 종료 후 결과는 아래와 같습니다. 왜 이럴까요?! 바로 LENGTH 필드를 생성할 때 길이를 1, 정밀도를 0으로 설정했기 때문입니다.
이처럼 소프트웨어를 이용하실 때는 해당 기능의 의미를 정확히 인지하셔야 합니다.
아래와 같이 길이 10, 정밀도 2로 설정하면,
LENGTH 필드는 아래와 같이 입력됩니다.
위 방식은 필드계산기를 이용했었는데요,
이번에는 지오메트리 컬럼을 자동 생성해주는 도구를 이용해 보겠습니다.
상단 메뉴에서 '벡터 > 지오메트리 도구 > 지오메트리 컬럼 내보내기/추가'를 클릭합니다.
건물 폴리곤을 선택하고 레이어 좌표계를 이용하여 지오메트리 컬럼을 추가해 보겠습니다.
이 기능을 실행하시면 아래와 같은 창이 안내되는데요, 속성 테이블을 연 상태에서는 컬럼 갱신이 허용되지 않는다는 의미입니다.
자, 이제 처리가 완료되었습니다. 결과를 확인해볼까요?!
아래와 같이 건물의 면적(AREA), 둘레(PERIMETER) 필드가 자동 추가되었습니다.
이번에는 필드 인자(예: 길이, 정밀도)를 변경해 보도록 하겠습니다. 아래와 같이 담장 라인의 속성을 보면,
필드 탭에서 각 필드의 인자값을 확인하실 수 있는데요, 이 값을 변경하려면 Refactor fields를 이용하시면 됩니다.
상단 메뉴에서 '공간처리 >툴박스'를 클릭하고,
Refactor fields를 검색하고 실행해 보겠습니다.
입력 레이어에 담장 라인을 선택하시면, 앞서 본 필드 인자값이 '필드 맵핑'에 표시됩니다.
여기서는 인자값 변경이 가능한데요, 예를 들어 담장 라인에서 LENGTH 필드의 정밀도(Precision), 즉 소숫점 이하를 3자리로 변경해 보겠습니다.
적용 결과는 아래와 같습니다.
필드 인자값 중 길이:정밀도가 좌측부터 1:0, 10:2, 10:3을 비교한 그림입니다.