AI와 데이터 기초2 - 1일차
지도 시각화
GeoJson
- 위치 정보를 기반으로 지형을 표현하기 위해 설계된 개방형 공개 표준 형식
- 행정구역과 같은 경계선이나 경로를 표현하는데 활용
- 위치 정보가 (경도, 위도, (고도)) 순서로 저장됨
- 구글앱이나 OSM에서는 (위도, 경도) 순으로 저장됨
- 확장자 : *.json, *.geojson
- 웹 또는 모바일에서 데이터 시각화 가능
- 다른 포맷에 비해 위치 데이터 용량이 적음
단계 구분도
- 단계 구분도(Choropleth Map)
- 지역별간의 분포 차이 및 통계치를 색깔이나 그라이데이션으로 구분하여 표현한 지도
- 수치적인 데이터를 색상으로 단계적으로 표현한 지도
GeoJson과 단계구분도를 이용한 시각화 순서
- folium을 활용하여 Map 그리기
- GeoJson으로 행정구역 경계 확인하기
- Choropleth를 지도에 추가하기
GeoJson 파일 읽어오기
- GeoJson 파일을 읽어들이기 위한 라이브러리 선언
- GeoJson 파일 읽어오기
- 변수명=json.load(open('파일경로명', encoding='인코딩방식'))
- load() : JSON 문자열을 파이썬 객체로 변경
- open() : "파일경로명"의 파일을 읽을 수 있도록 열어줌
- 파일경로명 : GeoJson 또는 Json 파일의 경로명
- encoding='인코딩방식' : 한글이 깨져셔 보일 경우 인코딩 방식 설정
- 인코딩방식 : EUC-KR(2byte 한글인코딩), cp949(MS office), utf-8(유니코드 인코딩)
GeoJson으로 지도에 행정구역 경계선 추가하기
- GeoJson 좌표를 지도에 추가하기
- folium.GeoJson(Json 변수명).add_to(지도 변수명)
- GeoJson(Json변수명) : GeoJson 데이터에서 좌표들을 지도에 표현
지도에 단계구분도 추가하기
- 단계구분도를 지도에 추가하기
- folium.Choropleth(속성들).add_to(지도변수명)
- geo_data = "지도 데이터" : *.geojson, *.json의 지도 데이터
- data = "시각화 하고자 하는 데이터" : DataFrame 형식의 데이터
- columns = (열이름1, 열이름2)
- 열이름1 : 지도 데이터와 매핑할 문자열 데이터의 열이름으로 지도 데이터와 동일한 값이 있는 열이름
- 열이름2 : 색상으로 나누어질 수치 데이터의 열이름으로 시각화하고자 하는 열이름
- key_on = "매핑할 geo데이터" : geojson 데이터에서 시각화하고자 하는 데이터와 동일한 값
- fill_color = "색상" : 시각화에 사용될 색상
- fill_opacity = 실수 : 채워진 색상의 투명도 (0~1사이의 실수)
- line_weight = 정수 : 경계선 두께
- line_opacity = 실수 : 경계선 투명도(0~1사이의 실수)
- nan_fill_color = "식상" : 통계수치가 없는 구역의 색상
단계 구분도를 표현하기 위한 준비물
- 서울시 시군구별 자동차 등록대수에 대한 단계 구분도를 그리기 위한 준비물
- 서울시 지도
- 행정구역 경계를 나타내는 지도 데이터(GeoJson)
- 행정구역 코드, 행정 구역 이름(영문/국문), 경계의 경도와 위도 좌표
- 서울시군구.geojson
- 지도상에 단계별로 색상을 나타내기 위한 수치 데이터(공공데이터)
SHP 파일에서 원하는 지역을 Geojson으로 바꾸기
SHP와 Geojson의 차이점
- SHP(shape 파일)
- GIS(Geographical Information System)에서 사용
- 선, 점, 다각형(Polygon)으로 벡터의 형태로 지형을 표현하는 텍스트 파일
- 4개의 파일로 구성 : dbf, shp, shx, prj
- 지도 분석 혹은 특정 위치(공간) 편집으로 활용
- 국가공간정보포털 오픈마켓과 (주)지오서비스에서 제공
- GeoJson
- 위치 정보를 점으로 지형을 표현한 개방형 공개 표준 형식
- *.json 파일
- shp 파일에 비해 파일 사이즈가 작고 처리 속도가 빠름
- 웹 또는 모바일에서 데이터 시각화 가능
SHP를 Geojson으로 변경하는 순서
- SHP 파일 다운로드
- QGIS에서 원하는 지역만 추출하고 GeoJson으로 저장하기
- GeoJson 확인하기