๊ด€๋ฆฌ ๋ฉ”๋‰ด

yeon's ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป

[ํ”„๋žœ์ฐจ์ด์ฆˆ ์ž…์  ๋ถ„์„] Folium | MarkerCluster ๋ณธ๋ฌธ

Computer ๐Ÿ’ป/๋ฐ์ดํ„ฐ ๋ถ„์„

[ํ”„๋žœ์ฐจ์ด์ฆˆ ์ž…์  ๋ถ„์„] Folium | MarkerCluster

yeon42 2021. 8. 5. 17:17
728x90

9. Folium์œผ๋กœ ์ง€๋„ ํ™œ์šฉํ•˜๊ธฐ

 

conda install -c conda-forge folium

 

import folium

lat = df_31["์œ„๋„"].mean()
long = df_31["๊ฒฝ๋„"].mean()

 

 

 

  • ์ƒ˜ํ”Œ ํ•˜๋‚˜ ํ‘œ์‹œ
df_31.sample(random_state=31)

  - randomํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š”๋ฐ ํ•ญ์ƒ ๊ฐ™์€ ๊ฐ’์„ ์ถ”์ถ”ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

 

 

 

 

 

m = folium.Map([lat, long])

folium.Marker([[37.495593, 127.0390323]], popup="<i>๋˜ํ‚จ๋„๋„ˆ์ธ <i>", tooltip="๋˜ํ‚จ๋„๋„ˆ์ธ ").add_to(m)

 

 

 


 

 

9.2 ์„œ์šธ์˜ ๋ฐฐ์Šคํ‚จ๋ผ๋นˆ์Šค์™€ ๋˜ํ‚จ๋„๋„ˆ์ธ  ๋งค์žฅ ๋ถ„ํฌ - ๊ธฐ๋ณธ ๋งˆ์ปค๋กœ ํ‘œํ˜„ํ•˜๊ธฐ

m = folium.Map([lat, long], zoom_start=12)

for i in df_31.index:
	sub_lat = df_31.loc[i, "์œ„๋„"]
    sub_long = df_31.loc[i, "๊ฒฝ๋„"]
    title = df_31.loc[i, "์ƒํ˜ธ๋ช…"] + "-" + df_31.loc[i, "๋„๋กœ๋ช…์ฃผ์†Œ"]
    
    icon_color = "blue"
    if df_31.loc[i, "๋ธŒ๋žœ๋“œ๋ช…"] == "๋˜ํ‚จ๋„๋„ˆ์ธ ":
    	icon_color = "red"
    
    folium.Marker(
    	[sub_lat, sub_long],
        icon = folium.Icon(color=icon_color),
        popup=f'<i>{title}<i>',
        tooltip=title).add_to(m)

m

  - ๋˜ํ‚จ์€ red, ๋ฐฐ์Šคํ‚จ์€ blue๋กœ ์ƒ‰๊น”์„ ๋‹ค๋ฅด๊ฒŒ ํ‘œ์‹œ

  - ๋ฐฐ๋ผ๊ฐ€ ํ›จ์”ฌ ๋งŽ๊ตฌ๋‚˜ and ๋‘˜์˜ ๋งค์žฅ์ด ๊ฐ€๊น๊ตฌ๋‚˜

 

 

 

 

 


 

9.3 MarkerCluster ํ‘œ์‹œ

- ๋งˆ์ปค๊ฐ€ ๊ฒน์ณ์ง€๋Š” ๊ฒƒ์„ cluster๋กœ ํ‘œํ˜„ํ•˜๊ธฐ -> ๊ฒน์ณ์ง„ ๊ฒƒ์€ ์ˆซ์ž๋กœ ์žก๊ธฐ

 

 

from folium.plugins import MarkerCluster #์ถ”๊ฐ€

m = folium.Map([lat, long], zoom_start=12)
marker_cluster = MarkerCluster().add_to(m) #์ถ”๊ฐ€

for i in df_31.index:
    
    sub_lat = df_31.loc[i, "์œ„๋„"]
    sub_long = df_31.loc[i, "๊ฒฝ๋„"]
    title = df_31.loc[i, "์ƒํ˜ธ๋ช…"] + "-" + df_31.loc[i, "๋„๋กœ๋ช…์ฃผ์†Œ"]
    
    icon_color = "blue"
    if df_31.loc[i, "๋ธŒ๋žœ๋“œ๋ช…"] == "๋˜ํ‚จ๋„๋„ˆ์ธ ":
        icon_color = "red"
    
    folium.Marker(
        [sub_lat, sub_long],
        icon=folium.Icon(color=icon_color), 
        popup=f'<i>{title}</i>', 
        tooltip=title).add_to(marker_cluster) #๋ณ€๊ฒฝ
    
m

 

 

 

 

 

 


 

m = folium.Map([lat, long], zoom_start=12, tiles="stamen toner")

for i in df_bread.index:
    sub_lat = df_bread.loc[i,  "์œ„๋„"]
    sub_long = df_bread.loc[i, "๊ฒฝ๋„"]
    title = df_bread.loc[i, "์ƒํ˜ธ๋ช…"] + " - " + df_bread.loc[i, "๋„๋กœ๋ช…์ฃผ์†Œ"]
    
    icon_color = "blue"
    
    if df_bread.loc[i, "๋ธŒ๋žœ๋“œ๋ช…"] == "๋šœ๋ ˆ์ฅฌ๋ฅด":
        icon_color = "green"

    folium.CircleMarker(
        [sub_lat, sub_long], 
        radius=3, 
        color=icon_color, 
        popup=f'<i>{title}</i>', 
        tooltip=title).add_to(m)

m

Comments