상세 컨텐츠

본문 제목

공공데이터API - 보건복지부_코로나19 시·도발생_현황

programing/API

by ZelKun 2020. 7. 14. 00:08

본문

반응형

 

출처 :  https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15043378

 

API 문서: https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15043378

 

코로나19가 끝날기미는 커녕 다시금 확산되고 있어

이전까지는 관심밖이였던 시도별 현황을 수집하고, 요즘엔 거의 쓸일없는 마스크앱에

시도별로 layer를 씌워볼까? 라는 쓸데없는생각을 가지고

 

데이터 제공처를 물색중 발견한 보건복지부 시도별 현황 API

등록일이 4월이니 그리 오래된건 아닌듯 하다

 

댓글을 보니.. 왜 3월전 데이터는 제공안하냐는...?

서비스 키 인증안된다는 댓글이 무려 2개나 있는걸보니.. 관리를 안하는 걸지도..

서비스 신청하고 5분쯤 있다 테스트를 해보니, 오류는 안나는걸보니 뭔가 싶기도..

 

편의상 제공되는 문서를 기준으로 작성

분명 문서, 웹에 [O] JSON 체크가 되있는데, 어떻게 쓰라고는 없다

웃긴건 url Json인데 xml 반환..해준다

 

공공데이터API - 보건복지부_코로나19 시·도발생_현황

(좌) XML / (우) JSON

공공데이터API - 보건복지부_코로나19 시·도발생_현황

jsonView를 브라우저에 설치하면 깔끔하게 볼수 있다

 

&_type=json 추가하면 json으로 반환해준다

기상청 날씨정보 API에서 썼던건데 혹시나 해서 해보니 되는게 신기하다..

 


상세기능정보

번호

API(국문)

상세기능명(영문)

상세기능명(국문)

1

보건복지부_코로나19시도발생_현황 조회 서비스

Covid19SidoInfStateJson

코로나19시도발생_현황 조회 서비스

 

요청명세

항목명(영문)

항목명(국문)

항목크기

항목구분

샘플데이터

항목설명

serviceKey

인증키

100

1

인증키

(URL Encode)

공공데이터포털에서 발급받은 인증키

numOfRows

한 페이지 결과 수

4

1

10

한 페이지 결과 수

pageNo

페이지 번호

4

1

1

페이지 번호

startCreate_dt

데이터 생성일 시작범위

15

0

20200410

검색할 생성일 범위의 시작

endCreateDt

데이터 생성일 종료범위

15

0

20200410

검색할 생성일 범위의 종료

 

응답명세

항목명(영문)

항목명(국문)

항목크기

항목구분

샘플데이터

항목설명

resultCode

결과코드

2

1

00

결과코드

resultMsg

결과메세지

50

1

NORMAL SERVICE

결과메시지

numOfRows

한 페이지 결과 수

4

1

10

한 페이지당 표출 데이터 수

pageNo

페이지 수

4

1

1

페이지 수

totalCount

전체 결과 수

4

1

2

전체 결과 수

SEQ

게시글번호(국내 시도별 발생현황 고유값)

30

1

1014

게시글번호(국내 시도별 발생현황 고유값)

CREATE_DT

등록일시분초

30

1

2020-04-10 11:17:34.589

등록일시분초

DEATH_CNT

사망자 수

15

1

0

사망자 수

GUBUN

시도명(한글)

30

1

검역

시도명(한글)

GUBUN_CN

시도명(중국어)

30

1

隔離區

시도명(중국어)

GUBUN_EN

시도명(영어)

30

1

Lazaretto

시도명(영어)

INC_DEC

전일대비 증감 수

15

1

4

전일대비 증감 수

ISOL_CLEAR_CNT

격리 해제 수

15

1

349

격리 해제 수

QUR_RATE

10만명당 발생률

30

1

-

10만명당 발생률

STD_DAY

기준일시

30

1

2020 04 10 00

기준일시

UPDATE_DT

수정일시분초

30

1

null

수정일시분초

 

문서와 실제 응답 항목개수, 항목명이 안맞는다..

 

