QGIS 속성 테이블의 추가 정보를 엑셀에서 가져와 붙이기

QGIS에서 속성 테이블에 엑셀 자료를 추가할 때 자료가 많지 않다면 속성 테이블에서 새 필드를 만들어 복사 붙여넣기를 하는 방법도 가능하다. 하지만 데이터가 많으면 붙여넣는 과정에서 순서가 꼬여서 난리가 나기도 한다. 그래서 이번엔 QGIS에서 엑셀 자료를 불러와 기존 폴리곤의 속성 테이블 자료와 매칭시켜 붙여 넣는 과정을 연습해 보았다.

 

0. 연습 상황 가정해 보기

  • 11개의 지역을 7명의 사람이 조류의 개체수 조사하는 연구를 맡음
  • 공간정보는 QGIS에서 작업하고 조사 결과는 엑셀로 정리한 상황
  • 조사한 결과(엑셀)를 QGIS에서 기존 폴리곤 속성과 결합하고자 함

 

1. 작업할 도형 준비
나는 그냥 폴리곤 11개를 슥슥 그려 준비했다. 11개의 폴리곤에는 중복되지 않는 고유 번호(id)를 지정했고 면적(area)을 넣어 놨다.

polygons and attribute table
폴리곤과 속성 테이블

 

2. 엑셀 자료 준비 및 csv로 저장

결과 자료는 엑셀로 작업을 하였기에 기본적으로 xlsx(혹은 xls)의 형식으로 저장되어 있다. 하지만 QGIS에서 불러오기 위해 엑셀에서 다른 이름으로 저장을 눌러 csv 형식으로 저장해야 한다.

참고로, 추가 자료(엑셀)의 내용은 각각의 폴리곤(id)은 누가(investigator) 조사했는지와 그 결과값(population)이다. 폴리곤의 고유 번호의 필드 이름을 (폴리곤 속성의 이름과 맞추기 위해) id로 할 필요는 없다. 나중에 매칭 시킬 때 필드 이름을 지정할 수 있기 때문에(4-1 항목).

save as csv
엑셀에서 다른 이름으로 저장(파일 형식 csv)

 

3. QGIS에서 CSV 파일 불러오기

3-1. 레이어 > 레이어 추가 > 구분자로 분리된 텍스트 레이어 추가

add layer
구분자로 분리된 텍스트 레이어 추가

3-2. 구분자로 분리된 텍스트

csv 파일을 불러온 후,

  • 파일 포멧 : CSV
  • 도형 정의 : 도형 없음(속성만 있는 테이블)

load a file
구분자로 분리된 텍스트

3-3. 예시 데이터에 뜬 정보가 맞다면 추가(A) 버튼 누르기

load a csv file
엑셀(csv) 파일을 qgis에 불러오기

 

4. 속성 결합하기

4-1. (폴리곤) 레이어 속성 > 다른 레이어에 결합하기 관리 > 하단의 + 버튼(새 결합 추가)

  • 결합 레이어 : csv 파일 이름이었던 result
  • 결합 필드 : 추가할 내용인 csv 파일의 폴리곤 고유 번호(id). 엑셀(csv)에서 폴리곤의 고유 번호를 id가 아닌 다른 이름으로 지정했다면 해당 필드를 선택하면 된다.
  • 대상 필드 : 기존에 공간정보를 작업(test)했던 폴리곤 레이어의 고유 번호(id).

즉, 폴리곤의 고유 번호(id)를 기준으로 나머지 정보를 갖다 붙이라는 명령.

attribute binding
속성 결합

4-2. 확인 버튼을 누르면 심심한 화면이 뜨는데 속성 결합이 끝난 상태이다.

complete
결합 완료

 

5. 속성 확인하기

폴리곤의 속성 테이블을 확인해 보면 result_investigator와 result_population이란 필드 이름으로 속성이 추가된 것을 확인할 수 있다.

attribute table
결합 후 속성 테이블

 

6. 제대로 붙었나 엑셀 자료와 비교 검토해 보기

속성 테이블의 순서가 헷깔리니 id 순서대로 정렬하고 엑셀을 옆에 붙여 비교해 보았다. 결과적으로 잘 붙었다.

data confirmation
qgis 속성 테이블과 엑셀 자료 비교해 보기

카테고리의 다른 글

  1. QField 앱에 shp 파일 넣고 열어 보기 (아이폰)
  2. QGIS CSV 파일 저장시 한글이 깨질 때
  3. QGIS shp파일 속성 테이블 엑셀로 저장하기
  4. QGIS 등고선에 Z값 설정하기
  5. QGIS 라인을 따라 일정 간격(거리)으로 포인트 찍기

댓글 남기기