1. 목표 : 파이썬으로 우리나라 천문대 위치를 지도에 표시하기
2. 작업 순서
1) 천문대 목록 및 주소 만들기
- 천문대 목록은 네이버에 천문대를 검색하여 크롤링으로 수집함.(코드는 생략함.)
- 천문대 주소는 검색하여 엑셀에 붙여넣기로 정리함.(크롤링 할 줄 몰라서 이렇게 함.)
2) 주소를 경위도 좌표로 바꾸기
- 주소 좌표 변환 툴, Geocoder-Xr 2019 v3.51(http://www.gisdeveloper.co.kr/?p=4784)를 이용함.
- 이것저것 많이 시도해봤는데 Geocoder-Xr이 가장 깔끔한 것 같음.
* 파일은 계속 csv 파일로 쓰면 편함.
위 과정을 모두 하고 나면 아래 첨부한 파일을 얻게 됨.
3) 지도에 천문대 표시하기
가) 지도 불러오기 _ folium 이용
- zoom_start는 시작하는 크기이므로 크게 상관은 없엄. 이러저리 조절해서 보기좋게 설정하면 됨.
import folium
map_osm = folium.Map(location=[36.5, 127], zoom_start=7, tiles='Stamen Toner')
map_osm.save('back1.html')
map_osm
나) 천문대 목록 파일 불러오기
- 아마도 아래에서 불러온 모든 라이브러리가 필요하지는 않을 것으로 보이지만, 나도 잘 몰라서 구글링하며 하는 입장이라 그냥 라이브러리는 대충 불러놓고 시작하는 것이 편하다고 느꼈음.
import pandas as pd
import urllib.request
import datetime
import time
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
obserba = pd.read_csv('obser_geo2.csv', encoding='CP949')
obserba.head(10)
다) 지도에 천문대 표시하기
- 코드는 매우 간단하나 파일에 있는 이름으로 마크업 하는 것이 검색했을 때 잘 안 나와서 애먹었음.
for n in obserba.index:
folium.Marker([obserba['위도'][n],obserba['경도'][n]], popup=obserba['천문대'][n]).add_to(map_osm)
map_osm
라) 저장하기
map_osm.save('obsermap.html')
이상입니다.
하고 보니 천문대 목록을 만드는데 가장 오랜 시간을 썼던 것 같네요.
결국 데이터를 잘 모으는 것이 가장 중요하지만 또 그게 가장 어렵네요.
감사합니다.
'과학 > 실험 & 활동' 카테고리의 다른 글
[파이썬] 지질시대 파이차트 만들기 (0) | 2021.10.15 |
---|---|
[파이썬] 히파르코스 항성 목록 위치 표현 : 3D Scatter (0) | 2021.10.05 |
[제작]극한 아이슬란드 여행기 (0) | 2018.02.04 |
[영상]점박이물범 보호 캠페인 영상 (0) | 2016.10.16 |
[활동영상]점박이물범 탐구이야기 (0) | 2016.10.16 |