95

6장 공간패턴을읽으면세상이보인다.최종

Embed Size (px)

Citation preview

Page 1: 6장 공간패턴을읽으면세상이보인다.최종

6 장 . 공간패턴을 읽으면 세상이 보인다 .< 데이터분석과 저널리즘 >

영남대학교 언론정보학과 인간 – 컴퓨터 상호작용과 인 포 그래픽스 수업

영남대학교 영어영문학과 21010236 정 다 혜 ([email protected])영남대학교 경영학과 21021888 김 민 지 ([email protected]) 영남대학교 언론정보학과 21321852 이 채 령 ([email protected])

Page 2: 6장 공간패턴을읽으면세상이보인다.최종

Table of Contents

6 장을 시작하기 앞서

GIS 기본 개념 과 요소 (6.1~6.2)

실습 (6.3 ~ 6.20)

마무리

Page 3: 6장 공간패턴을읽으면세상이보인다.최종

지지 ( 地志 ) 는 지도 ( 地圖 ) 의 근본이다 .- 고산자 김정호

▽ ▼ ▽ ▼ ▽ ▼ ▽

각 지역의 사회 , 경제 , 문화 정보를 담은 지리서인 지지를 바탕으로지도를 활용하는 것이 지리연구의 기본이라는 의미 .

공간정보와 관련 통계자료를 연계해 생각해 보는 이러한 접근법은현대의 지리정보시스템 (GIS, Geographical Information System) 의 원리와도 맞닿아 있음 .

6 장을 시작하기에 앞서

Page 4: 6장 공간패턴을읽으면세상이보인다.최종

GIS 는 전문적인 분석을 위해 개발된 소프트웨어이기때문에 학습에 더 많은 시간과 노력이 필요하다 .

★ 각종 사건 사고의 발생현황을 데이터 지도로 그려보는 것은 매우 효과적인 데이터시각화 기법 .ex)미국 시카고 경찰당국의 범죄 지도 서비스 CLEARMAP시카고 트리뷴 신문의 범죄 지도 서비스 CRIME IN CHICAGOLAND이런 사이트는 단순히 개별 범죄 사실을 알려줄 뿐 아니라 , 대도시의 범죄를 장기간에 걸쳐 추적해서 하나의 사회 현상으로서 조망할 수 있게 해줌 .

★ 어떤 범죄가 어디서 어떻게 일어나고 있고 , 가해자와 피해자는 어떤 사람들인지 살펴볼 수 있는 기능에 GIS 전문소프트웨어를 접목하면 더 심층적인 취재를 할 수 있을 것이라고 예상됨 .ex)각 경찰서와 범죄 발생 지역 간의 평균거리 계산각 경찰서 관할 구역 내에서 발생한 범죄 발생 빈도와 종류 , 특징 분석공간통계 알고리즘을 사용해 범죄 발생 가능성이 특히 높은 지역을 예측특정 시간대와 범죄 장소 , 유형 , 피해자 성별 등의 변수를 연계해 분석함으로 범죄 발생 패턴 예측

★ 한 발 더 나아가 ‘누가 언제 어디서 무엇을 어떻게’ + ‘ 왜 ?’ 라는 질문도 던질 수 있음 .ex)‘ 왜 특정 지역에 범죄가 몰릴까 ?’ 라는 질문을 던졌을 때경찰서 위치 , 소득분포 , 유동인구와 유흥가 분포 등 여러 변수들을 지도에 표시하고 범죄 발생지점과 비교해 보면 범죄현상의 상관관계를 추론 해 볼 수 있음 .

6.1) GIS 의 가본 개념

Page 5: 6장 공간패턴을읽으면세상이보인다.최종

데이터 지도에 표현되는 지리적 요소

1) 점 (point) : 시설이나 주택 , 건물 , 도시 등을 표현 . 특정 사건이 발생한 위치를 표시할 수도 있음 .

2) 선 (line) : 하천이나 도로 등 곡선이나 선을 나타냄 .3) 폴리곤 (polygon) : 행정경계나 공원 혹은 공장 단지의 영역 등을 표시 .

* * * * * 행정구역의 경계는 육안으로는 곡선으로 보이지만 , 데이터 지도에서는 여러 개의 짧은 직선을 연결한 폴리곤으로 표현함 .

GIS 의 특징

1) 여러장의 지도를 손쉽게 중첩해 볼 수 있다 . 이 때 겹쳐서 보는 데이터 지도 한장을 Layer 라 함 .

2) 한장의 레이어에는 각기 점 , 선 , 도형 중 한 가지 종류의 지리적 요소만 표시될 수 있다 .3) 지도파일은 벡터 (vector) 파일과 래스터 (raster) 파일로 나뉘는데 , 래스터 파일은 일정한 크기의 격자에 이미지가 담기기 때문에 확대하면 이미지 화소가 깨진다 . (백터는 화소에 영향 x)

6.2) GIS 의 가본 요소

Page 6: 6장 공간패턴을읽으면세상이보인다.최종

QGIS 공식사이트 (http://www.qgis.org)

6.3) QGIS 설치 및 인터페이스 살펴보기

Page 7: 6장 공간패턴을읽으면세상이보인다.최종

QGIS 2.8 클릭해서 다운로드

6.3) QGIS 설치 및 인터페이스 살펴보기

Page 8: 6장 공간패턴을읽으면세상이보인다.최종

QGIS 작업창 첫 화면

6.3) QGIS 설치 및 인터페이스 살펴보기

Page 9: 6장 공간패턴을읽으면세상이보인다.최종

도구모음 → 레이어 → 레이어 추가 → 벡터레이어 추가

‘ 시군구 행정경계 .shp’ 파일 불러오기

