오지's blog

python을 이용한 코로나19 예방접종센터 현황 관련 지도 띠우기(매우간단) 본문

개발노트/Python

python을 이용한 코로나19 예방접종센터 현황 관련 지도 띠우기(매우간단)

오지구영ojjy90 2021. 3. 19. 00:24
728x90
반응형

예방접종센터는 코로나19 mRNA 백신의 안전하고 신속한 접종을 위해 별도 설치하는 예방접종 장소로서 대표적으로 화이자 백신이 이에 속한다.

 

www.data.go.kr/tcs/dss/selectFileDataDetailView.do?publicDataPk=15077603

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

위싸이트에는 공공데이터활용지원센터_코로나19 예방접종센터 현황 관련 데이터가 있다.

csv파일을 다운받아 이것을 엑셀파일로 열어서 csv파일로 다시 저장한다. 안그럼 개발시 데이터가 깨져서 나온다.

 

2021년 3월 31일 현재 데이터 값은 다음과 같다.

연번,센터유형,센터명,운영기관,시설명,우편번호,주소
1,중앙/권역,코로나19 중앙 예방접종센터,국립중앙의료원,국립중앙의료원 D동,4562,서울특별시 중구 을지로 39길 29
2,중앙/권역,코로나19 중부권역 예방접종센터,순천향대 천안병원,천안시 실내배드민턴장 1층,31212,충청남도 천안시 동남구 천안대로 357
3,중앙/권역,코로나19 호남권역 예방접종센터,조선대병원,조선대학교병원 의성관 5층,61452,광주광역시 동구 필문대로 365
4,중앙/권역,코로나19 영남권역 예방접종센터,양산 부산대병원,양산 부산대병원 기숙사동 1층,50612,경상남도 양산시 물금읍 금오로 20
5,지역,코로나19 대구광역시 중구 예방접종센터,,계명대학교 대구동산병원 별관,41931,대구시 중구 달성로 56
6,지역,코로나19 서울특별시 성동구 예방접종센터,,성동구청 대강당(3층),4750,서울특별시 성동구 고산자로 270
7,지역,코로나19 부산광역시 부산진구 예방접종센터,,부산시민공원 시민사랑채,47197,부산 부산진구 시민공원로 73
8,지역,코로나19 인천광역시 연수구 예방접종센터,,선학경기장 선학체육관,21908,인천광역시 연수구 경원대로 526
9,지역,코로나19 광주광역시 서구 예방접종센터,,염주종합체육관,62048,광주광역시 서구 금화로 278
10,지역,코로나19 대전광역시 유성구 예방접종센터,,유성종합스포츠센터,34128,대전광역시 유성구 유성대로 978
11,지역,코로나19 울산광역시 중구 예방접종센터,,동천체육관,44497,울산시 중구 염포로 85
12,지역,코로나19 세종특별자치시 예방접종센터,,남세종종합청소년센터,30099,세종특별자치시 달빛1로 227
13,지역,코로나19 경기도 수원시 예방접종센터,,아주대 실내체육관,16499,경기도 수원시 영통구 월드컵로 206
14,지역,코로나19 경기도 고양시 일산동구 예방접종센터,,고양꽃전시관,10400,경기도 고양시 일산동구 호수로 595
15,지역,코로나19 강원도 원주시 예방접종센터,,치악체육관,26447,강원도 원주시 서원대로 279
16,지역,코로나19 충청북도 청주시 예방접종센터,,상당구청 스포츠센터,28806,충청북도 청주시 상당구 남일면 단재로 466
17,지역,코로나19 충청남도 천안시 서북구 예방접종센터,,천안시 실내테니스장,31157,충남 천안시 서북구 번영로 208
18,지역,코로나19 전라북도 전주시 예방접종센터,,화산체육관,54984,전주시 완산구 백제대로 310
19,지역,코로나19 전라남도 목포시 예방접종센터,,목포실내체육관,58608,전남 목포시 대양로 286
20,지역,코로나19 경상북도 포항시 남구 예방접종센터,,포항종합운동장 실내체육관,37832,경북 포항시 남구 희망대로 810
21,지역,코로나19 경상남도 창원시 마산구 예방접종센터,,마산체육관,51323,경남 창원시 마산회원구 삼호로 63
22,지역,코로나19 제주특별자치도 제주시 예방접종센터,,한라체육관,63189,제주시 서광로2길 24
23,지역,코로나19 서울특별시 중랑구 예방접종센터,,중랑문화체육관,2261,서울특별시 중랑구 사가정로72길47
24,지역,코로나19 서울특별시 성북구 예방접종센터,,성북아트홀(구청4층),2848,서울특별시 성북구 보문로 168
25,지역,코로나19 서울특별시 노원구 예방접종센터,,노원구민체육센터,1741,서울특별시 노원구 노원로22길 1
26,지역,코로나19 서울특별시 은평구 예방접종센터,,은평문화 예술회관,3381,서울특별시 은평구 녹번로 16
27,지역,코로나19 서울특별시 동작구 예방접종센터,,사당종합체육관,6989,서울특별시 동작구 사당로27길 232
28,지역,코로나19 서울특별시 송파구 예방접종센터,,송파구 체육문화회관,5771,서울특별시 송파구 양산로15
29,지역,코로나19 부산광역시 남구 예방접종센터,,남구국민체육센터,48563,부산광역시 남구 백운포로 110
30,지역,코로나19 인천광역시 서구 예방접종센터,,인천아시아드주경기장,22717,인천광역시 서구 봉수대로 806
31,지역,코로나19 광주광역시 남구 예방접종센터,,남구다목적체육관,61711,광주광역시 남구 화산로 110
32,지역,코로나19 울산광역시 남구 예방접종센터,,남구국민체육센터,44766,울산광역시 남구 여천로 38
33,지역,코로나19 경기도 성남시 분당구 예방접종센터,,탄천종합운동장 체육회관 이벤트홀,13495,경기도 성남시 분당구 탄천로 215
34,지역,코로나19 경기도 안양시 동안구 예방접종센터,,안양종합운동장 보조경기장,13918,경기도 안양시 동안구 평촌대로 389
35,지역,코로나19 경기도 남양주시 예방접종센터,,남양주 체육문화센터,12244,경기도 남양주시 다산 지금로 91
36,지역,코로나19 강원도 강릉시 예방접종센터,,강릉아레나,25472,강원도 강릉시 수리골길 102
37,지역,코로나19 강원도 춘천시 예방접종센터,,봄내체육관,24243,강원도 춘천시 평화로 25
38,지역,코로나19 강원도 삼척시 예방접종센터,,삼척체육관,25909,강원도 삼척시 동해대로 4234
39,지역,코로나19 충청북도 충주시 예방접종센터,,충주체육관,27371,충청북도 충주시 예성로 266
40,지역,코로나19 충청북도 음성군 예방접종센터,,음성실내체육관,27704,충청북도 음성군 설성로 47
41,지역,코로나19 충청남도 아산시 예방접종센터,,이순신종합운동장 복합스포츠센터,31528,충청남도 아산시 남부로 370-24
42,지역,코로나19 충청남도 논산시 예방접종센터,,시민운동장,32993,충청남도 논산시 체육로 110
43,지역,코로나19 전라북도 군산시 예방접종센터,,월명종합경기장 월명체육관,54078,전라북도 군산시 번영로 281
44,지역,코로나19 전라북도 정읍시 예방접종센터,,정읍실내체육관,56158,전라북도 정읍시 서부로 9
45,지역,코로나19 전라북도 남원시 예방접종센터,,춘향골 체육관,55766,전라북도 남원시 충정로 341
46,지역,코로나19 전라남도 여수시 예방접종센터,,흥국체육관,59676,전라남도 여수시 선소로 93
47,지역,코로나19 전라남도 순천시 예방접종센터,,순천대학교 국제문화컨벤션관,57922,전라남도 순천시 중앙로 235
48,지역,코로나19 경상남도 진주시 예방접종센터,,진주종합실내체육관(초전동),52733,경상남도 진주시 남강로 1655
49,지역,코로나19 경상남도 통영시 예방접종센터,,충무체육관,53047,경상남도 통영시 북문2길 34

 

