본문 바로가기

자기계발/대외활동

[공공빅데이터 청년인턴십] [day11 - 07.19(월)] Q-GIS 공간분석 실습기초(1)

3주차 월요일

 

공빅 (공공빅데이터분석 청년인턴십) 과정은 

  1. 1개월 온라인 사전교육
  2. 1개월 오프라인 전문교육 (코로나 상황으로 온라인으로 대체)
  3. 1개월 프로젝트
  4. 6개월 인턴십 

 

이렇게 구성되어 있다. 

지금은 2. 1개월 오프라인 전문교육의 절반이 지난 시점이다.

 

수도권은 코로나로 인해 온라인 전면교육으로 변경됐는데,

어차피 오프라인 교육장에 가도 온라인 인강을 틀어줬기 때문에 (인강을 집에서 듣냐, 어디 가서 듣냐 그 차이)

지금 상황이 오히려 더 감사하다.

 

사실 하루도 빠짐없이 공부 내용을 블로그에 게시했는데

지난주에는 병행해야했던 일들이 많아서, 아직 정리가 끝나지 않은 날짜 내용은 비공개로 전환해두었다.

이번주엔 비공개 게시물도 모두 공개로 전환할 수 있도록 좀 더 시간을 쪼개어 최대로 활용하는 것이 목표다.

 

이번 한주도 화이팅이다.

 

 

 


공빅 과정의 강의 자료인터넷 검색자료를 출처로 해서 작성하였습니다.

(인터넷 검색 자료의 경우 각각의 이미지 또는 설명에 출처 有)

 

 

 

오늘은 Q-GIS라는 공간분석 시각화 tool을 활용하여 분석결과를 시각적으로 표현하는 방법에 대해 학습한다.

 

 

Q-GIS로 배우는 공간분석 시각화 이해

Q-GIS 공간분석 실습기초(1)

 

강의는 위와 같이 총 2개의 파트로 구성되는데, 

처음에는 시각화 이해 인강을 통해 공간분석의 이론에 대해 학습하고 

그 다음에 실습 인강을 통해 툴을 활용하는 실습시간을 갖는다. 

 

 


 

Q-GIS로 배우는 공간분석 시각화 이해

 

 

* GIS란?  Geographic Information System, 지리 정보 시스템

지리 정보 시스템은 지리공간적으로 참조가능한 모든 형태의 정보를 효과적으로 수집, 저장, 갱신, 조정, 분석, 표현할 수 있도록 설계된 컴퓨터의 하드웨어와 소프트웨어 및 지리적 자료, 인적자원의 통합체

 

https://flowingdata.com/made-by-flowingdata/

 

Made by FlowingData

Visit the post for more.

flowingdata.com

https://youtu.be/Ly_JHzkA5u4

 

flowingdata.com이라는 사이트에서 시각화를 통한 공간분석의 다양한 사례를 확인할 수 있다.

 

 

 

 

GIS기반 공간데이터셋 이해

 

공간데이터는 실세계를 추상화하여 벡터(Vector) or 래스터(Raster)로 표현.

출처 : Three-dimensional anatomical atlas of the human body 

 

점, 선, 면으로 구성되는 벡터, 픽셀로 구성되는 래스터 방식으로 구성.

벡터와 래스터는 가장 대표적인 공간데이터 모델이기 때문에,

QGIS 공간데이터 시각화 툴/소프트웨어에도 기능상으로 벡터와 래스터로 2가지로 구분되어 탑재되어 있음.

 

 

 

 

벡터점과 점을 연결하는 수학적 함수관계에 의해 이미지를 표현하여 점,선,면으로 표현함

 

 

 

래스터는 Bitmap 정보를 가진 Pixel로 구성되며, 해상도가 높을수록 픽셀의 수가 많음

 

 

벡터는 점과 점을 연결, 래스터는 픽셀, bitmap방식으로 표현

 

 

 

GIS상에서 공간데이터의 시각화, 공간 분석 및 통계분석을 수행하여 공공기관의 민원, 안전 등을 위한 공간적 의사결정에 활용 가능

 

 

공간데이터는 하나의 Feature로 표현되며, 공간상에서의 분포, 밀도, 상관관계 등으로 분석

 

GIS기반 공간분석 방법론

빈도수나 분포된 패턴 등에 대해 분석하여 공간상에서의 밀도, 분포도 등을 분석하는 방법론

 

공간적 자기 상관 : 공간에서 통계적 상관관계를 활용하는 기법으로 여러 정보간의 상관관계를 공간에서 분석

 

 

 

GIS기반 공간분석 활용 사례

 