6.3) QGIS 설치 및 인터페이스 살펴보기

Page 10: 6장 공간패턴을읽으면세상이보인다.최종

도구모음

알파벳 소문자 i 로 표시된 아이콘 ‘객체모음’ 클릭

지도에서 적당한 행정구역 한 곳을 클릭

좌측 하단 ‘객체 확인 결과’에 해당지역의 정보가 나타남

• 지도의 흰색 여백을 클릭하면 사라짐

6.3) QGIS 설치 및 인터페이스 살펴보기

Page 11: 6장 공간패턴을읽으면세상이보인다.최종

목록창 (TOC) → 행정경계 파일명 위에서 우클릭 → 스타일 탭 → 지도 색상 설정 가능

6.3) QGIS 설치 및 인터페이스 살펴보기

Page 12: 6장 공간패턴을읽으면세상이보인다.최종

좌표체계란 ?- 지구는 울퉁불퉁하고 불규칙한 모습의 타원체임 . - 이러한 비정형 타원체의 위치 정보를 지도로 나타내기 위해서는 복잡한 수학적 계산을 거침 .- 지리적 정보에 좌푯값을 부여하는 이 방식을 좌표체계라고 함 .- 종류가 수천 가지에 달할 정도로 다양함 .- 하지만 어떤 좌표체계도 실제 지구의 공간정보를 100% 정확히 표현할 수는 없음 .- 지도 제작 과정에서 지리적 형상과 위치 , 면적 등이 어느 정도 왜곡되기 때문 .

* 실제 지구는 완전한 타원체가 아니기에 좌표를 구하기 위해서 가상의 완전타원체를 설정해야 함 . 이 타원체의 크기와 중심 위치를 정하는 방식을 ‘측지계 (datum)’ 라고 부름 . (좌표체계 이름 앞에 Bessel, WG384, GRS80 같은 단어가 붙는다면 일단 측지계의 종류로 기억 )

좌표계는 ‘경위도 좌표계’와 ‘투영 좌표계’로 나뉨 .경위도 좌표계는 지구 중심에서 뻗은 기준선과 특정 위치 사이의 각도를 단위로 하는데 ,이 때 북위 몇 도 등으로 표현되는 경위도 값은 절대적인 수치가 아님 .같은 장소라도 측지계가 다르면 조금씩 다른 경위도 수치가 나옴 .이런 지도상의 오차가 때로 중대한 문제를 야기하는데 , 특히 정확한 위치 파악이 중요한 군사작전의 경우 큰 지장을 받을수 있음 .이 때문에미국 국방부는 1950년대 부터 혼선을 막기위한 표준측지계 개발에 나섰음 .▷ 현재 보편적으로 사용되는 세계 표준 측지계 = WGS84 와 GRS80

6.4) 지도 제작의 열쇠 : 좌표체계의 이해

Page 13: 6장 공간패턴을읽으면세상이보인다.최종

어떤 좌표체계를 채택하든지 가장 중요한 점은자신이 작업하는 파일들을 한 가지 좌표계로 통일하는 습관을 들이는 것 .

우리가 사용할 좌표계는 ‘카텍 (Katec) 좌표계’국내 GIS 분석가들이 즐겨 사용하는 좌표계이지만 , 국제적인 좌표계 고유번호인 EPSG번호가 없는 비공식 좌표계 .그래서 QGIS 에는 기본 좌표계로 등록돼 있지 않기에 , 직접 좌표계 정보를 입력시켜 줘야 함 .

상단메뉴 → 설정 → 사용자 정의 좌표계 → 새로운 좌표계 추가 → 이름은 Katec 으로 , 매계변수는 다음의 설정값을 입력

+proj=tmerc +lat_0=38 +lon_0=128 +k=0.9999 +x_0=400000 +y_0=600000 +ellps=bessel +towgs84=-145.907,505.034,685.756,-1.162,2.347,1.592,6.342 +units=m +no_defs

6.4) 지도 제작의 열쇠 : 좌표체계의 이해

Page 14: 6장 공간패턴을읽으면세상이보인다.최종

상단메뉴 → 레이어 추가 → 구분자로 분리된 텍스트 레이어 → 탐색 → ‘한반도진앙지’파일 불러오기 → 인코딩을 system 으로 → X 필드는 경도 Y 필드는 위도로 설정 후 OK → 좌표계 선택창이 팝업되면 필터창에 EPSG번호인 4326검색 → WGS84 선택 후 OK

6.5) 지진 분포도 만들기

Page 15: 6장 공간패턴을읽으면세상이보인다.최종

서로 좌표계가 다른 지도 레이어들은

실시간 좌표계 변환 활성화 (On the fly)

기능을 사용해서 일시적으로 통일 할 수

있다 . (처음에 불러온 지도 레이어의

좌표체계를 기준으로 다음 지도 레이어를

통일시켜 주는 원리로 , 지도 파일 자체에

물리적 변화를 주진 않음 .)

▽▼

QGIS 화면 우하단의 ‘좌표계상태’

아이콘을 클릭해 대화창을 꺼낸 뒤

상단의 ‘실시간좌표계 변환 활성화’

를 체크해 실행

6.6) ‘ 실시간 좌표계 변환 (On the Fly)’ 이용하기

Page 16: 6장 공간패턴을읽으면세상이보인다.최종

OTF 를 실행해 한반도 지도에 진앙지 분포 중첩이 나타난 모습

6.6) ‘ 실시간 좌표계 변환 (On the Fly)’ 이용하기

Page 17: 6장 공간패턴을읽으면세상이보인다.최종

▷▶진앙지 파일 위에서 우클릭

→ 레이어 좌표계 설정 클릭

