로블록스 스튜디오에서 HTTP 통신으로 '기상청 단기예보 공공데이터'를 가져와보겠습니다.
local HttpService = game:GetService("HttpService")
//데이터를 불러올 URL 입력
local URL_ASTROS = "http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtNcst?serviceKey=본인이 발급받은 api key 입력&pageNo=1&numOfRows=1000&dataType=json&base_date=20220718&base_time=1600&nx=100&ny=90"
local response = HttpService:GetAsync(URL_ASTROS)
-- Parse the JSON response
local data = HttpService:JSONDecode(response)
print(data) //Json으로 받아온 data를 로그로 확인해봅시다.
로그를 확인해보시면 변수 data에는 아래와 같이 담겨져있습니다.
{"response":{"header":{"resultCode":"00","resultMsg":"NORMAL_SERVICE"},"body":{"dataType":"JSON","items":{"item":[{"baseDate":"20220728","baseTime":"1600","category":"PTY","nx":100,"ny":90,"obsrValue":"0"}, {"baseDate":"20220728","baseTime":"1600","category":"REH","nx":100,"ny":90,"obsrValue":"84"},{"baseDate":"20220728","baseTime":"1600","category":"RN1","nx":100,"ny":90,"obsrValue":"0"},{"baseDate":"20220728","baseTime":"1600","category":"T1H","nx":100,"ny":90,"obsrValue":"27"},{"baseDate":"20220728","baseTime":"1600","category":"UUU","nx":100,"ny":90,"obsrValue":"0.7"},{"baseDate":"20220728","baseTime":"1600","category":"VEC","nx":100,"ny":90,"obsrValue":"347"},{"baseDate":"20220728","baseTime":"1600","category":"VVV","nx":100,"ny":90,"obsrValue":"-2.9"},{"baseDate":"20220728","baseTime":"1600","category":"WSD","nx":100,"ny":90,"obsrValue":"3.1"}]},"pageNo":1,"numOfRows":1000,"totalCount":8}}}
카테고리 PTY, REH 등에 의미는 기상청 api문서에 나와있으니 참고하시길 바랍니다.
여기서 PTY(강수 형태 : 없음,비,눈..)의 obsrValue 값을 출력해봅시다.
obsrValue가 의미하는것은
0이면 강수형태없음
1이면 비,
2이면 비/눈
3이면 눈
이런식으로 숫자에 따른 강수형태가 정해져있습니다. 자세한건 기상청 api문서를 참고해주세요.
local PTY = data["response"].body.items.item[1].obsrValue
print(PTY) // 0 이 출력 된다.
tl_rain.Text = "강수형태: " .. PTY // TextLabel tl_rain에 데이터 set 해주기. //강수형태 : 0
이렇게 로그를 찍어보면 2022-07-28 16:00 시의 위도100 경도 90 위치의 PTY 값은 0 이라는걸 확인할 수 있습니다.
'Lua' 카테고리의 다른 글
[로블록스 스크립트][Lua] 캐릭터에만 반응하는 Part 만들기 (0) | 2022.10.13 |
---|---|
[Lua] 자라나는 잔디 만들기 (0) | 2022.09.17 |
[로블록스 스튜디오]배경음악 넣기 (0) | 2022.08.19 |
[로블록스 스튜디오] 버튼을 클릭하여 오디오 재생하기 (0) | 2022.08.04 |