☞ 사망자 수를 표시하여 분석한 존 스노우의 런던 콜레라 지도

☞ 선 Flow map을 이용하여 철강 수출국과 수출량을 시각화하여 표시

 

☞ 코로플레스 차트(Choropleth chart)를 이용하여 서울시 인구밀도를 시각화

 

색상으로 표현할 수 있는 다양한 정보를 열분포(히트맵) 형태 로 시각화

 

 

GIS로 공간데이터를 표현하기 위한 주요 개념

Feature 클래스 & 레이어

 

 

Shape 파일

 

 

 

CSV 파일의 위경도를 통해 공간 데이터화

위도, 경도의 위치정보를 포함하는 구분자(,)로 구분된 텍스트 데이터(*.csv) 연동

(공간상에 데이터를 표시하기 위해 위도, 경도를 데이터로 사용)

 

지오코딩

 

좌표계

우리나라에서 자주 사용되는 좌표계 : 경위도(EPSG:4326), KLIS중부(EPSG:5174), 네이버(EPSG:5179), 다음(EPSG:5181), 구글(EPSG: 3857), 국토지리원 중부(EPSG:5186), 동부(EPSG:5187), UTM52N(EPSG:32562)

 

대한민국 & 세계 표준좌표계

 

 

공간데이터를 구할 수 있는 사이트

https://www.data.go.kr/

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

http://www.nsdi.go.kr/lxportal/?menuno=2679 

 

국가공간정보포털

국가는 다양한 방법으로 공간정보 서비스를 제공하기 위해 노력해왔으나, 산재된 서비스 체계로 인해 공간정보 활용에 어려움이 있었습니다. 그래서 국가·공공·민간에서 생산한 공간정보를

www.nsdi.go.kr

http://map.ngii.go.kr/mn/mainPage.do

 

국토정보플랫폼

국토교통부 국토지리정보원 (우)16517 경기도 수원시 영통구 월드컵로 92(원천동) 전화 : 031-210-2700 팩스 : 031-210-2644 본 홈페이지는 게시된 이메일 주소가 자동 수집되는 것을 거부하며 이를 위반시

map.ngii.go.kr

https://sgis.kostat.go.kr/view/index

 

통계지리정보서비스

 

sgis.kostat.go.kr

https://data.seoul.go.kr/

 

서울 열린데이터광장

모든 서울시민을 위한 공공데이터 열린데이터광장에서 서울시와 연계 기관이 공개한 공공데이터를 확인하실 수 있습니다. 서울시와 관련된 다양한 공공데이터를 확인해 보세요.

data.seoul.go.kr

https://www.tour.go.kr/

 

관광지식정보시스템

 

www.tour.go.kr

https://kosis.kr/easyViewStatis/visualizationIndex.do

 

KOSIS 국가통계포털

 

kosis.kr

 

 

 

 

 

 

Q-GIS 공간분석 실습기초(1)

1. Q-GIS 소개 및 설치

2. Q-GIS를 활용한 벡터 데이터 편집1

3. Q-GIS를 활용한 벡터 데이터 편집2_포인트

4. Q-GIS를 활용한 벡터 데이터 편집3_라인

5. Q-GIS를 활용한 벡터 디엍 편집4_폴리곤

6. Q-GIS 고급 기능을 활용한 벡터 데이터 편집

7. Q-GIS를 활용한 데이터 검색


 

1. Q-GIS 소개 및 설치

 

 

 

무료 오픈소스라 설치비용 및 유지비용이 발생하지 않고 (No License Fee)

여러 개발자가 참여하여 개선한 기능을 포함한 최신 버전을 무료로 사용할 수 있다 (Free Upgrading)

장점이 있다.

 

 

* LTR 버전으로 설치

 

G-GIS 사이트로 이동하면 아래와 같이 LTR 버전을 선택하여 다운로드 받을 수 있다. 

 

 

 

Q-GIS 설치는 기본셋팅에서 변경해줄 게 없어서 디폴트값으로 둔 상태로 클릭해서 설치를 마친다.

 

설치를 마치고 시작메뉴에 가서 QGIS 데스크탑을 실행시켜주면 아래와 같은 화면을 볼 수 있다.  

 

 

QGIS 데스크탑 - 화면구성

 

 

  • 메뉴바 : QGIS의 다양한 기능들 중에서 같은 범주의 작업을 표준 계층 형태로 제공하는 기능들의 집합
  • 탐색기 패널 : 데이터의 저장 경로 및 데이터의 유형 표시
  • 레이어 패널 : 데이터의 유형 및 데이터의 중첩 순서를 표시 (데이터의 중처순서를 변경하거나 데이터 선택을 해제하여 맵에 공간데이터를 표시하지 않을 수 있음)
  • 상태바 : QGIS 데스크탑에서 최하단에 위치하고 있으며, 현재 맵에 관련된 정보 (맵 상에서 마우스 위치 좌표, 프로젝트 좌표계 등)을 확인할 수 있음

