locations = []
for addr in addrs:
url = 'https://dapi.kakao.com/v2/local/search/address.json?query={}'.format(addr)
headers = {
## 여러분의 카카오 API의 REST API키를 아래 예시와 같이 입력해주세요
## "Authorization": "KakaoAK REST API키 입력 gogo"}
"Authorization": "KakaoAK f64acb1ae8c66asdfasefasfasdfadsf"}
place = requests.get(url, headers = headers).json()['documents']
locations.append(place)
map1 = folium.Map([latmean,lonmean], zoom_start = 12)
folium.TileLayer('CartoDB positron').add_to(map1)
for i in subway.index:
sub_lat = subway.loc[i,'위도']
sub_long = subway.loc[i,'경도']
title = subway.loc[i,'역명']
folium.Marker([sub_lat, sub_long], popup = title, icon=folium.Icon(icon='train', prefix='fa',
color = line_col[subway.loc[i,'호선']])).add_to(map1)
# 데이터들을 담을 f 라는 그릇을 생성합니다.
f = folium.map.FeatureGroup()
# f에 데이터 포인트들을 담습니다.
for lat, lon, name, line in zip(subway['위도'], subway['경도'], subway['역명'], subway['호선']):
circle = folium.CircleMarker([lat, lon],
radius=3, # 원의 크기를 설정
popup = name,
color=line_col_code[line], # stroke 색상
fill_color=line_col_code[line], # 원 내부 색상
fill_opacity=0.8 # 투명도
)
f.add_child(circle)
map2 = folium.Map([latmean,lonmean], zoom_start = 12)
map2.add_child(f)
-파일 불러오기
import json
seoul_map = folium.Map(location=[37.565784, 126.938572], zoom_start=11)
json_data = open('/content/drive/MyDrive/YBIGTA/2022_1_교육세션/과제/seoul_municipalities.json', encoding = 'euc-kr').read() #한글로 된 파일이므로 인코딩을 꼭 해주어야합니다.
file = json.loads(json_data)
-구별 지하철역 수 테이블 만들기
name = []
for i,gu in enumerate(file["features"]) :
name.append(gu["properties"]["SIG_KOR_NM"])
together = [locations[x][0]['address']['region_2depth_name'] for x in range(len(locations))]
table = pd.DataFrame(pd.Series(together, name='구'))
table['id'] = list(range(len(together)))
aggg= pd.pivot_table(table,values='id',aggfunc='count',index='구')
aggg['구 이름'] = aggg.index
aggg.columns = ['지하철역 수', '구 이름']
-그림 그리기
subway_map = folium.Map(location=[latmean, lonmean], zoom_start=12)
json_data = open('/content/drive/MyDrive/YBIGTA/2022_1_교육세션/과제/seoul_municipalities.json', encoding = 'euc-kr').read()
file = json.loads(json_data)
subway_map.choropleth(geo_data=file,
data=aggg,
columns=['구 이름','지하철역 수'],
key_on='properties.SIG_KOR_NM', #key_on 파라미터가 자동으로 json 파일과 데이터 파일을 연결시켜 줍니다.
fill_color='BuPu')
subway_map
https://unfinishedgod.netlify.app/2021/04/28/python-%EC%B9%B4%EC%B9%B4%EC%98%A4-api%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%A3%BC%EC%86%8C-%EC%9C%84%EA%B2%BD%EB%8F%84-%EC%B6%94%EC%B6%9C/
반대로, 좌표만 주어져 있을 때 주소 정보를 얻을 수도 있다.