▶본문 바로가기
▶주메뉴 바로가기
농어촌지하수관측망시스템
농어촌지하수관리시스템
농어촌지하수관리시스템
지하수위현황
지하수위경보
해수침투경보
관측소제원
관측자료조회
관측자료 통계
관측자료분석
지하수관측망시스템은 지하수 관측 종합정보를 제공합니다.
농어촌지하수관측망 Open API
서비스목록
서비스목록(상세 정보 기재)
제원정보
시간별데이터
일데이터
레퍼런스가이드 샘플코드
※ 신청자에 한해서 가이드 배포 예정
요청변수
목록
항목명(한글)
항목명(영문)
항목구분
샘플데이터
항목설명
서비스키
serviceKey
필수
-
인증키
페이지번호
pageIndex
필수
1
페이지번호
한 페이지 결과 수
recordCountPerPage
필수
10
한 페이지 결과 수
출력결과
목록
항목명(한글)
항목명(영문)
샘플데이터
관측소ID
wellObsId
JN-NJU-A2-0001
관측망구분
wellObsGubun
농촌지하수
관측항목
hangmok
수위, 전기전도도, 수온
관측소명
wellObsNm
나주1
관측주기
cycle
1시간
경보단계
level
정상(농촌지하수 : 순별, 해수침투 : 일별)
주소
totalAddress
전라남도 나주시 세지면 벽산리 137-3
표고(m)
alt
35.7
설치연도
installYear
2020
충적/암반
kind
암반
지역특성
gubun
내륙
구경(mm)
gulTop
200
심도(m)
dep
100
토사층
tosa
4
실트
silteu
사층
sa
2
사력층
sgvlLyr
1
혼전석
honjeonseok
풍화대
punghwadae
5
연암
yeonam
68
보통암
botongam
20
경암
gyeongam
지하수위
simdoWate
35
전기전도도(상부)
simdoEc1
35
전기전도도(하부)
simdoEc2
수온(상부)
simdoWt1
35
수온(하부)
simdoWt2
레퍼런스가이드 샘플코드
※ 신청자에 한해서 가이드 배포 예정
요청변수
목록
항목명(한글)
항목명(영문)
항목구분
샘플데이터
항목설명
서비스키
serviceKey
필수
-
인증키
관측소ID
wellObsId
필수
JN-HPG-A1-0001
관측소ID
관측일시
meaDate
필수
20220101
관측연월일
출력결과
목록
항목명(한글)
항목명(영문)
샘플데이터
관측소ID
wellObsId
JN-HPG-A1-0001
관측소명
wellObsNm
손불1
주소
totalAddress
전라남도 함평군 손불면 월천리 727
관측일시
meaDate
20221205 00:00:00
수위
el
-6.18
심도
gl
7.98
전기전도도1
ec1
23,470
전기전도도2
ec2
26,282
수온1
wt1
15.8
수온2
wt2
16.8
레퍼런스가이드 샘플코드
※ 신청자에 한해서 가이드 배포 예정
요청변수
목록
항목명(한글)
항목명(영문)
항목구분
샘플데이터
항목설명
서비스키
serviceKey
필수
-
인증키
관측소ID
wellObsId
필수
JN-NJU-A2-0001
관측소ID
관측일시
meaDate
필수
202201
관측연월
출력결과
목록
항목명(한글)
항목명(영문)
샘플데이터
관측소ID
wellObsId
JN-NJU-A2-0001
관측소명
wellObsNm
나주1
주소
totalAddress
전라남도 나주시 세지면 벽산리 137-3
관측일시
meaDate
20220101 12:00:00
경보상태
level
정상(지하수위 : 순별, 해수침투 : 일별)
수위
el
29.03
심도
gl
6.67
전기전도도1
ec1
304
전기전도도2
ec2
수온1
wt1
15.5
수온2
wt2
샘플코드
Java
Javascript
C#
PHP
Curl
Objective-C
Python
Nodejs
R
/* Java 1.8 샘플 코드 */
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.BufferedReader;
import java.io.IOException;
public class ApiExplorer {
public static void main(String[] args) throws IOException {
StringBuilder urlBuilder = new StringBuilder("https://www.groundwater.or.kr/mw/api/getstationData.do"); /*URL*/
urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "=서비스키"); /*Service Key*/
urlBuilder.append("&" + URLEncoder.encode("pageIndex","UTF-8") + "=" + URLEncoder.encode("1", "UTF-8")); /*페이지번호*/
urlBuilder.append("&" + URLEncoder.encode("recordCountPerPage","UTF-8") + "=" + URLEncoder.encode("10", "UTF-8")); /*한 페이지 결과 수*/
StringBuilder urlBuilder = new StringBuilder("https://www.groundwater.or.kr/mw/api/gettimeData.do"); /*URL*/
urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "=서비스키"); /*Service Key*/
urlBuilder.append("&" + URLEncoder.encode("wellObsId","UTF-8") + "=" + URLEncoder.encode("GN-NHE-A1-0004", "UTF-8")); /* 관측소 ID */
urlBuilder.append("&" + URLEncoder.encode("meaDate","UTF-8") + "=" + URLEncoder.encode("20190101", "UTF-8")); /* 관측연월일 */
StringBuilder urlBuilder = new StringBuilder("https://www.groundwater.or.kr/mw/api/getdailyData.do"); /*URL*/
urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "=서비스키"); /*Service Key*/
urlBuilder.append("&" + URLEncoder.encode("wellObsId","UTF-8") + "=" + URLEncoder.encode("GN-NHE-A1-0004", "UTF-8")); /* 관측소 ID */
urlBuilder.append("&" + URLEncoder.encode("meaDate","UTF-8") + "=" + URLEncoder.encode("201901", "UTF-8")); /* 관측연월 */
URL url = new URL(urlBuilder.toString());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-type", "application/json");
System.out.println("Response code: " + conn.getResponseCode());
BufferedReader rd;
if(conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) {
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
rd = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
}
StringBuilder sb = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
conn.disconnect();
System.out.println(sb.toString());
}
}
/* Javascript 샘플 코드 */
var xhr = new XMLHttpRequest();
var url = 'https://www.groundwater.or.kr/mw/api/getstationData.do'; /*URL*/
var queryParams = '?' + encodeURIComponent('serviceKey') + '='+'서비스키'; /*Service Key*/
queryParams += '&' + encodeURIComponent('pageIndex') + '=' + encodeURIComponent('1'); /*페이지번호*/
queryParams += '&' + encodeURIComponent('recordCountPerPage') + '=' + encodeURIComponent('10'); /*한 페이지 결과 수*/
var url = 'https://www.groundwater.or.kr/mw/api/gettimeData.do'; /*URL*/
var queryParams = '?' + encodeURIComponent('serviceKey') + '='+'서비스키'; /*Service Key*/
queryParams += '&' + encodeURIComponent('wellObsId') + '=' + encodeURIComponent('GN-NHE-A1-0004'); /* 관측소 ID */
queryParams += '&' + encodeURIComponent('meaDate') + '=' + encodeURIComponent('20190101'); /* 관측연월일 */
var url = 'https://www.groundwater.or.kr/mw/api/getdailyData.do'; /*URL*/
var queryParams = '?' + encodeURIComponent('serviceKey') + '='+'서비스키'; /*Service Key*/
queryParams += '&' + encodeURIComponent('wellObsId') + '=' + encodeURIComponent('GN-NHE-A1-0004'); /* 관측소 ID */
queryParams += '&' + encodeURIComponent('meaDate') + '=' + encodeURIComponent('201901'); /* 관측연월 */
xhr.open('GET', url + queryParams);
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
alert('Status: '+this.status+'nHeaders: '+JSON.stringify(this.getAllResponseHeaders())+'nBody: '+this.responseText);
}
};
xhr.send('');
// C# 샘플 코드
using System;
using System.Net;
using System.Net.Http;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static HttpClient client = new HttpClient();
static void Main(string[] args)
{
string url = "https://www.groundwater.or.kr/mw/api/getstationData.do"; // URL
url += "?ServiceKey=" + "서비스키"; // Service Key
url += "&pageIndex=1";
url += "&recordCountPerPage=10";
string url = "https://www.groundwater.or.kr/mw/api/gettimeData.do"; // URL
url += "?ServiceKey=" + "서비스키"; // Service Key
url += "&wellObsId=GN-NHE-A1-0004";
url += "&meaDate=20190101";
string url = "https://www.groundwater.or.kr/mw/api/getdailyData.do"; // URL
url += "?ServiceKey=" + "서비스키"; // Service Key
url += "&wellObsId=GN-NHE-A1-0004";
url += "&meaDate=201901";
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
string results = string.Empty;
HttpWebResponse response;
using (response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
results = reader.ReadToEnd();
}
Console.WriteLine(results);
}
}
}
/* PHP 샘플 코드 */
$ch = curl_init();
$url = 'https://www.groundwater.or.kr/mw/api/getstationData.do'; /*URL*/
$queryParams = '?' . urlencode('serviceKey') . '=서비스키'; /*Service Key*/
$queryParams .= '&' . urlencode('pageIndex') . '=' . urlencode('1'); /**/
$queryParams .= '&' . urlencode('recordCountPerPage') . '=' . urlencode('10'); /**/
$url = 'https://www.groundwater.or.kr/mw/api/gettimeData.do'; /*URL*/
$queryParams = '?' . urlencode('serviceKey') . '=서비스키'; /*Service Key*/
$queryParams .= '&' . urlencode('wellObsId') . '=' . urlencode('GN-NHE-A1-0004'); /**/
$queryParams .= '&' . urlencode('meaDate') . '=' . urlencode('20190101'); /**/
$url = 'https://www.groundwater.or.kr/mw/api/getdailyData.do'; /*URL*/
$queryParams = '?' . urlencode('serviceKey') . '=서비스키'; /*Service Key*/
$queryParams .= '&' . urlencode('wellObsId') . '=' . urlencode('GN-NHE-A1-0004'); /**/
$queryParams .= '&' . urlencode('meaDate') . '=' . urlencode('201901'); /**/
curl_setopt($ch, CURLOPT_URL, $url . $queryParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
/* cURL 샘플 코드 */
curl --include --request GET
'https://www.groundwater.or.kr/mw/api/getstationData.do?serviceKey=서비스키&pageIndex=1&recordCountPerPage=10'
'https://www.groundwater.or.kr/mw/api/gettimeData.do?serviceKey=서비스키&wellObsId=GN-NHE-A1-0004&meaDate=20190101'
'https://www.groundwater.or.kr/mw/api/getdailyData.do?serviceKey=서비스키&wellObsId=GN-NHE-A1-0004&meaDate=201901'
/* Objective-C 샘플 코드 */
#import
#import
@implementation NSString (URLEncoding)
//function used to encode query and matrix parameters
-(NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding {
return (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)self,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]% ",
CFStringConvertNSStringEncodingToEncoding(encoding));
}
@end
int main (int argc, const char * argv[])
{
@autoreleasepool {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSString *endpoint = [NSString stringWithFormat:@"https://www.groundwater.or.kr/mw/api/getstationData.do"]; /*URL*/
NSString *queryParams = [NSString stringWithFormat:@"?%@&%@&%@&%@&%@&%@&%@",
[NSString stringWithFormat:@"%@=%@", [@"serviceKey" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"서비스키" urlEncodeUsingEncoding:NSUTF8StringEncoding]]
, [NSString stringWithFormat:@"%@=%@", [@"pageIndex" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"1" urlEncodeUsingEncoding:NSUTF8StringEncoding]]
, [NSString stringWithFormat:@"%@=%@", [@"recordCountPerPage" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"10" urlEncodeUsingEncoding:NSUTF8StringEncoding]];
NSString *endpoint = [NSString stringWithFormat:@"https://www.groundwater.or.kr/mw/api/gettimeData.do"]; /*URL*/
NSString *queryParams = [NSString stringWithFormat:@"?%@&%@&%@&%@&%@&%@&%@",
[NSString stringWithFormat:@"%@=%@", [@"serviceKey" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"서비스키" urlEncodeUsingEncoding:NSUTF8StringEncoding]]
, [NSString stringWithFormat:@"%@=%@", [@"wellObsId" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"GN-NHE-A1-0004" urlEncodeUsingEncoding:NSUTF8StringEncoding]]
, [NSString stringWithFormat:@"%@=%@", [@"meaDate" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"20190101" urlEncodeUsingEncoding:NSUTF8StringEncoding]];
NSString *endpoint = [NSString stringWithFormat:@"https://www.groundwater.or.kr/mw/api/getdailyData.do"]; /*URL*/
NSString *queryParams = [NSString stringWithFormat:@"?%@&%@&%@&%@&%@&%@&%@",
[NSString stringWithFormat:@"%@=%@", [@"serviceKey" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"서비스키" urlEncodeUsingEncoding:NSUTF8StringEncoding]]
, [NSString stringWithFormat:@"%@=%@", [@"wellObsId" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"GN-NHE-A1-0004" urlEncodeUsingEncoding:NSUTF8StringEncoding]]
, [NSString stringWithFormat:@"%@=%@", [@"meaDate" urlEncodeUsingEncoding:NSUTF8StringEncoding], [@"201901" urlEncodeUsingEncoding:NSUTF8StringEncoding]];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",endpoint,queryParams]]];
[request setHTTPMethod:@"GET"];
NSHTTPURLResponse *urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"Response Code: %d", [urlResponse statusCode]);
if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300) {
NSLog(@"Response: %@", result);
}
return 0;
}
}
# Python3 샘플 코드 #
import requests
url = 'https://www.groundwater.or.kr/mw/api/getstationData.do'
params ={'serviceKey' : '서비스키', 'pageIndex' : '1', 'recordCountPerPage' : '10' }
url = 'https://www.groundwater.or.kr/mw/api/gettimeData.do'
params ={'serviceKey' : '서비스키', 'wellObsId' : 'GN-NHE-A1-0004', 'meaDate' : '20190101' }
url = 'https://www.groundwater.or.kr/mw/api/getdailyData.do'
params ={'serviceKey' : '서비스키', 'wellObsId' : 'GN-NHE-A1-0004', 'meaDate' : '201901' }
response = requests.get(url, params=params)
print(response.content)
/* NodeJs 12 샘플 코드 */
var request = require('request');
var url = 'https://www.groundwater.or.kr/mw/api/getstationData.do';
var queryParams = '?' + encodeURIComponent('serviceKey') + '=서비스키'; /* Service Key*/
queryParams += '&' + encodeURIComponent('pageIndex') + '=' + encodeURIComponent('1'); /* */
queryParams += '&' + encodeURIComponent('recordCountPerPage') + '=' + encodeURIComponent('10'); /* */
var url = 'https://www.groundwater.or.kr/mw/api/gettimeData.do';
var queryParams = '?' + encodeURIComponent('serviceKey') + '=서비스키'; /* Service Key*/
queryParams += '&' + encodeURIComponent('wellObsId') + '=' + encodeURIComponent('GN-NHE-A1-0004'); /* */
queryParams += '&' + encodeURIComponent('meaDate') + '=' + encodeURIComponent('20190101'); /* */
var url = 'https://www.groundwater.or.kr/mw/api/getdailyData.do';
var queryParams = '?' + encodeURIComponent('serviceKey') + '=서비스키'; /* Service Key*/
queryParams += '&' + encodeURIComponent('wellObsId') + '=' + encodeURIComponent('GN-NHE-A1-0004'); /* */
queryParams += '&' + encodeURIComponent('meaDate') + '=' + encodeURIComponent('201901'); /* */
request({
url: url + queryParams,
method: 'GET'
}, function (error, response, body) {
//console.log('Status', response.statusCode);
//console.log('Headers', JSON.stringify(response.headers));
//console.log('Reponse received', body);
});
/* R 4.1.0 샘플 코드 */
install.packages("httr") # HTTP통신을 위한 패키지 설치
library(httr)
GET('https://www.groundwater.or.kr/mw/api/getstationData.do?serviceKey=서비스키&pageIndex=1&recordCountPerPage=10')
GET('https://www.groundwater.or.kr/mw/api/gettimeData.do?serviceKey=서비스키&wellObsId=GN-NHE-A1-0004&meaDate=20190101')
GET('https://www.groundwater.or.kr/mw/api/getdailyData.do?serviceKey=서비스키&wellObsId=GN-NHE-A1-0004&meaDate=201901')