pypubdata

It is simple module package for ROK Public Data OpenAPI.


License
LGPL-3.0
Install
pip install pypubdata==0.1.4.1

Documentation

pypubdata Logo image

pypubdata: ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ณต๊ณต๋ฐ์ดํ„ฐ OpenAPI๊ฐ€ Python 3๋กœ ํฌํŒ…๋œ ํŒŒ์ด์ฌ OpenAPI ํ™œ์šฉ ๋ชจ๋“ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

license - lGPL v3 support python verson - upper 3.5 pypi version - check Github

๋“ค์–ด๊ฐ€๋ฉฐ

์ด ๋ชจ๋“ˆ์€ ํŒŒ์ด์ฌ์„ ํ†ตํ•ด ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ(https://data.go.kr) OpenAPI์— ์†์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ๋ชจ๋“ˆ ํŒจํ‚ค์ง€์ž…๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๊ฐ„๋‹จํ•œ ๊ตญ๊ฐ€๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด OpenAPI ์ฒ˜๋ฆฌ ๋ชจ๋“ˆ์„, ๋ถ€๋„๋Ÿฝ์ง€๋งŒ ๋งŽ์ด ์†๋ด์„œ ๋‚ด๋†“์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๊นŒ์ง€๋Š” ํ•œ๊ตญํ™˜๊ฒฝ๊ณต๋‹จ์˜ **๊ตญ๊ฐ€๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด์˜ HTTP -> ํŒŒ์ด์ฌ ๋”•์…”๋„ˆ๋ฆฌ ํฌํŒ…**์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ๋‚  ๋•Œ๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ์กฐ๊ธˆ์”ฉ ์†๋ด์„œ ์ข€ ๋” ๋‹ค์–‘ํ•œ OpenAPI๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ ํŒจํ‚ค์ง€๊ฐ€ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ ๋ชจ๋“ˆ์˜ ์ €์ž‘๊ถŒ

OpenAPI๋ฅผ ํฌํŒ…ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ ์†Œ์Šค ์ฝ”๋“œ๋Š” ๋ชจ๋‘ GNU ์•ฝ์†Œ ์ผ๋ฐ˜ ๊ณต์ค‘ ์‚ฌ์šฉ ํ—ˆ๊ฐ€์„œ(GNU Lesser General Public License) version 3์— ๋”ฐ๋ผ ์ €์ž‘๊ถŒ์ด ๋ณดํ˜ธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

lGPL v3์— ๊ด€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” GNU.org๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ฃผ์‹ญ์‹œ์˜ค.

โ“’ ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด ๊ฐœ์ธ์ ์œผ๋กœ ์“ฐ์—ฌ์ง„ ์ฝ”๋“œ๋Š” lGPL v3 ๋ผ์ด์„ผ์Šค์— ์ค€๊ฑฐํ•˜์—ฌ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

โ“’ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์ €์ž‘๊ถŒ ๋ฐ OpenAPI ์ ‘๊ทผ์— ๊ด€ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ• ์ผ์ฒด์— ๋Œ€ํ•ด์„œ๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ ์ €์ž‘๊ถŒ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

โ“’ Copyright of pypubdata's code is under the lGPL v3 license. โ“’ Copyright of every data and OpenAPI of Republic of Korea Public Data Portal and OpenAPI are under their own license. โ“’ The Python logo is a trademark of the PSF

๊ตญ๊ฐ€๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด OpenAPI ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• (pdairp)

(ver 0.1.3 ๊ธฐ์ค€, cํ•œ๊ตญํ™˜๊ฒฝ๊ณต๋‹จ, cํ™˜๊ฒฝ๋ถ€)

'pdairp' ๋ชจ๋“ˆ์„ ํ†ตํ•ด ํ˜„์žฌ ์ง€์›ํ•˜๊ณ  ์žˆ๋Š” ์„œ๋น„์Šค๋Š” '์ธก์ •์†Œ์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค', '๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด์กฐํšŒ ์„œ๋น„์Šค', '๋Œ€๊ธฐ์˜ค์—ผํ†ต๊ณ„ ์„œ๋น„์Šค', '์˜ค์กดํ™ฉ์‚ฌ ๋ฐœ์ƒ์ •๋ณด์กฐํšŒ' ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์—์„œ ์ œ๊ณตํ•˜๋Š” 'IROS3_OA_DV_0701_OpenAPIํ™œ์šฉ๊ฐ€์ด๋“œ_ํ•œ๊ตญํ™˜๊ฒฝ๊ณต๋‹จ_๊ตญ๊ฐ€๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด_v1.3.docx'์— ๊ธฐ์žฌ๋˜์–ด ์žˆ๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ›์•„์˜ค๋„๋ก ๊ธฐ๋ณธ ๊ตฌ์กฐ๊ฐ€ ํ˜•์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

์˜์–ด๋กœ ๊ธฐ์žฌ๋˜์–ด ์žˆ๋Š” ์„œ๋น„์Šค๋ช…๋“ค์€ ์‚ฌ์šฉํ•˜๊ธฐ ์šฉ์ดํ•˜๋„๋ก ์ด๋ฆ„์„ ์ž„์˜๋กœ ์ˆ˜์ •ํ•˜์˜€์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ์ •์ƒ์ ์ด์ง€ ๋ชปํ•œ ๋˜๋Š” ์ ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋Š” API๋Š” ๊ณผ๊ฐํ•˜๊ฒŒ ์ œ๊ฑฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๊ฐœ์š”

์‚ฌ์šฉ์„ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € pypubdata ํŒจํ‚ค์ง€์—์„œ pdairp(๊ตญ๊ฐ€๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด ๋ชจ๋“ˆ)์„ importํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์ดํ›„, pdairp์—์„œ ์ด์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ฐพ์œผ์‹  ๋’ค, ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์—์„œ ์ง€๊ธ‰๋ฐ›์œผ์‹  ๋น„๋ฐ€ํ‚ค(utf-8 ์—‘์„ธ์Šค ํ‚ค)๋ฅผ ์ž…๋ ฅํ•ด ์ธ์Šคํ„ด์Šค๋ฅผ ์ดˆ๊ธฐํ™” ํ•ด ์ค๋‹ˆ๋‹ค.

For Windows: C:\Users\sample> pip install pypubdata
For Linux/Unix: sample@ip-123-12-3-45:~$ sudo pip3 install pypubdata
>>> import pdairp
>>> a = pdairp.PollutionData("ACCESS_KEY")

pdairp ๋ชจ๋“ˆ์„ ์ดˆ๊ธฐํ™” ํ•œ ์ธ์Šคํ„ด์Šค(์˜ˆ์ œ์˜ a)๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

>>> print(a.station("๋ฌธ์ฐฝ๋™", "DAILY"))
{'totalCount': 23, '9': {'pm10Value24': '23', 'pm25Value': '-', ...

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ํŒŒ์ด์ฌ ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) ๊ตฌ์กฐ๋กœ ๋ฐ˜ํ™˜๋˜๋ฉฐ, ํ‚ค ๊ฐ’์˜ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋”•์…”๋„ˆ๋ฆฌ ์•ˆ์—๋Š”: 'totalCount'์™€ ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. totalCount๋Š” ๋ฐ˜ํ™˜๋œ ๋ฐ์ดํ„ฐ์˜ ์ด ๊ฐฏ์ˆ˜์ด๋ฉฐ, ๊ทธ ๊ฐฏ์ˆ˜๋ณ„๋กœ ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆซ์ž ํ‚ค ๊ฐ’ ์•ˆ์—๋Š”: '0'๋ฒˆ ๋”•์…”๋„ˆ๋ฆฌ๋ถ€ํ„ฐ ๊ฐ€์žฅ ์ตœ๊ทผ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž ํ‚ค ๊ฐ’์„ ๊ฐ–๋Š” ๋”•์…”๋„ˆ๋ฆฌ ์•ˆ์—๋Š” {'๋ฐ˜ํ™˜ ๋‚ด์šฉ', ๋ฐ˜ํ™˜๊ฐ’}์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋”•์…”๋„ˆ๋ฆฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ์˜ˆ) ๋ฌธ์ฐฝ๋™์ธก์ •์†Œ์˜ ํ•˜๋ฃจ์น˜ ์ž๋ฃŒ ์ค‘ ๊ฐ€์žฅ ์ตœ์‹  ์ž๋ฃŒ์˜ PM10 ๊ฐ’
>> pm10 = a.station("๋ฌธ์ฐฝ๋™", "DAILY")['0']['pm10Value']
>> print(pm10)

์•„๋ž˜ ์„œ๋น„์Šค ๋ชฉ๋ก์—๋Š” ์„œ๋น„์Šค ๋ชฉ๋ก๊ณผ ๊ฒฐ๊ณผ๊ฐ’๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธฐ์žฌํ•ด ๋‘์—ˆ์œผ๋ฏ€๋กœ, ํด๋ž˜์Šค ๋ฐ ๋ณ€์ˆ˜๊ฐ’ ๋“ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” OpenAPI ์‹ ์ฒญ ์‹œ ๋™๋ด‰๋˜์–ด ์žˆ๋Š” ์›Œ๋“œ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

์ธก์ •์†Œ์ •๋ณด ์กฐํšŒ ์„œ๋น„์Šค (StationInfo ํด๋ž˜์Šค)

  • ๊ทผ์ ‘์ธก์ •์†Œ ๋ชฉ๋ก ์กฐํšŒ(nearby)
>> StationInfo.nearby(tm_x, tm_y, page_no='1', num_of_rows='10')

*tmX ์ฝ”๋“œ*์™€ *tmY ์ฝ”๋“œ*๋ฅผ ๋ฐ›์•„ ๊ทธ ์ฃผ๋ณ€์˜ ๊ทผ์ ‘์ธก์ •์†Œ ๋ชฉ๋ก์„ ์กฐํšŒํ•ด์ค๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
stationName ์ธก์ •์†Œ ์ด๋ฆ„
addr ์ธก์ •์†Œ ์ฃผ์†Œ
tm ์ธก์ •์†Œ๊นŒ์ง€ ๊ฑฐ๋ฆฌ
  • ์ธก์ •์†Œ ๋ชฉ๋ก ์กฐํšŒ -์ƒ์„ธ์ •๋ณด์กฐํšŒ- (detail)
>> StationInfo.detail(addr, station_name, page_no='1', num_of_rows='10')

*์ง€์—ญ๋ช…*๊ณผ *์ธก์ •์†Œ๋ช…*์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ ์ธก์ •์†Œ์˜ ์ •๋ณด๋ฅผ ์ž์„ธํ•˜๊ฒŒ ์กฐํšŒํ•ด์ค๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
addr ์ธก์ •์†Œ ์ฃผ์†Œ
dmX WGS84 ๊ธฐ๋ฐ˜ ์œ„๋„
dmY WGS84 ๊ธฐ๋ฐ˜ ๊ฒฝ๋„
item ์ธก์ •ํ•ญ๋ชฉ
mangName ์ธก์ •๋ง
map ์ง€๋„
oper ๊ด€๋ฆฌ๊ธฐ๊ด€๋ช…
photo ์ „๊ฒฝ ์‚ฌ์ง„
stationName ์ธก์ •์†Œ ์ด๋ฏธ์ง€
vrml ์ธก์ •์†Œ ์ „๊ฒฝ
year ์šด์˜๋…„๋„
  • TM ๊ธฐ์ค€์ขŒํ‘œ ์กฐํšŒ (tmcode)
>> StationInfo.tmcode(umd_name, page_no='1', num_of_rows='10')

์๋ฉด๋™ ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ทธ ์๋ฉด๋™๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ธก์ •์†Œ๋ฅผ ์•ˆ๋‚ดํ•ด ์ค๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
sidoName ์‹œ๋„ ์ด๋ฆ„
sggName ์‹œ๊ตฐ๊ตฌ ์ด๋ฆ„
umdName ์๋ฉด๋™ ์ด๋ฆ„
tmX ์๋ฉด๋™์˜ tm_X ์ขŒํ‘œ
tmY ์๋ฉด๋™์˜ tm_Y ์ขŒํ‘œ

๋Œ€๊ธฐ์˜ค์—ผ์ •๋ณด์กฐํšŒ ์„œ๋น„์Šค (PollutionData ํด๋ž˜์Šค)

  • ์ธก์ •์†Œ๋ณ„ ์‹ค์‹œ๊ฐ„ ์ธก์ •์ •๋ณด์กฐํšŒ (station)
>> PollutionData.station(station_name, data_term, page_no='1', num_of_rows='10', ver='1.2')

*์ธก์ •์†Œ ์ด๋ฆ„*๊ณผ *์š”์ฒญ ๋ฐ์ดํ„ฐ ๊ธฐ๊ฐ„*๋ฅผ ๋ฐ›์•„ ๋ฐ์ดํ„ฐ ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ ์ธก์ •์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ธก์ •์ผ
mangName ์ธก์ •๋ง
khaiGrade ํ†ตํ•ฉ๋Œ€๊ธฐํ™˜๊ฒฝ ์ง€์ˆ˜
khaiValue ํ†ตํ•ฉ๋Œ€๊ธฐํ™˜๊ฒฝ ์ˆ˜์น˜
coGrade ์ผ์‚ฐํ™”ํƒ„์†Œ ์ง€์ˆ˜
coValue ์ผ์‚ฐํ™”ํƒ„์†Œ ๋†๋„
no2Grade ์ด์‚ฐํ™”์งˆ์†Œ ์ง€์ˆ˜
no2Value ์ด์‚ฐํ™”์งˆ์†Œ ๋†๋„
o3Grade ์˜ค์กด ์ง€์ˆ˜
o3Value ์˜ค์กด ๋†๋„
so2Grade ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ์ง€์ˆ˜
so2Value ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ๋†๋„
pm10Grade PM10(๋ฏธ์„ธ๋จผ์ง€) ์ง€์ˆ˜
pm10Value PM10 ๋†๋„
pl10Value24 PM10 24์‹œ๊ฐ„ ์˜ˆ์ธก๋†๋„
pm25Grade PM2.5(์ดˆ๋ฏธ์„ธ๋จผ์ง€) ์ง€์ˆ˜
pm25Value PM2.5 ๋†๋„
pm25Value24 PM2.5 24์‹œ๊ฐ„ ์˜ˆ์ธก๋†๋„
  • ํ†ตํ•ฉ๋Œ€๊ธฐํ™˜๊ฒฝ์ง€์ˆ˜ ๋ฏผ๊ฐ๊ตฐ ์ด์ƒ ์ธก์ •์†Œ ๋ชฉ๋ก ์กฐํšŒ (strangelist)
>> PollutionData.strangelist(page_no='1', num_of_rows='10')

ํ˜„์žฌ ํ†ตํ•ฉ๋Œ€๊ธฐํ™˜๊ฒฝ์ง€์ˆ˜๊ฐ€ ๋‚˜์จ ์ด์ƒ์œผ๋กœ ์ด์ƒํ•œ ์ธก์ •์†Œ์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•ด์ค๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
addr ์ธก์ •์†Œ ์ฃผ์†Œ
stationName ์ธก์ •์†Œ ์ด๋ฆ„
  • ์‹œ๋„๋ณ„ ์‹ค์‹œ๊ฐ„ ์ธก์ •์ •๋ณด์กฐํšŒ (sido)
>> PollutionData.sido(sido_name, page_no='1', num_of_rows='10', ver='1.2')

๊ด‘์—ญ์ž์น˜๋‹จ์ฒด(์‹œ, ๋„) ์ด๋ฆ„์„ ๋ฐ›์•„ ๊ด‘์—ญ์ž์น˜๋‹จ์ฒด ๋Œ€ํ‘œ ์‹œ๊ตฐ๊ตฌ์— ์œ„์น˜ํ•œ ์ธก์ •์†Œ ์ธก์ •์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ธก์ •์ผ
mangName ์ธก์ •๋ง
stationName ์ธก์ •์†Œ ์ด๋ฆ„
khaiGrade ํ†ตํ•ฉ๋Œ€๊ธฐํ™˜๊ฒฝ ์ง€์ˆ˜
khaiValue ํ†ตํ•ฉ๋Œ€๊ธฐํ™˜๊ฒฝ ์ˆ˜์น˜
coGrade ์ผ์‚ฐํ™”ํƒ„์†Œ ์ง€์ˆ˜
coValue ์ผ์‚ฐํ™”ํƒ„์†Œ ๋†๋„
no2Grade ์ด์‚ฐํ™”์งˆ์†Œ ์ง€์ˆ˜
no2Value ์ด์‚ฐํ™”์งˆ์†Œ ๋†๋„
o3Grade ์˜ค์กด ์ง€์ˆ˜
o3Value ์˜ค์กด ๋†๋„
so2Grade ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ์ง€์ˆ˜
so2Value ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ๋†๋„
pm10Grade PM10(๋ฏธ์„ธ๋จผ์ง€) ์ง€์ˆ˜
pm10Value PM10 ๋†๋„
pl10Value24 PM10 24์‹œ๊ฐ„ ์˜ˆ์ธก๋†๋„
pm25Grade PM2.5(์ดˆ๋ฏธ์„ธ๋จผ์ง€) ์ง€์ˆ˜
pm25Value PM2.5 ๋†๋„
pm25Value24 PM2.5 24์‹œ๊ฐ„ ์˜ˆ์ธก๋†๋„
  • ๋ฏธ์„ธ๋จผ์ง€/์˜ค์กด ์˜ˆ๋ณดํ†ต๋ณด ์กฐํšŒ (forecastlist)
>> PollutionData.forecastlist(inform_code, search_date='0', page_no='1', num_of_rows='10')

*์กฐํšŒ์ฝ”๋“œ(PM10, PM25, O3)*์™€ *์กฐํšŒ๋‚ ์งœ(์˜ˆ: 2016-05-14)*๋ฅผ ๋ฐ›์•„ ๊ทธ ์‹œ๊ฐ ์˜ˆ๋ณด๊ฐ€ ์žˆ๋Š” ๊ณณ์„ ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ž๋ฃŒ ์ผ์ž
imageUrl1 ๋ชจ๋ธ ๊ฒฐ๊ณผ(PM10 12์‹œ)
imageUrl2 ๋ชจ๋ธ ๊ฒฐ๊ณผ(PM10 18์‹œ)
imageUrl3 ๋ชจ๋ธ ๊ฒฐ๊ณผ(PM10 24์‹œ)
imageUrl4 ๋ชจ๋ธ ๊ฒฐ๊ณผ(PM2.5 12์‹œ)
imageUrl5 ๋ชจ๋ธ ๊ฒฐ๊ณผ(PM2.5 18์‹œ)
imageUrl6 ๋ชจ๋ธ ๊ฒฐ๊ณผ(PM2.5 24์‹œ)
informCause ๋ฐœ์ƒ์›์ธ
informData ์—์ธกํ†ต๋ณด ์‹œ๊ฐ„
informGrade ์˜ˆ๋ณด๋“ฑ๊ธ‰
informOverall ์˜ˆ๋ณด๊ฐœํ™ฉ
actionKnack ํ–‰๋™์š”๋ น (ํ•„์š”์‹œ)

๋Œ€๊ธฐ์˜ค์—ผํ†ต๊ณ„ ์„œ๋น„์Šค (PollutionStats ํด๋ž˜์Šค)

  • ์ธก์ •์†Œ๋ณ„ ์ตœ์ข…ํ™•์ • ๋†๋„ ์กฐํšŒ(station)
>> PollutionStats.station(station_name, searchCondition, page_no='1', num_of_rows='10')

์ธก์ •์†Œ ์ด๋ฆ„*๊ณผ *์—ฐ๋ณ„/์›”๋ณ„/์ผ๋ณ„(YEAR/MONTH/DAILY) ์กฐ๊ฑด์„ ์ œ๊ณต ๋ฐ›์•„ ์ธก์ • ์‹œ์ž‘์ผ๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ํ†ต๊ณ„์น˜๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ธก์ •์ผ
so2Avg ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ๋†๋„ ํ‰๊ท 
coAvg ์ผ์‚ฐํ™”ํƒ„์†Œ ๋†๋„ ํ‰๊ท 
o3Avg ์˜ค์กด ๋†๋„
no2Avg ์ด์‚ฐํ™”์งˆ์†Œ ๋†๋„
pm10Avg ๋ฏธ์„ธ๋จผ์ง€ ๋†๋„
  • ๊ธฐ๊ฐ„๋ณ„ ์˜ค์—ผํ†ต๊ณ„ ์กฐํšŒ (period)
>> PollutionStats.period(searchDataTime, statArticleCondition, page_no='1', num_of_rows='10')

*๊ฒ€์ƒ‰ ์›”(์˜ˆ: 2008-01)*๊ณผ *์ธก์ •๋ง์ •๋ณด(์˜ˆ: "๋„์‹œ๋Œ€๊ธฐ")*๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์›” ํ†ต๊ณ„ ์ž๋ฃŒ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ธก์ •์ผ
sidoName ์‹œ๋„์ด๋ฆ„ (์ง€์ž์ฒด๋ช…)
so2Avg ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ๋†๋„ ํ‰๊ท 
coAvg ์ผ์‚ฐํ™”ํƒ„์†Œ ๋†๋„ ํ‰๊ท 
o3Avg ์˜ค์กด ๋†๋„ ํ‰๊ท 
no2Avg ์ด์‚ฐํ™”์งˆ์†Œ ๋†๋„ ํ‰๊ท 
pm10Avg ๋ฏธ์„ธ๋จผ์ง€(PM10) ๋†๋„ ํ‰๊ท 
so2Max ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ๋†๋„ ์ตœ๋Œ€๊ฐ’
coMax ์ผ์‚ฐํ™”ํƒ„์†Œ ๋†๋„ ์ตœ๋Œ€๊ฐ’
o3Max ์˜ค์กด ๋†๋„ ์ตœ๋Œ€๊ฐ’
no2Max ์ด์‚ฐํ™”์งˆ์†Œ ๋†๋„ ์ตœ๋Œ€๊ฐ’
pm10Max ๋ฏธ์„ธ๋จผ์ง€ ๋†๋„ ์ตœ๋Œ€๊ฐ’
so2Min ์•„ํ™ฉ์‚ฐ๊ฐ€์Šค ๋†๋„ ์ตœ์†Œ๊ฐ’
coMin ์ผ์‚ฐํ™”ํƒ„์†Œ ๋†๋„ ์ตœ์†Œ๊ฐ’
o3Min ์˜ค์กด ๋†๋„ ์ตœ์†Œ๊ฐ’
no2Min ์ด์‚ฐํ™”์งˆ์†Œ ๋†๋„ ์ตœ์†Œ๊ฐ’
pm10Min ๋ฏธ์„ธ๋จผ์ง€ ๋†๋„ ์ตœ์†Œ๊ฐ’

์˜ค์กดํ™ฉ์‚ฌ ๋ฐœ์ƒ์ •๋ณด์กฐํšŒ (O3YOccurInfo ํด๋ž˜์Šค)

  • ์˜ค์กด์ฃผ์˜๋ณด ๋ฐœ์ƒ์ •๋ณด ์กฐํšŒ(o3)
>> O3YOccurInfo.o3(year, page_no='1', num_of_rows='10')

*์กฐํšŒ ์—ฐ๋„*๋ฅผ ์ œ๊ณต๋ฐ›์•„ ํŠน์ • ์—ฐ๋„์˜ ์˜ค์กด์ฃผ์˜๋ณด ๋ฐœ์ƒ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ธก์ •์ผ
districtName ๋ฐœ๋ น ์ง€์—ญ ์ด๋ฆ„
moveName ๋ฐœ๋ น ๊ถŒ์—ญ ์ด๋ฆ„
issueTime ๋ฐœ๋ น ์‹œ๊ฐ
issueVal ๋ฐœ๋ น ์‹œ ์˜ค์กด ๋†๋„
clearTime ํ•ด์ œ ์‹œ๊ฐ
clearVal ํ•ด์ œ ์‹œ ์˜ค์กด ๋†๋„
MaxVal ์˜ค์กด ์ตœ๊ณ  ๋†๋„
  • ํ™ฉ์‚ฌ์ฃผ์˜๋ณด ๋ฐœ์ƒ์ •๋ณด ์กฐํšŒ(yellow)
>> O3YOccurInfo.yellow(year, page_no='1', num_of_rows='10')

*์กฐํšŒ ์—ฐ๋„*๋ฅผ ์ œ๊ณต๋ฐ›์•„ ํŠน์ • ์—ฐ๋„์˜ ํ™ฉ์‚ฌ์ฃผ์˜๋ณด ๋ฐœ์ƒ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ๋ช…(์˜๋ฌธ) ํ•ญ๋ชฉ๋ช…(๊ตญ๋ฌธ)
dataTime ์ธก์ •์ผ
tmCnt ๋ฐœ๋ น ํšŒ์ฐจ
tmArea ์ฃผ์˜๋ณด ๋ฐœ๋ น ์ง€์—ญ

๋ชจ๋“ˆ ๋ฌธ์„œ (Documentation)

์•„์ง ์ค€๋น„ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๊นŒ์ง€ ๊ฐœ๋ฐœ๋œ ๋ชจ๋“ˆ์€ Github ๋‚ด pypubdata ์ €์žฅ์†Œ์˜ README.rst๋ฅผ ์ฐธ์กฐํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

(https://github.com/gomgomdev/pypubdata)

๋„์›€์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ ๊ธฐํƒ€ ๋ฌธ์˜ ์•ˆ๋‚ด (Contact)

Github ์ €์žฅ์†Œ ๋‚ด Issues์—์„œ ๊ฐ์ข… ๋ฒ„๊ทธ์™€ ๊ธฐํƒ€ ๋ฌธ์˜๋ฅผ ์ถ”์ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๋ณธ์—…์ด ์•„๋‹Œ ์Œฉ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž์ด๋ฏ€๋กœ ์‚ด์‚ด ๋‹ค๋ค„์ฃผ์„ธ์š”... (^^;)

(https://github.com/gomgomdev/pypubdata)