→ 작업창에서 원래의 좌표계인 WGS84 선택 후 ok

→ 다시 진앙지 파일 위에서 우클릭

→ 다른이름으로 저장을 누름

→ 형식은 쉐이프 파일로 , 좌표계는 카텍좌표로 설정 (새로 파일을 생성하는 것이므로 적당한 pc 폴더 위치를 지정하고 새 파일 이름을 입력해줌 )

→ ok 를 클릭하면 몇 초 뒤에 또 하나의 진앙지 분포도가 나타남

→ 목록창의 행정경계 레이어를 마우스 좌클릭한 상태에서 드레그해서 지진 진앙지 위에 놓음

→ 기존에 처음 불러온 진앙지 CSV 파일은 필요 없으므로 목록창에서 삭제

6.7) 지도 좌표계 변환하기

Page 18: 6장 공간패턴을읽으면세상이보인다.최종

지진 파일 우클릭 속성 → 스타일 탭 → ‘단계로 나누어진’ 메뉴 선택 → 기준 칼럼을 ‘규모’로 선택 → 클래스틑 ‘ 5’, 모드는 ‘내추럴 브레이크’ 선택 → 색상표에서 적당한 색상 스케일 고르고 OK

6.8) 색상 주제도 그리기

Page 19: 6장 공간패턴을읽으면세상이보인다.최종

벡터 → 분석도구 → 최근린 분석

6.9 ) 진앙지 간 평균거리 계산하기

입력 벡터 레이어 : 지진진앙지OK 를 클릭하면 최근린 분석 결과가 나타난다 .

Page 20: 6장 공간패턴을읽으면세상이보인다.최종

6.9 ) 진앙지 간 평균거리 계산하기

결과 분석

- 가장 가까운 다른 진앙지와의 평균거리는 7.4km

- 가정 평균거리 : 각 진앙지의 점을 지도상에 무작위로 뿌렸을 때 진앙지 사이의 평균거리 ( 우연에 의해 발생할 값 )

-최근린 인덱스 = 관측된 평균거리 / 가정 평균거리 1 보다 작으면 밀집형 1 보다 크면 분산형

- 진앙지 총 1094 개

-Z값은 표준정규분포에서의 통계적 유의성을 검증하기 위한 Z 통계값 ( 다만 이 경우 지진데이터는 정규분포를 따르지 않음 )

Page 21: 6장 공간패턴을읽으면세상이보인다.최종

6.10) 지도 데이터 속성으로 검색하기

최근 4년 동안 규모 3.5 이상의 지진은 어디에 얼마나 일어났을까 ? 시기마다 어떤 차이가 있을까 ? 알아보자

1. 한반도 진앙지 파일 우클릭

-> 속성테이블 열기 -> 객체 선택 클릭

2. 표현식 입력 -> 선택 -> 닫기

" 진원시 ">= 2010 AND "규모 " >= 3.5

Page 22: 6장 공간패턴을읽으면세상이보인다.최종

3. 선택된 객체만 표시 클릭 -> 15 개의 지진이 선택된다 .

2010년 이후에 발생한 지진 중 규모 3.5 이상인 것

4. 한반도 진앙지 우클릭

-> 선택한 레이어의 객체를 다른 이름으로 저장

6.10) 지도 데이터 속성으로 검색하기

Page 23: 6장 공간패턴을읽으면세상이보인다.최종

5. 한반도 진앙지 우클릭 -> 선택한 객체를 다른 이름으로 저장 -> ‘2010년 이후 규모 3.5 이상 지진’으로 저장

* 저장된 파일 을 지도에 추가 클릭

6. 2010년 이후 규모 3.5 이상 지진 파일 우 클릭 -> 속성 -> 스타일

1) 단계로 나누어진 선택2) 칼럼에 규모 선택3) 기호변경에 들어가 동그라미 크기를 5 로 키움4) 모드에 프리티 브레이크 선택

6.10) 지도 데이터 속성으로 검색하기

Page 24: 6장 공간패턴을읽으면세상이보인다.최종

지진발생 규모에 따라 색상이 다르게 표시 된것을 볼수 있음

백령도 주변에 4번의 지진이 일어났고 격렬비열도 부근에서 규모 5.1 의 지진이 일어나는 등 서해 도서 부근에서 지진이 빈번했음을 알 수 있다 .

6.10) 지도 데이터 속성으로 검색하기

Page 25: 6장 공간패턴을읽으면세상이보인다.최종

6.10) 지도 데이터 속성으로 검색하기

1. 한반도 진앙지 파일 우클릭

-> 속성테이블 열기 -> 객체 선택 클릭

2. 표현식 입력 -> 선택 -> 닫기

" 위치 " LIKE '% 격렬비 %'

특정 문자열을 속성으로 가진 지진 데이터만 추출해 보자

Page 26: 6장 공간패턴을읽으면세상이보인다.최종

6.10) 지도 데이터 속성으로 검색하기

3. 선택된 객체만 표시 클릭 -> 33 개의 객체가 선택된다 .

‘ 격렬비’라는 문자를 가진 다양한 표현들을 포함한 모든 정보가 찾아진다 .

Page 27: 6장 공간패턴을읽으면세상이보인다.최종

6.10) 지도 데이터 속성으로 검색하기

5. 한반도 진앙지 우클릭 -> 선택한 객체를 다른 이름으로 저장 -> ‘ 격렬비열도부근에서발생한지진’으로 저장

* 저장된 파일 을 지도에 추가 클릭

서해 도서 부근에서 격렬한 지진이 빈번했음을 알 수 있다 .

Page 28: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

1. 레이어 -> 구분자로 분리된 텍스트 레이어 추가 -> 원자력 발전소 -> OK -> Katec 선택

