2021.02.18
PM 22:00 - 23:05
지오데이터
위도와 경도의 GPS 좌표와 같은 지리 정보
folium 라이브러리의 Map() 함수
GPS 좌표를 중심 위치로 하는 지도 객체를 생성할 때 사용
오픈소프트웨어 Geocoder-Xr
파일을 불러와, 주소값을 지정하면 이를 좌표값으로 변환하는 프로그램
import pandas as pd
CB = pd.read_csv('9-1_data\\CoffeeBean.csv', #CB객체에 파일 로드
encoding='CP949',index_col=0,header=0,engine='python')
CB.head() #작업내용확인용출력-<<상위5개행>>
addr = []
for address in CB.address:
addr.append(str(address).split()) #address 컬럼값 분리해서 addr리스트로
addr #작업내용확인용출력
addr2 = []
# addr에서 행정구역 표준 이름이 아닌것 수정하기
for i in range(len(addr)):
if addr[i][0] == "서울": addr[i][0]="서울특별시"
elif addr[i][0] == "서울시": addr[i][0]="서울특별시"
elif addr[i][0] == "부산시": addr[i][0]="부산광역시"
elif addr[i][0] == "인천": addr[i][0]="인천광역시"
elif addr[i][0] == "광주": addr[i][0]="광주광역시"
elif addr[i][0] == "대전시": addr[i][0]="대전광역시"
elif addr[i][0] == "울산시": addr[i][0]="울산광역시"
elif addr[i][0] == "세종시": addr[i][0]="세종특별자치시"
elif addr[i][0] == "경기": addr[i][0]="경기도"
elif addr[i][0] == "충북": addr[i][0]="충청북도"
elif addr[i][0] == "충남": addr[i][0]="충청남도"
elif addr[i][0] == "전북": addr[i][0]="전라북도"
elif addr[i][0] == "전남": addr[i][0]="전라남도"
elif addr[i][0] == "경북": addr[i][0]="경상북도"
elif addr[i][0] == "경남": addr[i][0]="경상남도"
elif addr[i][0] == "제주": addr[i][0]="제주특별자치도"
elif addr[i][0] == "제주도": addr[i][0]="제주특별자치도"
elif addr[i][0] == "제주시": addr[i][0]="제주특별자치도"
addr2.append(' '.join(addr[i])) #분리했던 항목 연결해 addr2리스트만들기
addr2 #작업내용확인용출력
#DataFrame 타입으로 변경, 칼럼 이름을 address2로 지정
addr2 = pd.DataFrame(addr2, columns = ['address2'])
#DataFrame 타입으로 변경, 칼럼 이름을 address2로 지정
addr2 = pd.DataFrame(addr2, columns = ['address2'])
CB2.to_csv('9-1_data\\CoffeeBean_2.csv', encoding='CP949', index=False)
!pip install folium #folium 패키지 설치
import folium
#숭례문 좌표를 folium.Map의 location 속성 값으로 설정, 지도 크기 확대
map_osm = folium.Map(location = [37.559978, 126.975291], zoom_start = 16)
#생성한 지도 객체를 파일로 저장
map_osm.save('9-1_data\\map.html')
#CB_geo.shp.csv파일을 불러와 CB_geoData 객체 로드
CB_geoData = pd.read_csv('9-1_data\\CB_geo.shp.csv',
encoding='cp949',engine='python')
#지도객체 map_CB 생성
map_CB = folium.Map(location = [37.560284, 126.975334], zoom_start = 15)
for i, store in CB_geoData.iterrows():
folium.Marker(location = [store['위도'], store['경도']],
popup = store['store'], #팝업글자:매장이름
#마커모양:빨간색별
icon = folium.Icon(color='red', icon = 'star')
).add_to(map_CB) #지도객체 map_CB에 추가
#완성된 지오맵 저장
map_CB.save('9-1_data\\map_CB.html')
#저장한 지오맵 파일을 웹브라우저에서 열기
import webbrowser
webbrowser.open('9-1_data\\map_CB.html')
'💻프로그래밍 > 👩🔬빅데이터분석' 카테고리의 다른 글
[파이썬] 한글제목의 키워드 분석하기(+워드클라우드)📰 (0) | 2021.02.17 |
---|---|
[파이썬] 영어제목의 키워드 분석하기(+워드클라우드)📰 (0) | 2021.02.17 |
공공데이터 API 기반 크롤링 (0) | 2021.02.15 |
네이버 API를 이용한 크롤링 (0) | 2021.02.10 |