서울시축제분석따라하기 - 교육자료 - 2018. 02. 13
목차 I. 서울시축제분석따라하기 1 II. 서울시축제분석따라하기 2
Ⅰ. 서울시축제분석따라하기 1 - R / 하둡교육 - 한기철이사
Ⅰ. 서울시축제분석따라하기 1 1. 빅데이터의이해와기술 2. 서울시축제분석개요및데이터 3. Data Science 4. Visualization
1. 빅데이터의이해와기술
빅데이터 3V ~ 5V 1. Big Data Volatility, Visualization 6
빅데이터에대한관심 1. Big Data Google Trends, May 2012 - April 2017, Worldwide "Big Data" vs "Machine Learning" vs "Artificial Intelligence" vs "Data Science" vs "Deep Learning" search terms. 7
하둡환경구성 배포본 1. Big Data 8
하드웨어의발전과한계 1. Big Data 5MB 1TB 이미지출처 : http://http://royal.pingdom.com/2010/02/18/amazing-facts-and-figures-about-the-evolution-of-hard-disk-drives/ 9
빅데이터의핵심기술 : Hadoop 1. Big Data 10
Hadoop! 1. Big Data 분산병렬처리 (MapReduce/Tez/Spark) = + 분산파일시스템 (HDFS/Hive) 11
분산처리개념 (1/3) 1. Big Data? 이미지출처 : http://bizforumkr.tistory.com/526 12
분산처리개념 (2/3) 1. Big Data Scale UP 이미지출처 : http://www.hd2.co.kr/ 13
분산처리개념 (2/3) 1. Big Data Scale OUT 이미지출처 : http://www.hd2.co.kr/ 14
Hadoop HDFS 분산저장 (1/2) 1. Big Data 200MB 파일 블록 1 64MB 블록 2 64MB 블록 3 64MB 블록 4 8MB 블록복제 ( 기본 3 개 ) Data Node 1 블록 1 블록 3 블록 4 Data Node 2 블록 2 블록 1 블록 3 Data Node 3 블록 3 블록 2 블록 4 Data Node 4 블록 1 블록 2 블록 4 15
Hadoop HDFS 분산저장 (2/2) 1. Big Data Name Node 메타데이터 파일명 디렉터리 크기 권한 데이터노드상태모니터링 하트비트 Data Node 1 블록 1 블록 3 블록 4 Data Node 2 블록 2 블록 1 블록 3 Data Node 3 블록 3 블록 2 블록 4 Secondary ( 보조 ) Name Node Data Node 4 블록 1 블록 2 블록 4 16
Hadoop 분산병렬처리 1. Big Data 100 원 10 원 500 원 100 원 3 10 원 1 100 원 50 원 500 원 100 원 500 원 2 50 원 1 Map Reduce 17
Hadoop + more = Hadoop Echo system 1. Big Data 18
Mapreduce( 자바언어 ) 대신새로운언어로 1. Big Data MapReduce 프로그램을만들어주는고수준언어를만들어보자 SQL( 유사 ) 구문에서 MapReduce 를자동생성하게해보자 Yahoo Facebook => => 19
익숙한 SQL 로! SQL on Hadoop SQL 문법으로코끼리 ( 하둡 ) 조련하기 1. Big Data 이미지출처 : https://www.slideshare.net/bigdatapump/sql-on-hadoop-49494494 20
Big Data 의주요소스 1. Big Data 21
Big Data 의주요소스 1. Big Data $16 million 5,000 개이상의센서 초당 10Gb 이상의데이터생성 22
Data 공룡의독식 1. Big Data 23
Data 솔루션시장 (1/3) 1. Big Data 24
Data 솔루션시장 (2/3) 1. Big Data 이미지출처 : http://www.infoworld.com/ 25
Data 솔루션시장 (3/3) 1. Big Data 이미지출처 : http://www.infoworld.com/ 26
NoSQL 과 NewSQL(2/2) 1. Big Data 이미지출처 : http://dataconomy.com/sql-vs-nosql-need-know/ 27
하둡을넘어서 SMACK Stack(1/2) 1. Big Data 이미지출처 : https://blog.thecodeteam.com/2017/07/17/data-analytics-using-container-persistence-smack/ 28
하둡을넘어서 SMACK Stack(2/2) 1. Big Data 이미지출처 : https://blog.thecodeteam.com/2017/07/17/data-analytics-using-container-persistence-smack/ 29
하둡환경구성 배포본 (1/2) 1. Big Data 업그레이드어떻게하나? Hadoop 7 일뒤 Hive 10 일뒤 Spark 1 달뒤 Sqoop 6 주뒤 Hive 만먼저업그레이드해도기존 Hadoop, Sqoop 이랑잘연동될려나? 테스트는어떻게하나? 30
2. 서울시축제분석개요및데이터
서울시축제분석개요 2. 분석개요 분석개요 서울시에서주관하는다양한축제에얼마나많은시민들이참여하는지그효과를분석하고자한다. 이번교육에서는서울광장, 청계광장, 광화문광장등서울각지에서동시에진행되는하이서울페스티벌 (2015) 축제에서가장인기있는지역은어디인지, 참여하는시민들의특성은어떻게되는지, 참가자가많은시간대는언제인지파악하고자한다. 1. 통신사유동인구데이터에서필요한데이터를추출하라! 분석미션 2. 하이서울페스티벌 (2015) 이열리는서울광장, 청계광장, 광화문광장중에서가장 인기있는장소는어디인가? 3. 남자와여자가가장좋아하는지역은각각어디인가? 4. 연령대별로가장좋아하는지역은각각어디인가? 5. 광장별로가장참가자가많은시간대는각각어디인가? 6. 시각화를통해데이터및분석결과를효과적으로설명하라! 32
대상데이터 2. 분석개요 데이터출처 통신사유동인구데이터 대상테이블 일자별성별 / 연령대별유동인구 일자별시간대별유동인구 데이터가많아서 월별로있음 테이블명설명기간레코드수 TBDW_FLPOP_INFLOW_AGE_DAY_201509 일자별성별 / 연령대별유동인구 2015 년 9 월약 10 억건 TBDW_FLPOP_INFLOW_AGE_DAY_201510 일자별성별 / 연령대별유동인구 2015 년 10 월약 10 억건 TBDW_FLPOP_INFLOW_TIME_DAY_201509 일자별시간대별유동인구 2015 년 9 월약 10 억건 TBDW_FLPOP_INFLOW_TIME_DAY_201510 일자별시간대별유동인구 2015 년 10 월약 10 억건 33
대상데이터 2. 분석개요 TBDW_FLPOP_INFLOW_AGE_DAY_{YYMM} 컬럼명자료형설명 STD_YM char(6) 년월 STD_YMD char(8) 년월일 BLOCK_CD char(20) 블럭코드 X_COORD double X좌표 Y_COORD double Y좌표 INFLOW_CD char(5) 유입지코드 MAN_FLOW_POP_CNT_0004G double 남자0~4세 MAN_FLOW_POP_CNT_0509G double 남자5~9세 MAN_FLOW_POP_CNT_1014G double 남자10~14세 MAN_FLOW_POP_CNT_1519G double 남자15~19세 MAN_FLOW_POP_CNT_2024G double 남자20~24세 MAN_FLOW_POP_CNT_2529G double 남자25~29세 MAN_FLOW_POP_CNT_3034G double 남자30~34세 MAN_FLOW_POP_CNT_3539G double 남자35~39세 MAN_FLOW_POP_CNT_4044G double 남자40~44세 MAN_FLOW_POP_CNT_4549G double 남자45~49세 MAN_FLOW_POP_CNT_5054G double 남자50~54세 MAN_FLOW_POP_CNT_5559G double 남자55~59세 MAN_FLOW_POP_CNT_6064G double 남자60~64세 MAN_FLOW_POP_CNT_6569G double 남자65~69세 MAN_FLOW_POP_CNT_70GU double 남자70세이상 컬럼명자료형설명 WMAN_FLOW_POP_CNT_0004G double 여자 0~4 세 WMAN_FLOW_POP_CNT_0509G double 여자 5~9 세 WMAN_FLOW_POP_CNT_1014G double 여자 10~14 세 WMAN_FLOW_POP_CNT_1519G double 여자 15~19 세 WMAN_FLOW_POP_CNT_2024G double 여자 20~24 세 WMAN_FLOW_POP_CNT_2529G double 여자 25~29 세 WMAN_FLOW_POP_CNT_3034G double 여자 30~34 세 WMAN_FLOW_POP_CNT_3539G double 여자 35~39 세 WMAN_FLOW_POP_CNT_4044G double 여자 40~44 세 WMAN_FLOW_POP_CNT_4549G double 여자 45~49 세 WMAN_FLOW_POP_CNT_5054G double 여자 50~54 세 WMAN_FLOW_POP_CNT_5559G double 여자 55~59 세 WMAN_FLOW_POP_CNT_6064G double 여자 60~64 세 WMAN_FLOW_POP_CNT_6570G double 여자 65~69 세 WMAN_FLOW_POP_CNT_70GU double 여자 70 세이상 일자별성별 / 연령대별유동인구 34
대상데이터 2. 분석개요 TBDW_FLPOP_INFLOW_TIME_DAY_{YYMM} 컬럼명자료형설명 STD_YM char(6) 년월 STD_YMD char(8) 년월일 BLOCK_CD char(20) 블럭코드 X_COORD double X좌표 Y_COORD double Y좌표 INFLOW_CD char(5) 유입지코드 AVG_00TMST double 시간대0시 ~1시미만 AVG_01TMST double 시간대1시 ~2시미만 AVG_02TMST double 시간대2시 ~3시미만 AVG_03TMST double 시간대3시 ~4시미만 AVG_04TMST double 시간대4시 ~5시미만 AVG_05TMST double 시간대5시 ~6시미만 AVG_06TMST double 시간대6시 ~7시미만 AVG_07TMST double 시간대7시 ~8시미만 AVG_08TMST double 시간대8시 ~9시미만 AVG_09TMST double 시간대9시 ~10시미만 AVG_10TMST double 시간대10시 ~11시미만 AVG_11TMST double 시간대11시 ~12시미만 컬럼명자료형설명 AVG_12TMST double 시간대 12 시 ~13 시미만 AVG_13TMST double 시간대 13 시 ~14 시미만 AVG_14TMST double 시간대 14 시 ~15 시미만 AVG_15TMST double 시간대 15 시 ~16 시미만 AVG_16TMST double 시간대 16 시 ~17 시미만 AVG_17TMST double 시간대 17 시 ~18 시미만 AVG_18TMST double 시간대 18 시 ~19 시미만 AVG_19TMST double 시간대 19 시 ~20 시미만 AVG_20TMST double 시간대 20 시 ~21 시미만 AVG_21TMST double 시간대 21 시 ~22 시미만 AVG_22TMST double 시간대 22 시 ~23 시미만 AVG_23TMST double 시간대 23 시 ~0 시미만 일자별시간대별유동인구 35
하이서울페스티벌 2015 2. 분석개요 [ 기간 ] 2015 년 10 월 1 일 ( 목 ) ~ 10 월 4 일 ( 일 ) [ 주요장소 ] 서울광장청계광장광화문광장 36
하이서울페스티벌 2015 2. 분석개요 [ 기간 ] 2015 년 10 월 1 일 ( 목 ) ~ 10 월 4 일 ( 일 ) 대상테이블 TBDW_FLPOP_INFLOW_AGE_DAY_201509 TBDW_FLPOP_INFLOW_AGE_DAY_201510 TBDW_FLPOP_INFLOW_TIME_DAY_201509 TBDW_FLPOP_INFLOW_TIME_DAY_201510 축제전과후의유동인구차이를알아야하기때문에 2015 년 9 월과 10 월데이터가필요함 37
하이서울페스티벌 2015 2. 분석개요 [ 주요장소 ] 서울광장청계광장광화문광장 광장의위치는 ( X 좌표, Y 좌표 ) 를기준으로알수있음 컬럼명자료형설명 STD_YM char(6) 년월 STD_YMD char(8) 년월일 BLOCK_CD char(20) 블럭코드 X_COORD double X좌표 Y_COORD double Y좌표 1. 서울광장 953847.159 < x < 953979.263 1951995.048 < y < 1951873.395 2. 청계광장 953850.777 < x < 953964.401 1952348.615 < y < 1952314.464 3. 광화문광장 953777.369 < x < 953828.436 1953008.333 < y < 1952452.9830 38
데이터추출하기 2. 분석개요 프로그램하둡 ( 웹브라우저 ) 메뉴 Hue 에로그인후오른쪽위에있는 [ 파일브라우저 ] HDFS 경로 /user/chjang1204/ [NOTE] 강사계정이며, 모든사람에게읽기권한이있음 데이터파일 HiveQL 파일 서울광장, 청계광장, 광화문광장별로각각 4 개의데이터파일 Hivequery_Festival.txt - Hive 에서실행한 SQL 스크립트파일 [ 내려받기 ] VDI 의문서폴더에각각저장하세요! 39
데이터추출하기 2. 분석개요 파일명광장구분설명기간 Hive_seoul_age_09.csv 서울광장 일자별성별 / 연령대별유동인구 2015년 9월 Hive_seoul_age_10.csv 서울광장 일자별성별 / 연령대별유동인구 2015년 10월 Hive_seoul_time_09.csv 서울광장 일자별시간대별유동인구 2015년 9월 Hive_seoul_time_10.csv 서울광장 일자별시간대별유동인구 2015년 10월 Hive_chung_age_09.csv 청계광장 일자별성별 / 연령대별유동인구 2015년 9월 Hive_chung_age_10.csv 청계광장 일자별성별 / 연령대별유동인구 2015년 10월 Hive_chung_time_09.csv 청계광장 일자별시간대별유동인구 2015년 9월 Hive_chung_time_10.csv 청계광장 일자별시간대별유동인구 2015년 10월 Hive_kwang_age_09.csv 광화문광장 일자별성별 / 연령대별유동인구 2015년 9월 Hive_kwang_age_10.csv 광화문광장 일자별성별 / 연령대별유동인구 2015년 10월 Hive_kwang_time_09.csv 광화문광장 일자별시간대별유동인구 2015년 9월 Hive_kwang_time_10.csv 광화문광장 일자별시간대별유동인구 2015년 10월 40
파이썬을활용한데이터탐색및정제 2. 분석개요 프로그램 Anaconda 용 Spyder IDE 메뉴 VDI 에설치된 Anaconda 의 Spyder IDE 환경에서파이썬코드를작성 데이터파일 데이터파일불러오기 Hive 에서추출한서울광장, 청계광장, 광화문광장별로각각 4 개의데이터파일 파이썬에서 DataFrame 구조를사용할수있게해주는 Pandas 라이브러리의불러오기기능활용 데이터탐색 DataFrame 형태로불러온데이터를탐색 데이터집계 DataFrame 이제공하는집계함수사용 데이터정제 DataFrame 으로부터집계를수행하고불필요한데이터를삭제한후텍스트파일로저장 41
R 을활용한데이터분석 2. 분석개요 프로그램 R Studio 메뉴 VDI 에설치된 Rstudio 사용 데이터파일 데이터파일불러오기 Python 에서정제한서울광장, 청계광장, 광화문광장별로각각 4 개의데이터파일 R 의불러오기 (load) 함수를사용한텍스트파일불러오기 데이터탐색 R 의 DataFrame 형태로불러온데이터를탐색 데이터집계 R 의집계함수사용 데이터정제 시각화분석 크로스테이블형태 (Pivot) 로저장된데이터를 R의 reshape, tidyr 등패키지를이용하여정규화된형태로 Unpivot 정규화된데이터에기반하여축제지역의평일 축제기간유동인구를 R의 ggplot2 패키지를이용해시각화하여비교축제일과평일의시간대별유동인구를 R의 ggplot2 패키지를이용해시각화하여비교 42
3. Data Science
Data 소비 / 활용의변화 3. Data Science Reporting pushes information, and analysis pulls insights. 출처 : Web Analytics Action Hero. Brent Dykes, 2014, Adobe Press 44
Data Science, Data Scientist 3. Data Science 출처 : https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century 45
DATA Scientist -Requirements 3. Data Science 46
DATA Scientist Super Man? Super Woman? 3. Data Science 이미지출처 : http://www.marketingdistillery.com/wp-content/uploads/2014/08 47
분업과협업 3. Data Science 이미지출처 : https://www.eduonix.com/blog/bigdata-and-hadoop/7-predictive-analysis-tips-for-hadoop/ 48
Data Scientist 가공부해야할것들 3. Data Science 이미지출처 : http://www.exploringdatascience.com/the-data-science-clock/ 49
What skills should data scientists have in 2016? 3. Data Science 이미지출처 : http://www.datasciencecentral.com/profiles/blogs/what-skills-should-data-scientists-have-in-2016 50
in 2014 3. Data Science 이미지출처 : http://www.datasciencecentral.com/profiles/blogs/popular-software-skills-in-data-science-job-postings 51
Data Science 업무의구분 3. Data Science 52
Data 분석프로세스 산업표준 (1/3) 3. Data Science - 간략하게 데이터수집 (Crawl, Scrap) 저장 분석 - 전문적으로 CRISP-DM (Cross Industry Standard for Data Mining) Business Understanding Data Understanding Data Preparation Modeling Evaluation Deployment * IBM ASUM-DM 등으로개량 (Analytics Solutions Unified Method) 53
Data 분석프로세스 산업표준 (2/3) 3. Data Science - 기타 SEMMA (Sample, Explorer, Modify, Model, Access) KDD (Knowledge Discovery in Database) : selection, Processing, Transformation, Data Mining, Interpretation/evaluation 스토리텔링 54
Data 분석프로세스 R(1/2) 3. Data Science 이미지출처 : http://jules32.github.io/2016-07-12-oxford/overview/ 55
Data 분석프로세스 R(2/2) 3. Data Science 이미지출처 : http://shop.oreilly.com/product/0636920034407.do 56
Data 분석프로세스 Python 3. Data Science 이미지출처 : https://www.slideshare.net/gabrielspmoreira/python-for-data-science-48355555 57
4. Visualization
시각화 (Visualization)? 정의 4. Visualization 데이터시각화 (data visualization) 는데이터분석결과를쉽게이해할수있도록시각적으로표현하고전달되는과정을말한다. 데이터시각화의목적은도표 (graph) 라는수단을통해정보를명확하고효과적으로전달하는것이다.( 위키백과 ) 연관개념 - 정보시각화 (information visualization) 는보통대규모데이터를색채, 통계 ( 도표, 그래프등 ), 이미지등을활용해요약적으로표현하는것을의미한다. - 과학적시각화 (scientific visualization) 는실험결과나시뮬레이션데이터등복잡한데이터를쉽게탐색할수있도록 3 차원그래픽기술등을활용하여시각화하는기술이다. - 인포그래픽 (information graphics) 는인포메이션과그래픽의합성어로, 복잡한수치나글로표현되어있는다량의정보를차트, 지도, 다이어그램, 로고, 일러스트레이션등을활용하여한눈에파악할수있도록하는디자인이다. 59
데이터시각화란 (1/3) 직관적이지않고이해하기어려운데이터를 4. Visualization 60
데이터시각화란 (2/3) 4. Visualization 직관적으로이해가능한도표형태로보여준다. 이미지출처 : https://www.codeproject.com/articles/1094405/powerful-iis-apache-monitoring-dashboard-using 61
데이터시각화란 (3/3) 4. Visualization 데이터시각화는데이터세트들을축소해직관적으로이해할수있게해준다. 직관 ( 直觀 ) 판단 추론등을개재시키지않고, 대상을직접적으로인식하는일. 62
시각화의역사 (1/3) 4. Visualization 18 세기 William Playfair (1759-1823) 막대, 꺾은선, 원그래프 63
시각화의역사 (2/3) 4. Visualization 19 세기나이팅게일맨드라미 (Coxcomb) 그래프 64
시각화의역사 (2/3) Charles Minard 의모스크바침공다이어그램 ( 지리적, 연대기적표기 ) 4. Visualization 이미지출처 : http://www.martingrandjean.ch/historical-data-visualization-minard-map/ 65
인포그래픽스 Henry Charles Beck 의런던지하철노선도 4. Visualization 1908 1931 이미지출처 : https://datavizblog.com/2013/05/06/dataviz-history-henry-beck-and-the-london-underground-tube-map-1931/ 66
빅데이터시각화 (1/3) 4. Visualization 이미지출처 : http://schedule.sxsw.com/2012/events/event_iap10546 67
빅데이터시각화 (3/3) 4. Visualization Visualization of themes of novels nominated for the Man Booker Prize (by Johanna Kamradt and Christian Tate) / 이미지출처 : http://www.litcharts.com/blog/how-we-created-data-visualizations-of-200-books/ 68
빅데이터시각화 (1/3) 4. Visualization 이미지출처 : http://www.synergicpartners.com/en/what-we-do/disciplines/data-visualization/ 69
일상적데이터관찰 / 분석 -> 대시보드활용 4. Visualization 70
대시보드 - 직관성 + 심미적요소 4. Visualization 이미지출처 : http://newsplus.chosun.com/site/data/html_dir/2010/06/14/2010061401685.html 71
대시보드시각화사례 (1/2) 4. Visualization 포켓몬고 Power BI 리포트 http://aka.ms/pokemonbi 72
대시보드시각화사례 (2/2) 4. Visualization 스테판커리슛팅 Power BI 보고서 http://aka.ms/stephencurry 73
시각화프로세스 (1/2) 4. Visualization ETRI 의시각화절차의단계분류 단계 정보조직화단계정보시각화단계 설명 사용자의정보인지에관여 혼돈의상태로존재하는데이터를분류하고배열하고조직화하여질서를부여 사용자의정보지각에관여 보다효율적으로정보전달을위해시각, 청각, 촉각, 미각, 후각의감각기관에최적의자극을제시하는방법제시 정보와사용자간의상호작용측면의사용자경험을디자인 상호작용 단계 정보의인지적요인뿐만아니라지각적요인을함께활용 정보시각화단계와밀접하게연동되면서동시에입력기술의 특성도함께고려 74
시각화프로세스 (1/2) 4. Visualization Leland Wilkinson 의데이터세트시각화 단계 설명 사양 (Specification) 데이터세트의어떤변수를 어떤표현으로시각화할지결정 조립 (Assembly) 축, 라벨, 범례를종합하여 시각화표현을어떻게조립할지결정 표시 (Display) 종이, 프로젝터, 동영상등 어떤장치, 미디어로보여줄지를결정 75
시각화유의사항 4. Visualization 유의해야할그래프 - 원그래프 ( 파이차트 ) : 부채꼴간의면적비교가쉽지않을수있다. 복수의원그래프간의비교도원의반경의차이를두어도면적의차이가반경의차이와다르다 ( 길이 - 면적차이 ) - 3D 그래프 : 원근감에의해면적정보등이외곡되어인식될수있다. - 그림그래프 : 인물, 사물등의그림을막대그래프등의표현요소로사용할경우그림의길이차가면적차로인식되지않도록동일단위의그림을적층하여표현한다. 기타비교대상이되는수치외의폭, 간격, 단위등의수치가다르지않아야한다. 눈금의생략은필요시에만적용한다. 76
End of Documents
Ⅱ. 서울시축제분석따라하기 2 - QGIS 교육 - 최승호연구원
Ⅱ. 서울시축제분석따라하기 2 1. 선행지식 2. QGIS 기초 3. 분석따라하기 ( 서울시축제분석 )
1. 선행지식 1) Geographic Information System 2) 좌표계
1) Geographic Information System 1-1. 지리학 1. 선행지식 지리학 ( 地理學, Geography) 기하학 ( 幾何學, Geometry) 인간이사는지표상의지역적성격을밝히는학문 자연과학과인문사회과학의개념을모두적용하는학문 선과면, 도형등의모양, 크기, 상대적인 위치, 공간적인 성질에 대해 연구하는 수학의한분야 Geography Geometry Geo ( 지구, 땅 ) Graphy ( 기술하다 ) Geo ( 지구, 땅 ) Metry ( 측정하다 ) 출처 : 네이버학문명백과 81
1) Geographic Information System 1-2. 정의 1. 선행지식 Geographic Information System (GIS, 지리정보체계 ) 지리공간적으로참조가능한모든형태의정보를효과적으로수집, 저장, 갱신, 조정, 분석, 표현할수있도록설계된컴퓨터의 HW 와 SW 및지리적자료, 인적자원의통합체 출처 : 위키피디아 People Data 관심영역설정 분석방법론 결론도출 GIS 지역지도 건물정보 교통정보 유동인구정보 Software Hardware ArcGIS QGIS 입출력장치 데이터저장 (File System, Database) 데이터처리 82
2) 좌표계 2-1. 용어 1. 선행지식 1. 적도 (equator) - 지구의자전축과수직으로만나고지구의중심을지나는평면이지구의표면과만나는선. 2. 자오선 (meridian) - 관측자의천정과지구의북극및남극을지나는평면이지구의표면과만나는선. 3. 본초자오선 (prime meridian) - 1884 년기준, 영국그리니치천문대를지나는자오선. 현재경도의원점 (0 ). 4. 좌표계 (coordinates system) - 직선, 평면또는공간내에서점의위치를나타내기위한시스템. ( 직교좌표계, 극좌표계등 ) 5. 지오이드 (geoid) - 중력방향에직각인등중력포텐셜면 ( 작용하는중력이모든곳에서일정한포텐셜을갖는면 ) 중평균해수면에일치하는것. - -;;; 6. 지구타원체 (earth ellipsoid) - 지구의모양과가깝게나타낸회전타원체 출처 : www.biz-gis.com 출처 : Zum 학습백과 83
2) 좌표계 2-2. 지리좌표계 1. 선행지식 지리좌표계 (Geographic Coordinate System, GCS) - 지구상의한점을위도 (latitude) 와경도 (longitude) 의조합으로나타내는좌표체계. ( 구면좌표계 ) 지구타원체이름 장반경 (a) (m) 단반경 (b) (m) 편평율 (a-b) / a 사용국가 Airy (1830) 6,377,563 6,356,256 1 / 299 영국 Everest (1830) 6,377,276 6,356,075 1 / 301 인도, 미얀마, 파키스탄, 대만 Bessel (1841) 6,377,397 6,356,078 1 / 299 일본, 독일, 한국 GRS80 (1980) 6,378,137 6,356,752 1 / 298 국제기준 WGS84(1984) 6,378,137 6,356,752 1 / 298 세계적으로사용됨 (GPS) 출처 : www.biz-gis.com 데이텀 (Datum) : 타원체의기준위치 측지계 : 타원체 + 데이텀 84
2) 좌표계 2-3. 투영좌표계 1. 선행지식 투영좌표계 (Projected Coordinate System, PCS) - 3 차원의지구를 2 차원의지도로투영하여제작한좌표체계. - 형태, 면적, 거리, 방향의왜곡이발생함.* 따라서각투영법들은 1~2 가지왜곡을최소화하도록정의. - 메르카토르도법 : 네덜란드의지리학자 Gerhardus Mercator(1512~1594) 가 1595 년에고안한방법. * 한곡면을다른곡면위에펼칠수있다면, 대응하는각점마다가우스곡률이일치한다. 투영법의종류 메르카토르도법으로그린세계지도 출처 : visualdictionaryonline 85
2) 좌표계 2-3. 투영좌표계 1. 선행지식 메르카토르도법의왜곡 - 출처 : https://www.youtube.com/watch?v=zvpfiheo0bk&t=14s - 동영상속비교사이트 : https://thetruesize.com 86
2) 좌표계 2-3. 투영좌표계 1. 선행지식 횡축메르카토르도법 (Transverse Mercator, TM) - 적도에서멀어질수록왜곡이크게나타나는메르카토르도법의대안으로나타난도법. - 원통을자오선방향으로감싸서투영시킨도법. - 전세계표준으로 UTM(Universal Transverse Mercator) 좌표가존재 횡축메르카토르도법의원리 본초자오선을기준으로 TM 도법을적용한세계지도 UTM 을적용한세계지도 출처 : https://upload.wikimedia.org/wikipedia/commons/1/15/merctransph.png 87
2) 좌표계 2-3. 투영좌표계 1. 선행지식 기준원점 - 우리나라는 4 개의기준원점을사용. (KATEC 좌표의경우, 단일원점을사용 ) - 기준원점을 (0, 0) 으로표현하면좌표계의제 2, 3, 4 사분면이음수로표현되기때문에그것을막기위하여 일정수치를가산해서사용함. 원점경도위도적용구역 서부원점 125E 38N 124E ~ 126E 중부원점 127E 38N 126E ~ 128E 동부원점 129E 38N 128E ~ 130E 동해 ( 울릉 ) 원점 131E 38N 130E ~ 132E KATEC 의원점은 127.5E, 38N 이고우리나라전체에적용 높이의기준은인천만의평균해수면 (26.6871m). 인천광역시남구용현동 253 번지 ( 인하공업전문대학내원점표석수정판의영눈금선중앙점 ) 다음지도 88
2) 좌표계 2-4. 좌표계의종류 1. 선행지식 타원체, 데이텀, 투영방법, 원점위치, 가산수치에따라다양한좌표계가존재. 하단표는국내에서사용중인좌표계의종류. Category Name Spheroid EPSG code Projection Longitude Of Origin Latitude Of Origin False Easting False Northing 비고 지리좌표계 Bessel1841 Bessel EPSG:4004 - - - - - GRS80 GRS80 EPSG:4737 - - - - - WGS84 WGS84 EPSG:4019 - - - - - 경위도좌표 UTM52N WGS84 EPSG:32652 UTM 129E 0 500,000 0 Zone 52 UTM51N WGS84 EPSG:32651 UTM 123E 0 500,000 0 Zone 51 서부원점 (Bessel) Bessel EPSG:2096 TM 125E 38N 200,000 500,000 투영좌표계 중부원점 (Bessel) Bessel EPSG:2097 TM 127E 38N 200,000 500,000 동부원점 (Bessel) Bessel EPSG:2098 TM 129E 38N 200,000 500,000 보정된서부원점 (Bessel) Bessel EPSG:5173 TM 125.00289E 38N 200,000 500,000 UTM-K(Bessel), 새주소지도 Bessel EPSG:5178 TM 127.5E 38N 1,000,000 2,000,000 UTM-K(GRS80), 네이버지도 GRS80 EPSG:5179 TM 127.5E 38N 1,000,000 2,000,000 서부원점 (GRS80) GRS80 EPSG:5180 TM 125E 38N 200,000 500,000 중부원점 (GRS80), 다음지도 GRS80 EPSG:5181 TM 127E 38N 200,000 500,000 서부원점 (GRS80) GRS80 EPSG:5185 TM 125E 38N 200,000 600,000 중부원점 (GRS80) GRS80 EPSG:5186 TM 127E 38N 200,000 600,000 보정안된오래된지리원표준 오래된지리원표준 KATEC ( 단일원점 ) 타원체바꾼지리원표준 2002 년이후국토지리정보원표준 출처 : http://www.osgeo.kr/17 89
2. QGIS 기초 1) 소개 2) QGIS 시작
1) 소개 1-1. 개요 2. QGIS 기초 QGIS (Quantum GIS) 무료오픈소스지리정보시스템 (GPL) ESRI 사 (2015 년연매출 14 억 5 천만달러 ) 의 ArcMap 과유사한기능제공 MS Windows, Mac OSX, Linux, Unix 지원 C++ 과 QT 프레임워크로개발 기본제공함수 + 플러그인지원 공식홈페이지 : https://qis.org QGIS 2.18 문서 : https://docs.qgis.org/2.18/ko/docs 91
1) 소개 1-2. 주요기능 2. QGIS 기초 QGIS 는핵심기능과플러그인의형태로제공되는많은 GIS 공통기능을제공함. 데이터보기 - Vector data (PostGIS, SpatialLite, MSSQL Spatial, Oracle Spatial 등공간 DB 데이터, ESRI shape 파일 ) - Raster data (GeoTIFF, ERDAS IMG, ArcInfo ASCII GRID, JPEG, PNG 등 ) - GRASS 데이터베이스가지원하는 GRASS raster & vector data - OGC 웹서비스로서비스되는온라인공간데이터 데이터탐색및지도제작 - QGIS 브라우저, 객체식별 / 선택, 속성편집 / 보기 / 검색등 데이터생성, 편집, 관리및저장 - shape 파일및 GRASS 벡터레이어생성, 편집기능등 데이터분석 - 벡터분석, 샘플링, 공간처리 (geoprocessing), 도형및데이터베이스관리 온라인맵발행 - WMS, WMTS, WMS-C 또는 WFS / WFS-T 클라이언트및 WMS, WCS 또는 WFS 서버로사용 플러그인을통한기능확장 Python console - 사용자가직접스크립트를작성하여새로운기능제작및활용가능 92
1) 소개 1-3. 데이터포맷 2. QGIS 기초 QGIS는다양한데이터포맷을지원 이미지를표현하는방법으로벡터 (Vector) 와래스터 (Raster) 가있음 특징 Vector 이미지를표현하기위해 순서있는 점들의좌표를저장해서수학적함수를이용하여표현하는방식 Raster 이미지를직사각형의격자로나누어각셀마다색 (RGB) 을부여하는방식 파일형식 SVG, ESRI shape 등 bmp, jpeg 등 프로그램 Illustrator, CAD, Coreldraw PhotoShop, Photo Scape, 그림판 표현형태 점 (point), 선 (line), 다각형 (polygon) 모든형태 장점 점의좌표만저장하면되기때문에용량이작음 이미지를확대해도이미지가손상되지않음 여러가지형태의데이터를함께표현할수있음 연속적인색의변화를자연스럽게표현할수있음 단점 한파일당한가지형태만표현가능 연속적인색의변화를표현하기어려움 이미지를구성하는객체가다양하고많아질수록처리시간이오래걸림 각픽셀별로컬러정보를모두저장해야하기때문에용량이큼 이미지를확대할경우화면이계단식으로표현됨 벡터와래스터의차이 출처 : 위키피디아 93
2) QGIS 시작 2-1. 화면구성 2. QGIS 기초 QGIS의 GUI는메뉴, 툴바, 브라우저패널, 레이어패널, 맵캔버스, 상태바등으로구성 사용하는기능에따라새로운패널이나타나기도함 1 2 4 1 메뉴, 툴바, 사이드툴바 - QGIS 에서제공하는모든기능을보여주며자주사용하는기능은툴바로접근 2 브라우저패널 - 사용자의데이터위치를탐색 3 레이어패널 - 현재로드되어있는레이어를확인 4 맵캔버스 - 레이어패널에서선택된데이터를맵으로표현하는곳 3 5 상태바 - 현재맵에관련된정보, 축척, 좌표등을확인 5 94
2) QGIS 시작 2-2. SHP 파일로드 2. QGIS 기초 1. 메뉴의 [ 레이어 ] > [ 레이어추가 ] > [ 벡터레이어추가 ] 클릭 (or 사이드바의클릭 ) 2. 소스유형 ( 파일 ) 을선택하고파일에맞는인코딩설정후탐색버튼을눌러원하는 shp 파일을선택한뒤열기클릭 95
2) QGIS 시작 2-2. SHP 파일로드 2. QGIS 기초 3. Layers Panel 에항목이추가되고맵캔버스에해당파일의이미지가나타남 Layers Panel 이라는이름에서추측할수있듯이, 위의과정을여러번반복하면여러개의파일을로드할수있고각레이어는중첩되어화면에나타남. ( 패널에서상단에있는것이위에놓여짐 ) 96
2) QGIS 시작 2-2. SHP 파일로드 2. QGIS 기초 4.. CRS(Coordinate Reference System. 좌표계 ) 설정이필요한경우, [ 레이어우클릭 ] > [Set Layer CRS] > [ 좌표계선택 ] > [ 확인 ] 을클릭하면원하는좌표계로변경할수있음 QGIS 에서는레이어별로좌표계가다르게설정되면분석함수가제대로동작하지않기때문에모든레이어의좌표계를동일하게설정해야함. 97
2) QGIS 시작 2-2. SHP 파일로드 2. QGIS 기초 5. 데이터의속성값확인 - [ 레이어우클릭 ] > [ 속성테이블열기 ] 클릭. Shp 파일의대상 ( 점, 선, 다각형 ) 별속성값을확인가능 98
2) QGIS 시작 2-3. CSV 파일로드 2. QGIS 기초 1. 메뉴의 [ 레이어 ] > [ 레이어추가 ] > [ 구분자로분리된텍스트레이어를추가 ] 클릭 (or 사이드바의클릭 ) 99
2) QGIS 시작 2-3. CSV 파일로드 2. QGIS 기초 2. 로드할파일의설정 1) [ 탐색 ] 버튼을눌러불러올파일을선택 2) 파일에맞는 [ 인코딩 ] 설정 3) 파일포맷을선택. CSV(Comma Separated Values) 는콤마로구분되어진값이기때문에다른구분자 ( vertical bar, tab, semicolon 등다른구분자로되어있는파일은 [ 구분자정의 ] 를선택해서설정 4) 불러올파일의공간정보보유여부및공간정보컬럼을 [ 지오메트리정의 ] 를이용하여정의 5) 설정을완료한후, [ 확인 ] 클릭 100
2) QGIS 시작 2-4. Layer 저장 2. QGIS 기초 1. Layers Panel 에서저장하고자하는레이어를 [ 우클릭 ] > [ 다른이름으로저장 ] 2. 형식을 ESRI Shape파일로설정 3. [ 탐색 ] 을클릭후, 파일의저장위치및파일명설정 4. 좌표계부분에서를클릭하여원하는좌표계를설정 ( 기존파일의좌표계와상관없이새좌표계로저장됨 ) 5. [ 확인 ] 클릭 101
2) QGIS 시작 2-4. Layer 저장 2. QGIS 기초 6. 저장된파일살펴보기 shp : 점들의위치정보를가지고있는파일 dbf : 속성값을가지고있는파일. Excel 에서확인가능. shx : 각점들의위치색인 (index) 파일 필수 기본생성 prj : 해당파일의좌표계정보를가지고있는파일 (ESRI 소프트웨어호환 ) qpj : QGIS 에서사용하는좌표계정보파일. prj 파일과동시에있는경우 qpj 파일을우선참조. qix : 랜더링성능을향상시키기위한공간색인 (spatial index) 파일. ( [ 레이어명우클릭 ] > [ 속성 ] > [ 일반정보 ] > [ 공간적지표생성 ] ) 102
2) QGIS 시작 2-5. 알아두면좋은내용 2. QGIS 기초 컴퓨터의구조 중앙처리장치 (CPU) 주기억장치 (Memory, RAM) 보조기억장치 (HDD, SSD, CD 등 ) Shp VS CSV Shp 파일은.shp 파일에공간정보를가지고있음. (.dbf 에있는공간정보속성값은단지 속성 임 ) CSV 파일은컬럼에공간정보를포함하고있어야표현이가능함 WKT (Well-known text) 텍스트로써공간정보를표현하기위한방법 POINT (30 10), LINESTRING (30 10, 10 30, 40 40), POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) CSV같이정형화된텍스트데이터의경우, 1개의컬럼에 WKT를이용하여공간정보를표현할수있음 103
3. 사례따라하기 1) 분석절차 2) 유동인구분석 3) 시각화
1) 분석절차 3. 사례따라하기 사례따라하기 는서울시에서진행한축제분석을기반으로진행 분석의목표는 하이서울페스트벌 이진행된시청앞광장에서 2015 년 10 월 3 일 20 시 ~21 시사이에유동인구의분포를확인하는것으로정의 데이터준비 1 데이터준비 유동인구데이터 데이터로드 축제지역 shp 블록영역 shp 2 데이터확인 유동인구, 지역 데이터확인 유동인구분포 시각화 (heat map) 3 데이터분석및시각화 축제영역 블록추출 (clip) 블록별 유동인구집계 블록별유동인구 시각화 (graduated) 105
2) 유동인구분석 2-1. 데이터준비및로드 3. 사례따라하기 분석에앞서필요한데이터를다운로드함 VDI 의 FIleZilla 를이용하여파일다운로드. - Host : 98.44.10.50, User : bigdatadb, Passwd : bigdatadb1! 1 유동인구집계데이터 (csv), 2 축제지역데이터 (shp) 으로구성 다운로드한데이터를 QGIS 레이어패널에로드 1 유동인구 - 2015 년 12 월 3 일 17 시 ~21 시서울지역유동인구 2 축제지역 - 서울시청앞광장 106
2) 유동인구분석 2-2. 데이터확인 3. 사례따라하기 [ 레이어명우클릭 ] > [ 레이어영역으로확대 ] 를클릭하여각레이어의위치확인 [ 레이어명우클릭 ] > [ 속성테이블열기 ] 를클릭하여각데이터의속성값을확인 107
2) 유동인구분석 2-2. 데이터분석 3. 사례따라하기 1. 축제영향영역설정 - 서울시청앞광장에서 50m 영역 Buffer 설정 - [ 공간처리툴박스 ] > [ buffer 검색 ] > [ Fixed distance buffer 클릭 ] - 입력레이어에공원 shp 선택, 거리 50m 설정, 세그먼트 20 설정, Run 클릭 108
2) 유동인구분석 2-2. 데이터분석 3. 사례따라하기 2. 관심영역데이터추출 - 유동인구가집계된포인트들중, 관심영역의데이터만추출 - [ 공간처리툴박스 ] > [ clip 검색 ] > [ 자르기 클릭 ] - 입력레이어에 유동인구 레이어선택, 레이어클리핑에 버퍼 레이어설정, Run 클릭 109
2) 유동인구분석 2-2. 데이터분석 3. 사례따라하기 3. 데이터영역분할 - 축제영향영역을유동인구포인트별로분할 - [ 공간처리툴박스 ] > [ voronoi 검색 ] > [ Voronoi polygons 클릭 ] - 입력레이어에 클리핑됨 레이어선택, 버퍼영역에 50 설정, Run 클릭 110
2) 유동인구분석 2-2. 데이터분석 3. 사례따라하기 4. 관심영역다이어그램추출 - Voronoi Diagram 에서관심영역인축제영향영역만추출 - [ 공간처리툴박스 ] > [ clip 검색 ] > [ 자르기 클릭 ] - 입력레이어에 Voronoi polygons 레이어선택, 레이어클리핑에 버퍼 레이어설정, Run 클릭 111
3) 시각화 1. 데이터시각화 - 이전과정에서나타난결과레이어를이용하여공원영역을분할하여영역별유동인구를시각화 - 결과레이어 [ 우클릭 ] > [ 속성 ] > [ 스타일 ] - 심볼 ( 단계구분 ), 컬럼 (avg_20tmst), 색상표 (Orenges), 모드 ( 등간격 ) 설정후 분류 클릭. 3. 사례따라하기 112
End of Documents