진앙지 분포도와 연관지어 국내 원전의 위치를 살펴보자

2. 원자력 발전소 우클릭 -> 속성 -> 스타일

1) 동그라미 아이콘을 다이아몬드로 바꿔준다 .2) 크기를 5 로 키운다

Page 29: 6장 공간패턴을읽으면세상이보인다.최종

국내 원전 및 원자로의 위치를 알 수 있다 .

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

Page 30: 6장 공간패턴을읽으면세상이보인다.최종

3. 원자력 발전소 우 클릭 -> 속성 -> 라벨

1) 이 레이어의 라벨 체크 , 원전이름 체크2) 글꼴 함초롬 돋음으로 선택3) 크기 150000 으로 선택

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

Page 31: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

한반도 진앙지 레이어와 중첩해 보자

원전 주변 마다 수많은 진앙지가 분포라고 있음을 확인 할 수 있다 .

국내 원전 및 원자로의 이름을 지도상에 표시할 수 있다 .

Page 32: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

버퍼링 (buffering): 지도상 특정 지점에서 원을 그리듯 반경을 표시하고 그 안의 지리적 요소를 검색해 내거나 통계를 내는 작업

: 버퍼링과 공간검색 기능을 함께 사용하면 다수의 지점을 중심으로 일정 반경 안에 들어오는 지리적 요소의 통계를 낼 수 있다 .

Q1. 국내 원자력 발전소 반경 50km 안에서 규모 3 이상의 지진은 몇번이나 발생했나 ?

1. 원자력발전소 우 클릭 -> 다른 이름으로 저장 -> 탐색 -> ‘ 원자력 발전소’저장 (shp 파일 )

* 저장된 파일 을 지도에 추가 클릭

Page 33: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

2. 벡터 -> 공간 연산 도구 -> 버퍼

3. 버퍼 입력

1) 입력 벡터 레이어에 원자력 발전소 선택2) 버퍼거리 500003) 세그먼트 수 10 으로 변경4) 탐색 -> 원전반경 50K 로 저장5) 결과를 캔버스에 추가에 클릭

Page 34: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

4. 원전 반경 50K 우 클릭 -> 속성 -> 스타일 -> 레이어 투명도 80 설정

원전 주변 반경 50Km 진앙지 분포

Page 35: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

** 버퍼링 시 지도 레이어의 좌표체계는 모두 하나로 통일돼 있어야 한다 . 특히 , Katec 과 같은 투영 좌표계로 변환시켜야 올바른 거리 분석이 가능하다 .

1. 벡터 -> 공간검색 -> 공간검색 , 위와 같이 설정한다 .

원전 50km 내 반경의 범위에 진앙지가 몇 개 있는지 검색하라는 실행 명령 이다 .

2. Apply 를 누르면 위와 같은 통계값이 산출됨

지진 1094 개중 266번이 원전 반경 50km 에서 발생

Page 36: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

지도 위의 진앙지 중 반경 50km 안에 포함된 곳은 모두 노란색으로 표시되었음

지진 1094 개중 266번이 원전 반경 50km 에서 발생

Page 37: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

Q2. 50km 반경 안에 가장 많은 지진이 발생한 원전은 어디인가 ?

1. 벡터 -> 분석도구 -> 폴리곤 안의 점

위와 같이 설정한다 . (‘ 원전 50k 내 진앙지합산’으로 shp 파일을 저장한다 ,)

Page 38: 6장 공간패턴을읽으면세상이보인다.최종

6.11) 지진 진앙지와 원자력 발전소 위치 반경 분석하기

2. 원전 50K 내진앙지합산 우클릭 -> 속성테이블 -> PNTCNT 내림차순 정리

대전 하나로 원자로 반경 50km 에서 68번 , 월성 원전은 53번 , 그리고 원전 건설 예정인 삼척 부근에 53번 지진이 발생했다 .

Page 39: 6장 공간패턴을읽으면세상이보인다.최종

6.12 ) GIS 의 묘수 , 핫스폿 구하기

래스터 – 온도지도 클릭

반지름 : 25000m

셀 크기 : 3000m

필드값을 가중치로 사용 : 규모

Page 40: 6장 공간패턴을읽으면세상이보인다.최종

진앙지 온도지도가 만들어진다 .

6.12 ) GIS 의 묘수 , 핫스폿 구하기

Page 41: 6장 공간패턴을읽으면세상이보인다.최종

온도지도 레이어 우클릭 – 속성 – 스타일 탭 선택

렌더 유형 : 단일 밴드 의사색채

적당한 색상 선택 후 ‘분류’클릭

다음과 같이 온도지도가 만들어진다 .

6.12 ) GIS 의 묘수 , 핫스폿 구하기

Page 42: 6장 공간패턴을읽으면세상이보인다.최종

행정경계 지도 레이어를 맨 위로 올린뒤우클릭 – 속성 – 스타일 – 투명도를 70 으로 지정하면지도와 함께 시각화 할 수 있다 .

6.12 ) GIS 의 묘수 , 핫스폿 구하기

Page 43: 6장 공간패턴을읽으면세상이보인다.최종

좀 더 깔끔하게 핫스폿 부근만 표시하려면지진온도지도 우클릭 – 속성 – 투명도 탭 클릭다음과 같이 입력한다 .

우측에 초록색 + 클릭

시작 : 0

끝 : 0.176124

투명도 : 100

6.12 ) GIS 의 묘수 , 핫스폿 구하기

Page 44: 6장 공간패턴을읽으면세상이보인다.최종

지진이 상대적으로 덜 발생한 구역을 투명하게 만들어 핫스폿 부근만 깔끔하게 시각화된다 .

