728x90
반응형
SMALL
folium을 활용한 지도 그리기
# 설치
pip install folium
import folium
import requests # 웹 요청
import json
# 기본 지도 그리기
m = folium.Map(location=[37,126]) # 좌표 37,126을 중심으로 그림 그리기
m
# 본인의 IP
query = 'naver.com'
url = f'http://ip-api.com/json/{query}'
# 웹 요청
res = requests.get(url)
location_data = json.loads(res.text)
location_data['lat'], location_data['lon']
m = folium.Map(location=[location_data['lat'], location_data['lon']])
# 지도를 html로 출력
m.save('my_location_map.html')
m
folium.Map(location=[37.491362, 126.70], tiles='Stamen Toner', zoom_start=13)
folium.Map(location=[37.491362, 126.70], tiles='Stamen Terrain', zoom_start=13)
folium.Map(location=[37.491362, 126.70],
tiles='Stamen Watercolor',
zoom_start=13, min_zoom=12, max_zoom=14
)
마커 그리기
m = folium.Map(location=[37.491362, 126.70],
tiles='Stamen Watercolor',
zoom_start=13, min_zoom=12, max_zoom=14
)
# 마커 추가
tooltip = '마커를 클릭해보세요.'
folium.Marker([37.50, 126.70], tooltip=tooltip, popup='<i>위</i>').add_to(m) # 기울어진
folium.Marker([37.48, 126.70], tooltip=tooltip, popup='<b>아래</b>').add_to(m) # 두꺼운
m
m = folium.Map(location=[37.45, 126.70],
zoom_start=14, min_zoom=14, max_zoom=20)
# 마커 추가
folium.Marker(
location=[37.46, 126.70],
icon=folium.Icon(icon='cloud') # 구름 아이콘
).add_to(m)
folium.Marker(
location=[37.45, 126.70],
icon=folium.Icon(icon='info-sign', color='green') # 초록 정보
).add_to(m)
folium.Marker(
location=[37.44, 126.70],
icon=folium.Icon(icon='home', color='red') # 빨간 집
).add_to(m)
# 원 그리기
folium.Circle(
location=[37.45, 126.69], # 서쪽에
radius=100, # 지름의 길이
color='#F15F5F',
fill=True,
fill_color='#F15F5F'
).add_to(m)
folium.Circle(
location=[37.45, 126.71], # 동쪽에
radius=300, # 지름의 길이
color='#3176CC',
fill=True,
fill_color='#3176CC'
).add_to(m)
m.add_child(folium.ClickForMarker(popup='Waypoint'))
m
'skorea-provinces-geo.json'
GeoJSON을 활용한 지도 경계 나타내기
import folium
import json
import requests
res = requests.get('https://raw.githubusercontent.com/southkorea/southkorea-maps/master/gadm/json/skorea-provinces-geo.json')
jsonData = json.loads(res.text)
map_osm = folium.Map(location=[35.566345, 126.977893], zoom_start=6)
# json 파일을 지도로 매핑하는 기능
folium.GeoJson(jsonData, name='json_data').add_to(map_osm)
map_osm
728x90
반응형
LIST
'Data-driven Methodology > DS (Data Science)' 카테고리의 다른 글
[Data Science] 손실 함수 (Loss Function) (0) | 2022.11.08 |
---|---|
[Data Science] 데이터 전처리 (0) | 2022.11.01 |
[Data Science] Bokeh를 활용한 대화형 웹 시각화 (0) | 2022.10.26 |
[Data Science] 시계열 데이터 (Time Series Data) (0) | 2022.10.11 |
[Data Science] 문서의 행렬 표현 (DTM and TF-IDF) (0) | 2022.09.29 |