상태바의 좌측, 왼쪽 하단의 검색 창을 통해 메뉴바 또는 툴바에 있는 기능 개별 검색 가능

 

  • 툴바 : 메뉴바에서 제공하는 기능들 중 동일/비슷한 작업만 반복해서 하는 경우 같은 범주의 작업을 좀 더 구체화하여 메뉴바 아래에 고정시켜 사용할 수 있는 기능들의 집합

 

 

 

언어 설정

 

 

 

설정 -> 옵션에서 User Interface Translation 사용자 인터페이스 번역원하는 언어로 선택하고 QGIS를 재실행

 

 

 

 

2. Q-GIS를 활용한 벡터 데이터 편집1

 

≫ 벡터 : 실세계의 객체/현상을 점(포인트) / 선(라인) / 면(폴리곤) 으로 표현하는 데이터

- 점 (포인트, Points) : 점으로 표현  eg. 시설물의 위치

- 선 (라인,  Lines) : 선으로 표현   eg. 하천, 도로 네트워크

- 면 (폴리곤, Polygons) : 넓이를 가지는 평면으로 표현   eg. 건물, 국가

 

 벡터 데이터의 구조 : ESRI shapefile 구조로, 최소 3개 파일로 구성

소프트웨어 현황에 따라 .sbx, prj (좌표계 정보) 파일이 추가될 수 있음

-   .shp : 기하학 정보를 저장

-   .shx : 색인 (index) 저장

-   .dbf : 속성 정보를 저장

 

래스터 : 실세계의 객체/현상을 화소(픽셀)들의 배열로 표현하는 데이터

 

래스터 데이터의 구조 : 주로 geotiff, jpeg2000 파일 등의 구조

동일한 크기의 픽셀(화소)의 배열로 실세계의 현상/객체 표현

 

출처 : Geohealth mapping GIS training, 2021

 

 

QGIS 실습

1) 배경지도 불러오기

오픈소스 OpenStreetMap (OSM), Google Map 등을 배경지도로 사용할 수 있음

국내 지도로는 네이버, 다음카카오 지도 플러그인 활용 가능

 

  • OpenStreetMap - QuickMapServices 플러그인 설치하여 활용 (메뉴의 플러그인 > 플러그인 관리 및 설치)

     설치를 마치면 아래와 같이  웹 > QuickMapServices > OSM 에서 불러올 수 있음

 

 

  • Google Map - 탐색기 패널에서 타일링 (XYZ files) 기능을 사용하여 호출

 

아래의 링크에서 The available Google Maps layers 중 하나 선택하여 주소 URL 입력

 

https://hatarilabs.com/ih-en/how-to-add-a-google-map-in-qgis-3-tutorial

 

How to add a Google Map/Terrain/Satellite Layer in QGIS 3 - Tutorial — Hatari Labs

QGIS is a open source and powerful Geographic Information System (GIS) software. The latest version of QGIS is QGIS 3.0 that comes with many and exciting new features for the old and new users. As the previous versions of QGIS, the software is really inten

hatarilabs.com

 

호출 결과 ▼

 

 

  • 네이버/다음카카오 지도 : TMS for Korea 플러그인. 하단의 링크에서 다운로드 가능.

https://plugins.qgis.org/plugins/tmsforkorea/

 

QGIS Python Plugins Repository

(159) votes Loading... QGIS plugin. Kakao(Daum), Naver, VWorld, NGII Map Layers for Korean users Author Minpa Lee Maintainer MapPlus Tags openlayers , naver , vworld , ngii , kakao Plugin home page http://www.onspatial.com/2013/02/qgis-tms-for-korean-

plugins.qgis.org

 

플러그인 > 플러그인 관리 및 설치 에서 다운로드 받은 zip 파일 열기 & 플러그인 설치 

 

설치를 마치면 아래와 같이 메뉴에서 선택 가능

 

 

2) 벡터 데이터 편집 기초

 

 

 

 

 

pts 점, lines 선, polygons 면 3종류의 벡터 데이터 생성

 

 

3. Q-GIS를 활용한 벡터 데이터 편집2_포인트

1) 포인트 객체 생성하기

① > ② > ③ 순서로 버튼을 클릭한 뒤, 지도 위의 원하는 대상을 클릭하면 포인트 객체 생성

 

 