6.12 ) GIS 의 묘수 , 핫스폿 구하기

Page 45: 6장 공간패턴을읽으면세상이보인다.최종

①플러그인 - 플러그인 관리 및 설치 – ‘ mmqgis’ 검색 – 플러그인 설치

6.13 ) 격자형 밀도 지도 만들기

Page 46: 6장 공간패턴을읽으면세상이보인다.최종

②지진 분포도를 적당한 축척으로 화면에 띄운 뒤 메뉴에서 MMQGIS – Create – Create Grid Layer 선택

좌표계 선택 : 카텍

격자 크기 20000 입력Rectangle (polygon) 선택

6.13 ) 격자형 밀도 지도 만들기

Page 47: 6장 공간패턴을읽으면세상이보인다.최종

③벡터 – 분석도구 – ‘폴리곤의 점’ 기능으로 개별 격자 안에 있는 지진 진앙지 개수 세기

좌표계 선택 : 카텍

입력 폴리곤 벡터 레이어 : grid입력 점 벡터 레이어 : 지진진앙지출력 카운트 필드 이름 : PNTCNT

6.13 ) 격자형 밀도 지도 만들기

Page 48: 6장 공간패턴을읽으면세상이보인다.최종

‘ 단계로 나누어진’ 선택 컬럼 : PNTCNT 모드 : 내추럴 브레이크④ 우클릭 – 속성 – 스타일 탭

6.13 ) 격자형 밀도 지도 만들기

Page 49: 6장 공간패턴을읽으면세상이보인다.최종

행정경계 지도 위에 격자형 밀도 지도가 만들어진다 .

6.13 ) 격자형 밀도 지도 만들기

Page 50: 6장 공간패턴을읽으면세상이보인다.최종

⑤ 다시 속성에 들어가서 값이 0 인 메뉴 우클릭 – 투명도 변경 – 투명도 100 지정

6.13 ) 격자형 밀도 지도 만들기

Page 51: 6장 공간패턴을읽으면세상이보인다.최종

지진이 한 번 이상 발생한 구역만 시각화된다 .

6.13 ) 격자형 밀도 지도 만들기

Page 52: 6장 공간패턴을읽으면세상이보인다.최종

① 레이어 - 벡터 레이어 추가 - 시군구 행정경계 2014년 5월 .shp 열기

레이어 - 구분자로 분리된 텍스트 레이어를 추가 – 시군구인구집계 _201405.csv 열기

6.14 ) 행정경계 색상 주제도 만들기

Page 53: 6장 공간패턴을읽으면세상이보인다.최종

② ‘ 시군구 행정경계 2014년 5월’ 레이어 우클릭 - 속성 – 결합 탭

6.14 ) 행정경계 색상 주제도 만들기

Page 54: 6장 공간패턴을읽으면세상이보인다.최종

③ 왼쪽 하단에 초록색 + 클릭 – 벡터 조인 추가에 아래와 같이 선택

조인 레이어 : 시군구인구집계_201405

조인 필드 : 지역코드

대상 필드 : SIG_CD

6.14 ) 행정경계 색상 주제도 만들기

Page 55: 6장 공간패턴을읽으면세상이보인다.최종

④ 시군구 행정경계 우클릭 – 속성 테이블 열기

시군구 행정경계와 시군구 인구집계자료가 결합된 것을 확인할 수 있다 .

6.14 ) 행정경계 색상 주제도 만들기

Page 56: 6장 공간패턴을읽으면세상이보인다.최종

⑤ 속성 테이블에서 연필모양 편집아이콘 클릭 , 필드 계산기 클릭해 다음과 같이 입력

" 시군구인구집계 _201405_ 인구 "/ $area * 1000000

6.14 ) 행정경계 색상 주제도 만들기

Page 57: 6장 공간패턴을읽으면세상이보인다.최종

⑥ 속성 테이블에 인구밀도 항목이 추가된다 . 다시 연필모양 편집모드 전환을 누르고 변경사항 저장 .

6.14 ) 행정경계 색상 주제도 만들기

Page 58: 6장 공간패턴을읽으면세상이보인다.최종

⑦ 시군구 행정경계 우클릭 – 속성 – 스타일 탭

‘ 단계로 나누어진’ 선택 컬럼 : 인구밀도 선택 모드 : 프리티 브레이크 선택

6.14 ) 행정경계 색상 주제도 만들기

Page 59: 6장 공간패턴을읽으면세상이보인다.최종

모드 : 프리티 브레이크 모드 : 분위수 ( 동일 갯수 )

데이터 구간을 나누는 방법과 색상 스케일에 따라 지도는 전혀 다르게 시각화된다 .

6.14 ) 행정경계 색상 주제도 만들기

Page 60: 6장 공간패턴을읽으면세상이보인다.최종

① biz-gis.com 사이트 접속 X-Ray Map for Web 섹션 클릭

② ‘ 추가 및 심볼’ - ‘Geocoding Tool’

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 61: 6장 공간패턴을읽으면세상이보인다.최종

③ ‘ 유독물사업장 2011 지오코딩 연습용’을 엑셀 파일로 열기

총 2,833곳의 주소 .

한 번에 주소 1,000 개만지오코딩 할 수 있도록 제한 .

→1,000 개 , 1,000 개 , 833개로 세 번에 나누어 한다 .

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 62: 6장 공간패턴을읽으면세상이보인다.최종

④ 1,000 개의 주소를 왼쪽 창에 붙여넣기 구분자 : ‘탭’ – 문자열 정리

첫번째 행을 필드명으로 선택

→지오코딩 실행 클릭

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 63: 6장 공간패턴을읽으면세상이보인다.최종

