이번 포스팅에서는 python에서 지도를 컨트롤 하는 방법에 대해서 학습해 봅시다.
갑자기 왠 지도? 라고 하실분도 계시겠지만, 데이터 분석을 하다보면 지역을 특정하여 분포현황을 구분할 때
지도를 통해 데이터를 시각화 하면 활용하기 편리하기 때문에 사용합니다.
(결과물도 그럴싸하게 나와서 프로젝트 같은데 쓰면 좋아요...)
지도를 활용하기 위해서는 알아야 하는 라이브러리
- Folium
- Geojson
이 있습니다.
Folium
- 지도 시각화 라이브러리
- Leaflet.js라는 자바스크립트 기반의 지도 라이브러리를 파이썬에서 쉽게 사용할 수 있도록 래핑한 도구
- pip install folium
- 생성된 지도를 .html 파일로 저장하여 웹 브라우저에서 열 수 있습니다.
Folium — Folium 0.19.4 documentation
Folium builds on the data wrangling strengths of the Python ecosystem and the mapping strengths of the Leaflet.js library. Manipulate your data in Python, then visualize it in a Leaflet map via Folium. Concepts Folium makes it easy to visualize data that
python-visualization.github.io
- Map 클래스 - location:[경도, 위도], zoom_start : 화면 확대/축소
지도 스타일
- OpenStreetMap : 기본값으로 제공되는 타일셋
- CartoDB Positron : 밝은 회색 배경에 심플한 디자인의 지도
- CartoDB Dark_Matter : 어두운 배경에 도시와 도로를 강조하는 지도
마커 표시
- Icon 클래스 - icon : 아이콘, color : 색상 (예: home, star, flag, bookmark, arrow-down 등)
- Circle Marker 클래스 - 주변 영역 표시
실습. 서울 지하철역 5개를 선정하여 마커로 표시하세요
- 데이터 프레임으로 만들기
- subway.csv 파일로 만들기
GeoJson
- GeoJSON은 지리적 데이터를 저장하고 교환하기 위해 사용되는 Json
- 위도와 경도 좌표를 통해 점, 선, 다각혀과 같은 지리적 객체를 표현할 수 있음
- pip install geojson
geojson.io | powered by Mapbox
A quick, simple tool for creating, viewing, and sharing spatial data.
geojson.io
그럼 folium과 geojson 둘다 지도를 나타내느 라이브러리 인데 무엇을 써야 하냐?
이런 질문!!!!
개발자들은 항상 이렇게 말합니다. 상황에 맞게 알아서 딱 그리고 편한거 써
네 죄송하지만 저게 답입니다. 어떨때는 또 같이 쓰기 때문이죠
그래서 코드를 다루는 직업은 항상 공부를하고 직접 타이핑을 해보는 이유가 있는 것입니다.
그래도 일단 비교는 해야 겠죠?
Folium VS GeoJSON
- GeoJSON은 데이터 형식만 제공하지만, 실제로 지도를 만들고 데이터를 시각화하는 기능은 없음
- Folium은 그런 데이터를 지도에 표시하고 시각화하는 도구임
- 결론
- GeoJSON → 데이터를 정의(위치, 도형, 속성 등)
- Folium → GeoJSON 데이터를 지도에 시각화
GeoJSON의 기하학적 데이터
Geometry
Point | 하나의 점 | [경도, 위도] |
LineString | 여러 점을 이은 선 | [[경도1, 위도1],...] |
Polygon | 폐쇄된 다각형 | [[[경도1, 위도1], ...]] |
MultiPoint | 여러 개의 점 | [[경도1, 위도1], ...] |
MultiLineString | 여러 개의 선 | [[[경도1, 위도1], ...]] |
MultiPolygon | 여러 개의 다각형 | [[[[경도1, 위도1], ...]]] |
Feature
- 하나의 기하학적 데이터와 속성 데이터를 포함
FeatureCollection
- 여러 Feature를 모아서 저장
오늘도 같이 공부하시느라 수고 많으셨습니다!!!!!!

이제는 과제가 있어야 겠죠ㅎㅎ
과제. GeoJSON 실습
- 다음 요구사항을 충족하는 Folium 지도 생성
- GeoJSON 데이터를 사용해 대한민국 수도권 영역을 대략적으로 정의하세요.
- Folium의 GeoJson을 사용해 이 다각형을 지도에 추가하세요.
- 다각형 위에 마우스를 올리면 "수도권" 이라는 툴팁이 표시되도록 설정하세요.
- 결과를 html 파일로 저장하세요.
해답은 늘 그렇듯 하루코딩에 올려 두겠습니다.
'python 시작하기' 카테고리의 다른 글
python 윈도우 창을 띄워보자 (1) | 2025.01.15 |
---|---|
python YOLO (1) | 2025.01.10 |
python OpenCV를 활용하여 얼굴 탐지를 해보자 (0) | 2025.01.10 |
python OpenCV 컨투어 탐지 (0) | 2025.01.09 |
python OPEN CV를 더욱 깔끔하게 전 처리 해보자! (1) | 2025.01.08 |