데이터를 보면 간단히 이 시설명과 주소가 있어 이를 활용하여 지도에 마커를 찍는 프로그램을 만든다.

 

프로그램 동작 순서는 다음과 같다.

먼저 pandas라이브러리를 활용하여 csv파일을 읽는다.(df = pd.read_csv("vacloc_20210315.csv"))

읽은 csv파일로 부터 시설명과 주소 데이터를 값을 가져온다. (location_name = df.loc[idx, "시설명"], addr = df.loc[idx, "주소"])

주소 데이터는 kakao주소 api를 이용하여 위도 경도 값을 알아낸다.(addr_lon, addr_lat = getLatLng(addr))

folium라이브러리를 활용하여 해당 위도 경도 값에 마커를 찍는다.(Marker(location=[addr_lat, addr_lon], popup="<b>"+location_name+"</b>", tooltip=location_name, icon=Icon(color='green', icon='flag')).add_to(m))

여기서 popup은 마커를 찍었을때 나타나는 표시이고 tooltip은 마우스가 마커 위에 있을때 나타나는 표시이다.

 

 

전체 코드는 아래 깃허브에

github.com/ojjy/public_data_analysis/tree/main/vaccine_location

 

ojjy/public_data_analysis

Contribute to ojjy/public_data_analysis development by creating an account on GitHub.

github.com

 

 

코로나 예방접종 지도 웹서버주소

http://yejinjo.com/

 

Comments