⑤ 지오코딩을 마친 후 엑셀저장 – 좌표계 ‘카텍’ 선택

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 64: 6장 공간패턴을읽으면세상이보인다.최종

⑥나머지 1,000 개 , 833 개도 마찬가지로 지오코딩 실행 후 하나의 엑셀 CSV 파일로 합치기

→결과물을 QGIS 로 가져가 2차 분석을 할 수 있다 .

지오코딩 결과물

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 65: 6장 공간패턴을읽으면세상이보인다.최종

① 플러그인 – 플러그인 관리 및 설치 – ‘ TMS for Korea’플러그인 설치

6.16 ) 포털 지도와 대조해 보기

Page 66: 6장 공간패턴을읽으면세상이보인다.최종

②레이어 – 벡터 레이어 추가 – 시군구 행정경계 .shp 열기

레이어 – 구분자로 분리된 텍스트 파일에서 레이어 만들기 – 유독물 사업장 파일 열기

좌표계 : 카텍

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 67: 6장 공간패턴을읽으면세상이보인다.최종

③ 플러그인 – TMS for Korea – Add Vworld Street 을 클릭하면 유독물 공장 위치와 Vworld 지도가 중첩된다 .

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 68: 6장 공간패턴을읽으면세상이보인다.최종

④ 유독물 공장 위치와 주변 지형지물을 살펴볼 수 있다 .

6.15 ) 주소에 공간좌표 부여하기 : 지오코딩의 요령

Page 69: 6장 공간패턴을읽으면세상이보인다.최종

6.17 ) GIS 만의 특별한 기능 : 데이터 ‘공간결합’하기

공간결합 (Spatial Joining) : 지도 레이어와 레이어의 데이터 베이스를 공간 정보에 기반해 합쳐주는 기능

1. 지도 레이어와 레이어 데이터 베이스를 불러옴

1) 백터 레이어 추가 -> 탐색 -> 읍 . 면 . 동 행정경계 shp -> 레이어 좌표계 설정 -> Katec 좌표계 2) 구분자로 분리된 텍스트 레이어 추가 -> 유독물 사업장 2011년 XY좌표값 포함 csv -> Katec 좌표계

백터 레이어 추가

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

Page 70: 6장 공간패턴을읽으면세상이보인다.최종

2. 백터 -> 데이터 관리도구 -> 위치에 따른 속성 결합 1) 대상 백터 레이어 -> 읍면동 _ 행정경계 2) 백터 레이어 조인 -> 유독물 사업장 3) 교차하는 모든 객체 속성 요약 이용 체크 4) 평균 지우고 총계 체크 5) 모든 레코드 남기기 체크 6) 탐색 -> 실습 데이터 파일에 ‘ 읍면동 행정경계 _ 유독물 사업장’ 으로 다시 저장 (shp 파일 ) 7) OK

3. 공간결합 Yes 클릭

6.17 ) GIS 만의 특별한 기능 : 데이터 ‘공간결합’하기

Page 71: 6장 공간패턴을읽으면세상이보인다.최종

4. 마우스 우 클릭 -> 속성 테이블 열기 -> COUNT 칼럼 생성 확인 -> COUNT 내림차순 정리

1 위 경기도 안산시 단원구의 초지동 - 유독물 공장이 229 개 있음2 위 대구광역시 서구 비산 7 동 - 유독물 공장이 63 개 있음 전라남도 여수시 삼일동

COUNT 내림차순 정리

1 위

2 위

6.17 ) GIS 만의 특별한 기능 : 데이터 ‘공간결합’하기

Page 72: 6장 공간패턴을읽으면세상이보인다.최종

5. 마우스 우클릭 -> 레이어 속성 -> 스타일

1) 단계로 나누어진 선택2) 컬럼 ‘ COUNT’ 선택3) 내추럴 브레이크 선택

6. 레이어 속성 -> 라벨

1) 이 레이어의 라벨 체크2) 표현식 편집

CASE WHEN "COUNT" >=12 THEN "emd_nm" END

3) 글꼴 ‘함초롱 돋음’선택4) 크기 ‘ 150000’ 선택

6.17 ) GIS 만의 특별한 기능 : 데이터 ‘공간결합’하기

Page 73: 6장 공간패턴을읽으면세상이보인다.최종

유독물 사업장 개수에 따라 색상의 농도가 다르게 표현됨

푸른색이 짙을수록 유독물 공장이 많고공장이 없는 구역은 기본 지도 색상인 초록색으로 남아있다 .

행정구역명도 표시 되었다 .

공장이 12 개 이상 되는 곳은 행정구역명이 표시 되었다 .

6.17 ) GIS 만의 특별한 기능 : 데이터 ‘공간결합’하기

Page 74: 6장 공간패턴을읽으면세상이보인다.최종

6.18 ) 두 레이어 요소 간 거리 계산하기

1. 어린이 지도 파일 다운

biz-gis.com 사이트 접속 -> 인문사회 GIS DB -> 어린이집 지도파일 다운 (Katec좌표계 )

Page 75: 6장 공간패턴을읽으면세상이보인다.최종

2. 유독물 사업장 2011년 XY좌표값 포함 파일 열기 (엑셀 ) 1) E1 에 ‘사업장 코드’입력 2) 1~2833 까지 차례대로 입력 3) 다른 이름으로 저장 ‘ 유독물 사업장’ CSV 로 저장

3. 레이어 불러오기

1) 백터 레이어 추가 -> XsDB_ 어린이집 _POLKA shp (Katec 좌표계 )

2) 구분자로 분리된 텍스트 레이어 추가 -> 유독물 사업장 csv (Katec 좌표계 )

6.18 ) 두 레이어 요소 간 거리 계산하기

