일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 컴퓨터공학 #Java #자바 #클래스 #객체 #인스턴스
- HTML #CSS
- 컴퓨터공학 #c #c언어 #문자열입력
- 잔
- BOJ #컴퓨터공학 #C++ #알고리즘 #자료구조
- 컴퓨터공학 #자료구조 #스택 #c++ #알고리즘 #백준문제풀이
- Today
- Total
영벨롭 개발 일지
[Python]지도 시각화 folium 라이브러리 사용법 본문
[ folium 이란? ]
folium은 python에서 제공하는 지도를 다루는 대표적인 라이브러리 입니다.
이것을 사용하여 지도를 생성하고 Marker를 추가하여 시각화하거나 원으로 범위를 표기하고 html 파일로 내보내기 등을 수행할 수 있습니다.
[ folium 설치 & import ]
터미널에 다음 명령어를 입력하여 folium 라이브러리를 설치합니다!
$ pip install folium
설치가 완료되면 코드를 작성할 파일에 import 합니다.
import folium
[ 지도 띄우기 - folium.Map() ]
folium.Map()을 이용하여 처음 화면이 나오는 부분을 설정합니다.
location은 지도의 기준이 될 위도와 경도의 좌표를 전달합니다.
zoom_start는 처음 지도를 봤을 때의 확대 정도를 나타내고 최댓값은 18입니다.
만약 location 값과 zoom_start 값을 지정하지 않으면 전 세계 지도를 기준으로 띄어줍니다.
기본형 |
folium.Map(location=[위도, 경도], zoom_start=숫자) |
- 내가 만든 지도를 html 형식으로 저장
이렇게 만든 지도는 save() 메소드를 통해 html 형식으로 저장이 가능합니다.
기본형 |
folium.Map([ ... ]).save('파일이름.html') |
import folium
myMap = folium.Map(location=[37.4729081, 127.039306], zoom_start=10)
myMap.save('index.html')
- 지도의 스타일 지정
tiles = '스타일' 속성을 사용하여 지도의 스타일도 지정할 수 있습니다.
속성값 | ||
OpenStreetMap | Stamen Terrain | Stamen Toner |
Stamen Watercolor | CartoDB positron | CartoDB dark_matter |
Mapbox Bright | Mapbox Control Room | Cloudmade |
Mapbox |
[ Stamen Terrain ]
myMap = folium.Map(location=[37.4729081, 127.039306], zoom_start=12, tiles='Stamen Terrain')
[ CartoDB positron ]
myMap = folium.Map(location=[37.4729081, 127.039306], zoom_start=12, tiles='CartoDB positron')
[ 마커찍기 - folium.Marker([위도, 경도], ... ).add_to(지도) ]
folium.Marker().add_to()를 이용하여 우리가 만든 지도에 마커를 찍을수도 있습니다.
add_to()의 인수로는 우리가 만든 지도인 folium.Map() 객체를 전달합니다.
Marker()의 인수로는 [위도, 경도] 이외에도 여러 옵션을 설정하여 마커를 표시할 수 있습니다.
- 마커 아이콘 옵션
옵션 | 설명 |
[위도, 경도] | 마커를 찍을 좌표 |
popup = "" | 마우스 클릭시 표기되는 문구 |
tooltip = "" | 마우스 오버시 표기되는 문구 |
icon = folium.Icon(color="색상", icon="아이콘 모양") | 아이콘의 색상과 모양 지정 |
import folium
myMap = folium.Map(location=[37.4729081, 127.039306], zoom_start=12)
folium.Marker([37.5072384, 127.0238756],
popup="팝업 문구",
tooltip="툴팁 문구",
icon=folium.Icon(color='red', icon='star')).add_to(myMap)
myMap.save('index.html')
[ 반경 원 나타내기 - folium.CircleMarker([위도, 경도], ... ).add_to(지도) ]
해당 위치에 반경 원을 나타내는 마커도 찍을 수 있습니다.
- 반경을 나타내는 원 옵션
옵션 | 설명 |
radius = 숫자 | 반경의 범위 |
color = "" | 선의 색깔 |
fill_color = "" | 채워질 원의 색깔 |
import folium
myMap = folium.Map(location=[37.4729081, 127.039306], zoom_start=12)
folium.Marker([37.5072384, 127.0238756],
popup="팝업 문구",
tooltip="툴팁 문구",
icon=folium.Icon(color='red', icon='star')).add_to(myMap)
folium.CircleMarker([37.5072384, 127.0238756],
radius=100,
color='blue',
fill_color='skyblue').add_to(myMap)
myMap.save('index.html')
'Programming Language > Python' 카테고리의 다른 글
[Python] 모듈 vs 패키지 vs 라이브러리 (1) | 2022.05.06 |
---|---|
[Python]파이썬으로 날씨 정보 받아오기 - openweathermap API (0) | 2022.05.04 |
[Python] 파이썬으로 구글 번역 API 사용하기 - googletrans (0) | 2022.05.04 |
[Python]파이썬으로 이메일 보내기 - SMTP (0) | 2022.05.03 |
[Python]파이썬의 자료형: dict 딕셔너리 (0) | 2022.04.25 |