1. 2015년 3월 30일
한국지질자원연구원
가이아쓰리디㈜
강성진, sjkang@gaia3d.com
QGIS Tutorial
(QGIS 기본 및 고급기능)
본 문서는 2013년에 작성된 공간정보거점대학 오픈 소스 GIS 과정 (QGIS Tutorial)에 내용을 추가하였음
4. Geographic Information System
지리정보시스템
지리공간적으로 참조가능한 모든 형태의 정보를 효과적으로 수집, 저장, 갱신, 조정, 분석, 표현할 수 있도록 설
계된 컴퓨터의 하드웨어와 소프트웨어 및 지리적 자료, 인적자원의 통합체이다. (Wikipedia, 2013)
위치 정보를 필요로 하는 광범위한 분야에 활용
도시, 토지, 환경, 교통, 자원, 농업, 해양, 국방, 산림 등
GIS 발전형태
Cartographic System
Geographic System
Spatial Information System
공간자료
도형정보
속성정보
Ex) Portal Web Map Service
5. 자료 구조 및 특징
레이어
실세계 ▶ GIS Model = Layer
자료 포맷
Vector
- CAD ▶▶ Shape ▶▶ GIS
- NGI/NDA, NBI/NDB
Raster
- JPEG, PNG
- TIFF, IMG,
벡터 래스터
장
점
다양하고 복잡한 현실세계 표현 가능
위상관계를 가지고 있어 공간분석 가능
정확도가 높으며, 속성정보의 관리가 용이
자료 구조가 단순
원격탐사 자료와 같은 공간자료와 연계성이 용이
중첩 분석이나 모델링이 용이
단
점
자료구조가 복잡
중첩이나 분석에 기술적인 제약
자료 구축에 많은 경제적 비용 부담
자료의 양이 방대
압축 방법에 따라 자료의 손실이 발생
네트워크 분석 불가능
6. 측지계/좌표계
타원체
실세계 ▶ GIS Model = Layer
Datum
지구의 크기와 형태, 좌표체계의 기준점과 방향 등을 정의해 놓은 것
GIS 위치 오차 주요 발생 원인
좌표계
현실 세계와 GIS Model 간의 사상
원점의 위치 및 원점의 좌표, 좌표축, 좌표의 표현 방법으로 정의
세계 좌표계
- 지리좌표계(Iatitude-longitude-Height System)
- 지심좌표계(ECEF X,Y,Z-Earth Centered, Earth Fixed X, Y, Z)
- UTM(Universal Transverse Mercator) 좌표계
지역좌표계
- UPS(Universal Polar Stereographic)
- National GRID System
7. 한국좌표계
평면 위치 기준
경위도 원점, 경기도 수원시 팔달구 원천동 111 국립지리원 청사 내
127 03 05.1451E, 37 16 31.9034N
수직 위치 기준
인천광역시 남구 용현동 253 인하공업전문대학 교내
표고 26.6871m, 인천만의 평균해수면
대한민국에서 많이 사용하는 좌표계
Reference; BIZGIS, http://www.biz-gis.com
8. QGIS 다운로드하기
이전버전 다운로드 페이지
http://qgis.org/downloads/
윈도우용
32bit : http://qgis.org/downloads/QGIS-OSGeo4W-2.6.1-1-Setup-x86.exe
64bit : http://qgis.org/downloads/QGIS-OSGeo4W-2.6.1-1-Setup-x86_64.exe
리눅스용 : http://qgis.org/downloads/qgis-2.6.1.tar.bz2
MacOS : http://www.kyngchaos.com/software/qgis
SourceForge 에서 다운로드
http://sourceforge.net/projects/quantumgis.mirror/files/QGIS%202.6.1/
QGIS 홈페이지
http://www.qgis.org/ko/site/forusers/download.html
10. QGIS 둘러보기
메뉴바 : QGIS 기본 메뉴 + 확장 설치 메뉴
Toolbar : 마우스 오른쪽을 클릭하여 자주 쓰는 메뉴 관리
Layer : 레이어 On/Off, 좌표계 설정, 속성 확인 및 변경
View : 레이어 판독 및 수정
QGIS의 사용자 인터페이스
11. QGIS 둘러보기 - 자료열기/레이어 설정하기
① QGIS 실행
② [Layer] -> [Add Raster Layer…] 혹은 를 클릭
③ 배포된 ‘Sample Data 폴더’ 아래의 Rater 데이터 선택 : “landsat_201410_natural_color.jpg”
④ [Layer] -> [Add Vector Layer…] 혹은 를 클릭
⑤ 배포된 ‘Sample Data 폴더’ 아래의 벡터 데이터 선택 : “admin_emd.shp”
⑥ 화면조작 도구 를 이용하여 이동, 확대, 축소, 전체보기 등을 수행
자료 열기 및 확대/축소, 이동, 속성 보기
12. QGIS 둘러보기 - 속성보기
① [보기] -> [객체확인] 혹은 를 클릭
② 단일 객체 속성정보 확인
속성보기
속성테이블 보기
① 레이어를 선택하고 오른쪽 마우스 클릭, 속성 테이블 열기 선택
② 속성 테이블에서 객체 선택
③ 메뉴바에서 를 선택하여 레이어의 객체를 선택해보기
13. QGIS에서 좌표계
① 실시간 좌표계 변환 설정
② 찾고자 하는 좌표계 검색어
③ 최근 사용 좌표계
④ 검색어로 찾은 좌표계 결과
⑤ 해당 좌표계의 proj4 인자
QGIS 좌표계 설정창
1
2
3
4
5
QGIS 지도 좌표계
14. 좌표계 설정하기/변경하기
① [설정] > [사용자 정의 좌표계…]를 클릭하여 “사용자 정의 좌표계 정의“ 창 열기
② 를 클릭하여 새로운 좌표계를 추가
③ [이름]란에 사용할 좌표계 이름을 넣기 : ex) 가이아쓰리디 좌표계
④ [매개 변수]란에 사용할 좌표계를 “Proj4” 표기로 넣기
ex) +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
⑤ 좌표계선택 창을 열고, 등록한 좌표계가 있는지 확인
자료 열기 및 확대/축소, 이동, 속성보기
15. 벡터레이어 수정하기
① [레이어] > [레이어 생성] > [새 Shape 파일 레이어…] 선택
② [새 벡터 레이어] 창에서 [유형]을 “다각형”으로 설정
③ [좌표계 지정]은 “EPSG:2097”로 지정
④ [새 속성] > [이름]은 “Name”으로 지정
⑤ [새 속성] > [유형]은 “텍스트 데이터“ 선택
⑥ [새 속성] > [폭]은 “80“으로 지정
⑦ “속성 목록에 추가“ 버튼 클릭하여 속성 추가
⑧ “확인” 버튼을 클릭하여 “새 이름으로 레이어 저장…” 창 열기
⑨ 파일이름 넣고, “확인” 클릭
신규 벡터레이어 생성하기
EPSG : 2097
+proj=tmerc +lat_0=38 +lon_0=127
+k=1 +x_0=200000 +y_0=500000
+ellps=bessel +units=m +no_defs
16. 벡터레이어 수정하기
① 래스터 영상 열기 : “landsat_201410_natural_color.jpg”
② [레이어] > [편집 전환] 또는 을 클릭하여 “벡터편집 모드”로 전환
③ “레이어 추가“ 버튼 을 클릭하여 폴리곤 생성
④ 마우스 왼쪽 클릭으로 Node 시작
⑤ 마우스 왼쪽 클릭으로 Vertex 추가
⑥ 마우스 오른쪽 클릭으로 레이어 추가
⑦ ID와 Name 속성을 입력
디지타이징하기
1 2 3 4 5 6 7 8 9
1. 단일/모든 레이어 저장/작업롤백/작업 취소하기
2. 편집모드로 전환
3. 레이어 수정사항 저장
4. 객체 추가
5. 객체 이동
6. 노드 도구
7. 선택 삭제
8. 객체 잘라내기
9. 객체 복사
10. 객체 붙여넣기
벡터 편집 화면
노드 도구 선택 화면
10
17. 벡터레이어 수정하기
① 벡터레이어 추가하기 : “admin_emd.shp” 하고 속성 보기
② [스타일] > [심볼 타입]에서 “분류된”으로 변경
③ [컬럼]에서 “SGG_NM” 선택
④ [색상표]에서 “무작위 색상” 선택하고, “분류” 버튼을 클릭
⑤ [레이어 렌더링] > [레이어 투명도]를 조정
⑥ [라벨]탭에서 “이 레이어의 라벨"을 체크하고, “EMD_NM” 선택
벡터 레이어 꾸미기
18. 래스터 레이어 수정하기
래스터 레이어 다루기
① 래스터 파일 열기 : “shadedrelief.tif”
② ‘지도 범례(Layers)’에 있는 shadedrelief를 더블클릭하여 속성창 열기
③ [투명도]탭의 [투명도 맨드]에서 “Band 1” 선택
④ [투명도 픽셀 목록]에서 픽셀 추가 : 시작 “0”, 끝 “100”, 투명도 “100”
⑤ [스타일]탭의 [최소/최대값 불러오기]에서 “최소값/최대값” 선택 후 [불러오기] 클릭
⑥ [스타일]탭의 [콘트라스트 강조]에서 “최소/최대값까지 스트레치”를 선택한 후 “적용” 혹은 “확인” 클릭
19. 내보내기
질의 후 다른 포맷으로 내보내기
① [지도 범례(레이어)]에서 admin_emd 선택 후, [속성테이블 열기] 또는 도구모음에서 를 클릭
② [속성테이블] 창의 좌하단에서 [고급 필터(식사용)]을 선택
③ [표현식 기반 필터] 창의 [함수목록]에서 “필드와 값”을 확장, “POP2008”을 더블클릭
④ “표현식”창에 “POP2008” > 23000 완성 후 “확인” 버튼 클릭 후, 필터링된 레이어를 모두 선택
⑤ [레이어] -> [새 이름으로 벡터 레어어 저장하기…] 실행 후 형식을 “KML”로, 좌표계는
“WGS84(EPSG:4326)”, “선택된 객체만 저장“으로 설정 후 파일 이름 지정하여 저장
⑥ 별도 저장된 KML 파일을 더블클릭하여 Google Earth 실행하여 해당 정보 확인
20. 내보내기
출력용 지도 만들기
① [스타일]에서 유형을 “단계로 나누어진”을 선택하고, 컬럼을 “POP2007”을 선택
② 색상표에서 “Spectral”과 “뒤집기”를 선택 후, “분류“ 버튼을 클릭하고 “확인“ 또는 “적용"
③ [프로젝트] > [새 인쇄 구성기] 선택, 구성기 제목 입력 “확인”
④ 지도를 적당히 구성하여, 저장/PDF로 출력/출력
21. 속성 정보 검색 및 질의
① [보기] > [객체확인]나 도구모음에서 를 누른 뒤 조회하고자 하는 객체를 클릭
② 여러 속성을 조회하고자 할때는 레이어에서 [속성테이블 열기] 또는 도구모음에서 버튼을 클릭
속성 정보 조회
속성테이블 도구모음
객체 보기 전환 버튼
표보기/양식보기 전환버튼
1 2 3 4 5 6 7 8 9 10 11 12 13
1. 편집모드로 전환
2. 수정 저장
3. 선택된 객체 삭제
4. 표현식을 이용해 객체 선택
5. 모두 선택 해제
6. 선택을 맨 앞으로 이동
7. 선택 반전
8. 선택된 행으로 지도 이동
9. 선택된 행을 클립보드로 복사
10. 컬럼 삭제
11. 새 컬럼
12. 필드 계산기 열기
22. 속성 정보 검색 및 질의
① 고급 필터(식 사용)을 선택하여 표현식 기반 필터 열기
② 속성 테이블에 필터를 이용하여 원하는 필드만 표시하도록 변경
검색 및 질의
2008년 인구가 23,000명 이상인 동을 찾기
"POP2008" > 23000
2008년 인구가 23,000명 이상인 동 중 영등포구에 있는 동
만 찾기
"POP2008" > 23000 AND LEFT("SGG_NM",3) = '영등포'
2008년 인구가 23,000명 이상인 동 중 영등포구, 관악구,
중랑구에 있는 동만 찾기
"POP2008" > 23000 AND "SGG_NM" in ('영등포구','관악
구','중랑구')
동이름 중 ‘신**동’을 모두 찾기
LEFT("EMD_NM",1) = '신‘ 또는
"EMD_NM" like '신%'
23. 속성 정보 검색 및 질의
① [속성테이블]에서 [편집 모드]로 전환 후에 활성화
② [필드계산기]는 연사자, 변환함수, 문자함수, 기하함수 등을 이용하는 정보 생성 및 변경 모듈
필드 계산기를 이용한 정보 갱신
필드 계산기를 이용하여 동별 인구밀도 구하기
2007년 동별 인구수 2007년 동별 인구 밀도
24. Geo-Referencer
QGIS 래스터 플러그인
래스터 영상에 대한 World File을 생성하기 위한 도구
래스터 참조 영상 또는 GeoTIFF와 같은 메타데이터를 포함한 Geo-Registered Raster를 만들기 위한 도구
지오레퍼런서
스캔영상
L0, L1 영상
Geo-RegisteredGeo Referencer
좌표등록
25. Geo-Referencer
① QGIS 실행
② 배포된 ‘Sample Data’ 아래의 벡터 데이터 선택 : “building.shp”
③ 속성 정보 보기
참조할 자료 열기
…
범위
레이어 좌표계의 단위에서
xMin,yMin 198167.94,436464.44 : xMax,yMax 208398.46,446728.39
레이어 좌표계
+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000
+ellps=bessel +units=m +no_defs
…
속성정보 보기
26. Geo-Referencer
드라이버
GDAL provider
JPEG
JPEG JFIF
데이터셋 설명
D:/2015_Others/한국지질자원연구원_QGIS교육/DaumMap.jpg
밴드 1
밴드 2
밴드 3
차원
X: 2564 Y: 1440 밴드: 3
X : 1282,Y 720
X : 641,Y 360
X : 321,Y 180
널 데이터 값
*널 데이터 값이 설정되지 않았음*
데이터 유형
Byte - 8 bit 부호없는 정수
피라미드 오버뷰
레이어 좌표계
+proj=longlat +datum=WGS84 +no_defs
레이어 범위 (레이어의 원래 투영법)
0.0000000000000000,-1440.0000000000000000 :
2564.0000000000000000,0.0000000000000000
밴드
밴드 1
밴드 번호
1
통계 없음
아직 통계가 수집되지 않았음
밴드
밴드 2
…
① [래스터] -> [지오레퍼런서] -> [지오레퍼런서] 선택
② 배포된 ‘Sample Data 폴더’ 아래의 Rater 데이터 선택 : “DaumMap.jpg”
③ 속성 정보 보기
참조 좌표 등록할 래스터 영상 열기
속성정보 보기
Daum Map을 화면 캡쳐한 래스터 영상
27. Geo-Referencer
① 지오레퍼런서의 [설정] > [지오레퍼런서 설정]
② 포인트 팁의 [ID 표시]와 [좌표 보기] 선택 후, [확인]
③ [편집] > [포인트 추가] 또는 메뉴바의 포인트 추가 버튼 을 선택
④ 지도화면의 좌표등록할 지점을 선택하기
설정하기
⑤ [QGIS] > [벡터] > [좌표독취] 선택
⑥ 해당 지점의 좌표 얻기
⑦ [포인트 추가] > [지도캔버스에서] 선택
⑧ 해당 지점의 좌표 얻기
⑨ 반복하여 위치 정보 입력하기
28. Geo-Referencer
참조 좌표 등록하기
Source Coords, Destination Coords, Residual
전체 영상에 고르게 분포하도록 지정
건물 끝이나 도로 끝과 같은 Edge에 GCP 위치하도록 지정
29. Geo-Referencer
① 지오레퍼런서의 [설정] > [변환 설정]
② [변환 유형]에서 “선형” 선택
③ [재샘플링 방법]에서 “최근린” 선택
④ [압축 방법]에서 “NONE” 선택
⑤ [출력 래스터]에 파일이름 저장하기, “GeoTIFF” 확장자 선택
⑥ [대상 SRS]에서 “EPSG:2097” 선택
⑦ [확인] 을 눌러 설정 정보 저장
변환 설정하기
30. Geo-Referencer
Algorithm Description
Linear world-file을 생성
Helmert Transformation 크기조정과 회전을 수행
Polynomial Georeferencing에서 많이 사용하는 변환 알고리즘. 크기조정과 회전, 변환 계수를 모두 사용
Thin Plate Spline 부분적인 변형을 이용하여 보정을 수행하는 알고리즘
Projective Transformation 선형적인 회전과 좌표변환을 이용하는 변환 알고리즘
Method Description
Nearest Neighbor 입력 래스터 파일에서 주위 화소값을 이용하여 리샘플링하는 방법
Linear 주위에 인접한 4개의 픽셀(상하좌우)을 이용하는 방법
Cubic 주위 16개 화소값 을 이용하여 새로운 픽셀값을 추정하는 방법
Cubic Spline 주위 16개 화소의 Spline 보간을 이용하여 새로운 픽셀값을 추정하는 방법
Lanczos Low-Pass Filter를 이용한 보간법을 이용하여 새로운 화속값을 추정하는 방법
Transformation Algorithm
Resampling Method
Method Description
None 압축을 사용하지 않음
LZW LZW 무손실 데이터 압축 알고리즘을 사용
PACKBITS Run-Length Enconding 데이터 무손실 알고리즘을 이용한 압축 알고리즘
DEFLATE L777 알고리즘을 통해 압축한뒤 , 중복되는 내용에 대한 포인터는 다시 압축하는 알고리즘을 이용
압축방법
31. Geo-Referencer
① 메뉴바에서 [파일] > [지오레퍼런싱 시작] 을 선택하거나 버튼을 클릭하여 실행
② 지오레퍼런스 닫기
③ QGIS에서 저장한 레스터 파일 열기
④ 레이어 위치를 조정하여 레이어 순서를 변경
지오레퍼런싱 및 결과 확인하기
중첩하여 결과 확인
32. 공간연산도구
버퍼를 이용한 공간 쿼리
① 벡터 데이터 열기 : “road_link2.shp”, “firestation.shp”
② [Select by Expression] 창에서 “LANDS” >= 8 을 입력, “선택” 버튼을 클릭하여 “8차선 이상 선택“
③ [벡터] > [공간연산도구] > [버퍼]를 실행
④ [입력 벡터 레이어]에는 도로를 선택하고, 버퍼거리를 500m로 입력
⑤ [버퍼 결과 병합]을 선택하고, 출력 Shape 파일명을 입력한 후에 “확인” 버튼을 클릭하여 실행
8차선 이상 도로로부터 직선거리 500m 이상 떨어져 있는 소방서 찾기
33. 공간연산도구
공간질의 및 공간 연산
① 벡터 데이터 열기 : “admin_sgg.shp”, “river.shp”
② [벡터] > [공간연산도구] > [교차]를 실행
③ [입력 벡터 레이어]에서 “admin_sgg”를 선택하고, [레이어교차분석]에서 “river”선택
④ [출력 Shape 파일]에 저장할 이름을 기입하고, “확인“ 버튼을 클릭하여 교차분석 실행
⑤ [디졸브]를 실행하여, 같은 구 이름으로 Shp 파일을 재가공
[속성테이블] > [편집모드] > [필드 계산기] 실행, 연산자에서 “면적”을 구하여 새로운 필드에 입력
한강을 포함하고 있는 “구“별 한강 면적 구하기
35. Geometry Tools
① 메뉴바에서 [벡터] > [지오메트리 도구] > [싱글파트를 멀티파트로…] 실행
② [입력레이어]를 “admin_emd”으로, [고유ID 필드]를 “EMD_CD”, [출력 Shape파일] 지정 후 실행
③ 메뉴바에서 [벡터] > [지오메트리 도구] > [멀티파트를 싱글파트로…] 실행
④ [입력레이어]를 “multipart_sgg”으로 선택하고, [출력 Shape파일] 지정 후 실행
멀티파트를 싱글 파트로, 싱글 파트를 멀티파트로
36. 플러그인 추가 및 사용하기
플러그인 사용하기
Daum 위성영상 지도를 배경 지도로 활용하기
① [Plugins] -> [Manage and install Plugins…] ->[All] 선택
② Search 창에 “TMS” 입력
③ “TMS for Korea” 선택
④ “Install plugin”
⑤ 레이어추가하여 중첩결과 확인