Page 76: 6장 공간패턴을읽으면세상이보인다.최종

4. 벡터 -> 분석도구 -> 거리행렬 1) 입력 점 레이어 -> 어린이집2) 입력 고유 ID 필드 -> CODE3) 대상 점 레이어 -> 유독물 사업장4) 대상 고유 ID 필드 -> 사업장 코드5) 선형 거리 행렬 체크6) 최근리 (k) 점 만을 사용7) 탐색 -> 최단거리 계산 (CSV 파일 ) 으로 저장8) OK

6.18 ) 두 레이어 요소 간 거리 계산하기

Page 77: 6장 공간패턴을읽으면세상이보인다.최종

5. 최단거리계산 CSV 파일 오픈 (엑셀 )

InputID – 어린이집 고유번호 TargetID – 유독물 공장번호 Distance – 미터 단위의 직선거리

6. 최단거리 CSV 파일 오픈 (Qgis)

1) 구분자로 분리된 텍스트레이어 추가 오픈 2) 탐색 -> 최단거리계산 csv 오픈 3) 지오메트리가 아님 체크

6.18 ) 두 레이어 요소 간 거리 계산하기

Page 78: 6장 공간패턴을읽으면세상이보인다.최종

7. ‘최단거리파일’ -> 속성 -> 결합

1) 백터조인추가 클릭2) 조인 레이어 – 어린이집 조인필드 – CODE 대상필드 – inputID

3) 백터조인추가 클릭4) 조인레이어 – 유독물사업장 조인필드 – 사업장 CODE 대상필드 – TargetID

6.18 ) 두 레이어 요소 간 거리 계산하기

Page 79: 6장 공간패턴을읽으면세상이보인다.최종

8. 최단거리계산 우 클릭 -> 속성테이블 열기 -> Distance 오름차순 정리

어린이 집과 유독물 공장이 가장 가까운 곳은 불과 7 미터 밖에 떨어져있지 않다는 것을 알 수 있다 .해당 공장의 직장 어린이 집이다 . ( 롯데삼강푸르니어린이집 – ( 주 )롯데삼강 )

Distance오름차순 정리

6.18 ) 두 레이어 요소 간 거리 계산하기

Page 80: 6장 공간패턴을읽으면세상이보인다.최종

6.18 ) 두 레이어 요소 간 거리 계산하기 - MMQGIS

1. Hub distance 설치

MMQGIS -> Create -> Hub Distance

2. 유독물 사업장 csv 파일 오픈 (엑셀 )

1) 사업자 code -> facilities_code2) 다른이름으로 저장 -> toxic_facility (csv)

**MMQGIS 는 QGIS 공식 기능이 아닌 제 3 자가 제작한 보조 도구이기 때문에 한글 데이터가 제대로 처리되지 못한다 .

Page 81: 6장 공간패턴을읽으면세상이보인다.최종

6.18 ) 두 레이어 요소 간 거리 계산하기 - MMQGIS

3. 레이어 불러오기

1) 백터 레이어 추가 -> XsDB_ 어린이집 _POLKA shp (Katec 좌표계 )

2) 구분자로 분리된 텍스트 레이어 추가 -> tox_facilities csv (Katec 좌표계 ) c

4. Hub Distance 오픈

1) Source Point Layer -> 어린이집 2) Destination Hubs Layer -> toxic_facilities 3) Hub Layer Name Attribute ->f acilities_code 4) Browse-> Distance shp 파일로 저장 5) OK 6) 레이어창에 Distance shp 파일이 생성됨

Page 82: 6장 공간패턴을읽으면세상이보인다.최종

6.18 ) 두 레이어 요소 간 거리 계산하기 - MMQGIS

5. Distance 파일 속성 -> 결합

1) 조인 레이어 -> 어린이집 조인필드 -> Code 대상필드 -> Code

2) 조인 레이어 -> tox_facilities 조인 필드 -> facilities_code 대상필드 -> HubName

Page 83: 6장 공간패턴을읽으면세상이보인다.최종

6.18 ) 두 레이어 요소 간 거리 계산하기 - MMQGIS

6. Distance 우 클릭 -> 속성테이블 열기 -> Hub Dist 오름차순 정리

‘ 거리 행렬’기능으로 앞서 산출한 결과와 거의 같은 표가 만들어졌다 . 다양한 방법으로 두 레이어 요소 간 거리 계산이 가능하다 .

Hub Dist오름차순 정리

Page 84: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기

도로명 주소를 지오코딩 하는 방법

1. 구글 퓨전테이블로 지도화 - 가장 간단한 방법 - 지오코딩해 시각화한 결과물은 퓨전테이블과 구글 지도상에서만 사용 가능 - 지오코딩한 좌표값을 별도로 파일로 추출해 GIS 전문 프로그램에서 2차 분석하기 어려움

2. Geocoder –Xr - 국내에서 개발된 무료 프로그램 - WGS84 경위도 좌표로 변환해 자동으로 계산해 준다 .

3. 오픈 API - API KEY 를 신청해 받은 Key 값을 해당 URL뒤에 붙이고 , 주소를 변수로 입력해 호출하면 바로 지오코 딩 된 결과물이 생성된다 . - 도로명 주소를 지오코딩하는 API 는 구글 API 와 다음 API 를 활용하는것을 추천한다 .

4. 오픈 리파인의 URL FETCH 와 GREL 의 파싱 구문을 활용 - 특정 URL 에서 필요한 부분을 호출해 긁어오는 fetching 기능을 이용 , URL 과 API KEY 를 붙여 사용하여 지오코딩된 결과값을 얻을수 있다 . - 많은 주소를 처리할때는 지오코딩 속도가 늦거나 중간에 작업이 끊기는 현상이 발생할 수도 있다 .