항목명은 Camel case 변경되니, 문서와 웹페이지에 써있는건 DB 컬럼명을 그대로 쓴거같다…

 

numOfRows 으로 페이지당 데이터수를 조절할수 있어야 하는데…

전체건수를 한페이지에 불러온다.. 뭐지…

페이지4 넣어도 전체건수가 나오니

 

전체 페이지수 = roundup(전체건수 / 페이지당 건수)  인데 의미가 없다…

전체 데이터를 받아오려고 20200101 ~ 현재날짜를 조회 했더니

3 2일부터 데이터를 제공한다, 데이터 생성일이 3/2인듯

 


응답결과 일부

<item>

<createDt>2020-07-09 10:35:10.331</createDt>

<deathCnt>0</deathCnt>

<defCnt>809</defCnt>

<gubun>검역</gubun>

<gubunCn>隔離區</gubunCn>

<gubunEn>Lazaretto</gubunEn>

<incDec>5</incDec>

<isolClearCnt>606</isolClearCnt>

<isolIngCnt>203</isolIngCnt>

<localOccCnt>0</localOccCnt>

<overFlowCnt>5</overFlowCnt>

<qurRate>-</qurRate>

<seq>2876</seq>

<stdDay>2020년 07월 09일 00시</stdDay>

<updateDt>null</updateDt>

</item>

출처 :  http://ncov.mohw.go.kr

출처 :  http://ncov.mohw.go.kr

createDt 그렇다고 치고..

stdDay /// 문자가 들어가는걸까.. 싶은데 심지어 00

모든 기준일시는 00시가 들어가있다..

그리고 수정일시는 전부 null

 

데이터 갱신주기는 시간당이고, 신규데이터는 00시에 나오는듯하니 24 수집하면 될것 같다

 

이제 문서에 없는 항목을 보자..

11개의 항목을 받아와야 하는데 15개가 된다

유추를 해보면

- defCnt: 809, 누적 확진환자

- isolIngCnt: 203, 격리중

- localOccCnt: 0 ??

- overFlowCnt: 5, 초과? -> 전일대비 증감? <확실치 않으니 다른지역도 확인

 

대전 확진자수

<item>

<createDt>2020-07-09 10:35:10.33</createDt>

<deathCnt>2</deathCnt>

<defCnt>149</defCnt>

<gubun>대전</gubun>

<gubunCn>大田</gubunCn>

<gubunEn>Daejeon</gubunEn>

<incDec>6</incDec>

<isolClearCnt>61</isolClearCnt>

<isolIngCnt>86</isolIngCnt>

<localOccCnt>6</localOccCnt>

<overFlowCnt>0</overFlowCnt>

<qurRate>10.11</qurRate>

<seq>2864</seq>

<stdDay>2020년 07월 09일 00시</stdDay>

<updateDt>null</updateDt>

</item>

출처: http://ncov.mohw.go.kr

출처: http://ncov.mohw.go.kr

defCnt: 149

isolIngCnt: 86

localOccCnt: 6, 국내발병

overFlowCnt: 0, 해외유입 <- 대전을 보니 알수가 없다, 다른지역을 봐도 알수가 없다... 일단 패스

 

이제 geojson 으로 Map 정보를 출력해주도록 구현하면 된다

 

문제(?) 시도코드를 제공했으면 편하게 끝났을텐데, 없으니

영문/국문 시도명으로 시도코드를 찾아주도록 한번 작업을 더해줘야 한다

아니면 그냥 영문/국문명에 해당하는 폴리곤으로 매칭해도 되겠지만...

 

시군구/읍면동 단위도 있는지 찾아봐야겠다

 

보건복지부 홈페이지 들어가서 추가 확진자 찾아보던일이 줄어들것 같긴하지만.. 언제 할진 미지수...

 

관련글

[programing/API] - 공공데이터API - 보건복지부_코로나19 감염_현황

[programing/API] - 공공데이터API - 보건복지부_코로나19 연령별·성별감염_현황

[programing/GIS] - 공공데이터API - 보건복지부_코로나19 시·도발생_현황

[programing/API] - 공공데이터API - 보건복지부_코로나19해외발생_현황

반응형

관련글 더보기

댓글 영역