아래 버튼을 통해 지우거나 편집하고자 하는 포인트 객체 선택 (선택되면 점이 노란색으로 변함)

 

※ 주의 ※

편집 종료 시, 연필모양 편집버튼을 한 번 더 클릭하고 저장해줘야 변경사항이 반영됨

 

 

속성테이블 열기 > 편집 > 새필드 를 통해 칼럼추가

 

 

속성테이블 열기 > 편집 > 필드계산기 를 통해 x좌표, y좌표 등의 계산값 추가

 

 

연필 버튼을 한 번 더 눌러 변경사항 저장해주면 편집 내용이 반영됨

 

 

 

 

2) 포인트 객체 시각화하기

 

 

 

 

 

4. Q-GIS를 활용한 벡터 데이터 편집2_라인

5. Q-GIS를 활용한 벡터 디엍 편집4_폴리곤

 

라인(선) 편집 시에는 도형 디지타이징 툴바 가 필요 (메뉴 바에서 마우스 우클릭, 선택)

 

 

포인트(점) 편집 때와 라인, 폴리곤에 대해서도 동일하게 이런저런 편집 연습

 

 

 

 

6. Q-GIS 고급 기능을 활용한 벡터 데이터 편집

 

메뉴바 우클릭 > 고급 디지타이징 툴바 활성화

 

 

피처분할 선택 > 편집하고 싶은 라인 선택 > 마우스 왼쪽 버튼으로 자르고 싶은 지점 가로지르는 선 그리기

> 마우스 우클릭

 

 

 

마우스 우클릭 후, 선이 분할되면 다음과 같이 2개의 라인이 다른 색상으로 표시

 

 

속성 테이블 에 가면 선이 하나 더 추가된 것을 확인할 수 있음

(* 기존 필드를 갱신 버튼을 통해 새로 생성된 라인의 값 업데이트해줄 것)

 

 

고급 디지타이징 툴바 를 이용하여 객체 이동, 객체 회전, 객체 병합, 객체 변형 등의 기능 적용

 

 

인접한 라인 객체 제작

- 기존 라인/폴리곤 객체에 인접한 라인/폴리곤 객체를 제작하고 싶을 때는 스냅 기능을 사용하여 인접 폴리곤 제작

- 스냅 (snapping) : 라인/폴리곤 객체를 인접 라인/폴리곤 객체를 구성하는 점(vertex)를 따라 마우스 좌클릭을 통해 제작할 때 사용하는 GIS 기능

- 메뉴바 우클릭 > 스냅 툴바 활성화

 

 

 

7. Q-GIS를 활용한 데이터 검색

 

데이터 질의 이론

  • 질의 : 사용자가 어떤 조건을 제시하면 DB에서 그 조건에 맞는 데이터를 검색하는 과정
  • 데이터 질의는 속성 데이터에 기반한 속성 질의 (select by attributes) 공간 데이터에 기반한 공간 질의 (select by location) 로 구분할 수 있음
  • GIS에서 속성 질의 (select by attributes) 는 필드와 레코드 구조의 속성 테이블에서 산술 연산자 / 논리 연산자를 사용하여 조건을 작성하고 조건에 맞는 속성 데이터 검색
  • GIS에서 공간 질의 (select by location) 는 서로 다른 레이어에서 공간적 위치관계 (교차, 포함, 인접, 중첩 등) 를 연산 조건을 작성하고 조건에 맞는 공간 데이터를 검색 

 

☞ 산술 연산

Select 질의어 문법을 활용해서 조건에 맞는 데이터 검색

eg.

1) "POP2008" >= 30000    '인구 수' 필드값이 30,000이상인 자료

2) "EDM_NM" LIKE '목%' 동 이름'    필드값이 '목'으로 시작하는 자료

3) POP2008" >= 30000 AND "SGG_NM" IN ('송파구','강남구)     

 

송파구와 강남구에 소속되어 있으면서 동시에 인구가 4만명 이상인 동

 

 

 

① 속성 테이블 > 표현식을 이용한 객체 선택 버튼

 

② 표현식 필드 연산 질의 작성

 

③ ▼ 해당 범위의 자료만 검색된 것을 확인

 

④ ▼ 선택된 값만 표시

 

 

⑤ 필터/선택이 반영된 레이어 저장 : 마우스 우클릭 > 내보내기 > 선택된 객체를 다른이름으로 저장

 

 

 

 교차 (intersect)

서울시를 지나가는 하천과 교차하는 동을 검색 & 선택

 

 

 

 

▼ 교차 검색 결과

 

 

 포함 (contain)