Page 85: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기 - 오픈 API 활용

1. 다음 오픈 API KEY 발급

다음 로그인 -> http://apis.map.daum.net/접속 -> 자신이 주요 사용할 홈페이지나 블로그의 URL 을 기입하고 신청 -> API Key 발급

Page 86: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기 - 오픈 API 활용

2. 오픈 리파인 실행

openrefine.org 접속 -> Download -> Window Kit 다운로드 -> 알집풀기 -> google refine 실행 -> 파일선택 -> 서울 소방서 119 안전센터 도로명 주소 선택 -> Next -> Create Project

Page 87: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기 - 오픈 API 활용

3. 도로명 주소 -> Edit Column -> Add Column by Fetching URLS

1)New column name 에 ‘지오코딩 JSON 파일’입력2) Expression 에 수식 입력

"http://apis.daum.net/local/geo/addr2coord?apikey=자신이 부여받은 key값&output=json&q="+escape(value,"url") 도로명 주소 셀에 있는 주소를 호출 URL 기호로 변환해 붙이라는 구문

Page 88: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기 - 오픈 API 활용

4. JSON 파일 형태로 지오코딩된 결과물이 생성됨

{"channel":{"result":"1","pageCount":"1","title":"Search Daum Open API","totalCount":"1","description":"Daum Open API search result","item":[{"newAd-dress":" 종암동 3-72","mountain":"","buildingAddress":" 성북소방서 ","lng":127.03174922307772,"placeName":"Not avaliable","mainAddress":"3","id":"N29798478","point_x":127.03174922307772,"point_y":37.60242370681891,"title":" 서울 성북구 종암로 27길 3","isNewAddress":"Y","point_wx":"507009","point_wy":"1139681","subAddress":"0","localName_1":" 서울 ","localName_2":" 성북구 ","lat":37.60242370681891,"localName_3":" 종암로 27길 "}],"lastBuildDate":"","link":"http://developers.daum.net/services","generator":"Daum Open API"}}

복잡해 보이는 마크업 언어 안에 경위도 좌표값으로 산출된 지오코딩 결과가 포함돼 있다 .

경도 값

위도값

Page 89: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기 - 오픈 API 활용

5. 지오코딩 JSON 파일 -> Edit Column -> Add Column based on this column

1)New column name 에 ‘경도’입력2) Expression 에 수식 입력

value.parseJson().channel["item"][0]["lng"] 1)New column name 에 ‘위도’입력2) Expression 에 수식 입력

value.parseJson().channel["item"][0]["lat"]

** value.parseJson() : 셀안에 JSON 언어에서 필요한 내용을 파싱하라는 문구 value.parseJson().channel : JSON 파일 내에서 channel 이란 오브젝트로 일단 들어가라 value.parseJson().channel["item"][0] :‘item’ 이 위치한 곳 뒤에 첫번째로 출현하는 내용을 선택해라 value.parseJson().channel["item"][0]["lat"]:‘lat’ 라고 쓰인 말이 나오고 바로 다음에 오는 경도 좌표값을 추출해라

Page 90: 6장 공간패턴을읽으면세상이보인다.최종

6.19) 다음 API 활용해 도로명 주소를 X.Y 좌표로 변환하기 - 오픈 API 활용

6. 위도와 경도 칼럼이 만들어짐

이 경위도 값은 각 소방서 주소를 WGS84 경위도 좌표체계롤 표시하는 좌표값이다 .

7. Export -> Excel 로 저장 -> ‘ 소방서 지오코딩 (CSV)’ 다른 이름 저장

Page 91: 6장 공간패턴을읽으면세상이보인다.최종

6.20 ) 데이터 지도 출력하기

1. 프로젝트 -> 구성기 관리자 1) 추가클릭2) 어린이집 _ 유독물사업장 입력 -> OK3) 보기클릭

2. 구성 가로 -> 세로 로 바꾼다( 한반도 지도처럼 가로보다 세로가 더 긴 경우 해당 )

Page 92: 6장 공간패턴을읽으면세상이보인다.최종

6.20 ) 데이터 지도 출력하기

3. 지도 확대 아이콘 클릭

4. 새 지도 추가 아이콘 클릭 지도가 위치할 영역을 지정한다 .

5. 아이템 콘텐츠 이동 아이콘 클릭 지도를 화면중앙으로 가져온다 .

6. Item properties 클릭 적당한 축척을 입력한다 . (축척란에 넣는 숫자가 작을수록 지도의 크기는 커진다 .)

Page 93: 6장 공간패턴을읽으면세상이보인다.최종

6.20 ) 데이터 지도 출력하기

7. 적당한 형식으로 출력한다 .

QGIS 로 생성된 지도 PDF 파일은 확대해도 화소가 깨지지 않는 백터 PDF 파일로 ,언론사 그래픽실에서 2차 가공하기 적당한 지도파일 이다 .

Page 94: 6장 공간패턴을읽으면세상이보인다.최종

마무리

GIS 는 도시계획과 국토이용 , 교통 , 환경 , 생태 , 기상 , 재해방지 , 자원개발 , 문화재관리 ,

부동산 , 범죄예측 , 비즈니스 마케팅 , 물류 관리 , 선거 전략 등 전방위로 그 적용범위를 넓혀가고 있다 .

우리 모두 , GIS 가 무궁무진한 변용이 가능한 데이터 저널리즘의 금맥 이라는 점을 잊지 말고 여러 분야에 걸쳐 연습과 응용을 해보자 .

데이터 저널리즘의 금맥 GIS

Page 95: 6장 공간패턴을읽으면세상이보인다.최종

THANK YOU