▶본문 바로가기 ▶주메뉴 바로가기

지하수관측망시스템은 지하수 관측 종합정보를 제공합니다.

서비스목록(상세 정보 기재)

  • 제원정보
  • 시간별데이터
  • 일데이터

레퍼런스가이드 샘플코드

※ 신청자에 한해서 가이드 배포 예정

요청변수
목록
항목명(한글) 항목명(영문) 항목구분 샘플데이터 항목설명
서비스키 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')