이번 글은 QGIS에서 면 데이터의 면적과 둘레, 선 데이터의 거리를 계산해 보도록 하겠습니다.
먼저 학습을 위해 북한산국립공원의 면 데이터인 경계와 선 데이터인 탐방로를 추가해 보겠습니다.
아래와 같이 벡터 데이터 추가 버튼을 클릭하고,
벡터 레이어 추가 창에서 탐색 버튼을 클릭하여 해당 데이터를 지정합니다.
북한산국립공원 경계(BUKHANSAN_BNDRY.shp)와 탐방로(BUKHANSAN_PMNTN_LN.shp) 파일을 열어보겠습니다.
아래 그림과 같이 북한산국립공원 경계와 탐방로가 표시되었습니다.
이제 경계 데이터는 면적과 둘레를, 탐방로 데이터는 거리를 계산해 보도록 하겠습니다.
좌표계는 크게 지리좌표체계와 투영좌표체계로 구분되는데요,
거리와 면적을 계산하기 위해서는 좌표계를 평면 상의 투영좌표체계로 설정해야 합니다.
좌표계는 직접 데이터의 좌표계를 변환하거나 현재 작업 중인 프로젝트의 좌표계를 변경하여 지정할 수 있습니다.
먼저 추가된 데이터의 좌표계를 확인해 보도록 하겠습니다.
레이어 명을 우클릭하고 속성 버튼을 클릭하면,
아래와 같이 레이어 속성 창에 좌표체계가 정의되어 있습니다.
현재 좌표계는 EPSG:4326 - WGS 84 지리좌표체계로 정의되어 있습니다.
거리와 면적 계산을 위해서는 이 데이터의 좌표계를 투영좌표체계로 변경하거나, 현재 프로젝트의 좌표계를 변경해야 합니다.
여기서는 프로젝트의 좌표계를 변경해 보도록 하겠습니다.
프로젝트 > 프로젝트 속성을 클릭합니다.
좌표계 탭에서 '실시간' 좌표계 변환 활성화를 체크합니다.
서로 다른 좌표계로 정의되어 있는 데이터들을 프로젝트 좌표계를 기준으로 조정해 주는 옵션입니다.
이제 프로젝트 좌표계를 투영좌표체계로 정의해보도록 하겠습니다.
여기서는 한국 지역에 해당되는 UTM 좌표계인 'WGS 84 / UTM zone 52N'을 선택하고 OK 버튼을 클릭해 보겠습니다.
아래와 같이 프로젝트 좌표계를 기준으로 현재 프로젝트에 추가된 레이어들이 변경 적용되어 보입니다.
기존 지리좌표체계로 정의된 데이터를 투영좌표체계로 변환하면서 형상이 약간 변화되었음을 확인할 수 있습니다.
자, 이제 거리와 면적을 계산해 보도록 하겠습니다.
벡터 > 지오메트리 도구 > 지오메트리 컬럼 내보내기/추가를 클릭합니다.
입력 벡터 레이어에 북한산국립공원 경계를 지정하였습니다. 경계는 면 데이터이기 때문에 면적과 둘레를 계산할 수 있겠죠?!
다음을 이용하여 계산 부분에서 프로젝트 좌표계를 지정합니다.
이 옵션은 거리와 면적을 계산할 때 어떤 좌표계를 기준으로 할 것인지 지정하는 부분입니다.
OK 버튼을 클릭하면 아래와 같이 안내 메시지가 표출됩니다.
해당 기능을 이용할 때 어트리뷰트가 활성화되어 있으면 동시작업이 불가하다는 안내 메시지입니다.
처리가 완료되면 아래와 같이 안내 메시지가 표시됩니다.
이제 면적과 둘레가 계산되었는지 직접 확인하기 위해, 레이어를 우 클릭한 후 속성 테이블 열기를 클릭해 보겠습니다.
아래 그림과 같이 AREA(면적), PERIMETER(둘레) 필드가 자동 생성되며 해당 값이 입력되어 있습니다.
같은 방식으로 북한산국립공원 탐방로 데이터의 거리를 계산해 볼까요?!
거리 계산 결과는 LENGTH라는 필드가 새로 생성되며 해당 값이 자동 저장됩니다.
이번에는 이렇게 계산된 탐방로 데이터의 LENGTH 필드 값을 라벨로 표출해 보도록 하겠습니다.
라벨 표출을 위해 레이어 명을 우클릭한 후, 속성 버튼을 클릭합니다.
레이어 속성 창에서 라벨 탭을 선택하고,
이 레이어의 라벨을 체크하고, 거리가 저장되어 있는 LENGTH 필드를 지정합니다.
텍스트 탭에서 글꼴을 나눔고딕으로 변경해 보겠습니다.
버퍼 탭에서 텍스트 버퍼 그리기를 체크해 보겠습니다. 라벨에 1mm의 흰색 버퍼가 적용됩니다.
적용된 결과는 아래와 같습니다. 탐방로 별로 거리 값을 확인해 볼 수 있겠죠?!
아래와 같이 확대 버튼을 클릭해 보면,
탐방로 별로 거리 값을 라벨을 통해 확인해 볼 수 있습니다.