국가공간정보포털 / GIS건물통합정보 shp 위경도 변환

2,598 views
Skip to first unread message

develo...@gmail.com

unread,
Mar 9, 2017, 12:43:02 AM3/9/17
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
안녕하세요.

GIS 데이터를 google map에 적용시키는 방법에 어려움이 있어 질문 남깁니다.

국가공간정보포털 / GIS건물통합정보 (openapi.nsdi.go.kr/nsdi/eios/ServiceDetail.do?svcSe=F&svcId=F010)
에서 서울시 shp 파일을 다운받아 java pro4j 라이브러리를 사용하여
해당 사이트에 나와있는 EPSG:2097 좌표계를 가지고 변환하였으나 오차가 있어 google map에 적용시키는데 무리가 있습니다.

혹 저와 같은 데이터를 가지고 google map 위에 표현하신 분들이 있으신지

있으시다면 좌표 변환계를 어떤 것을 사용하셨는지 여쭤봅니다.

사용한 pro4j 좌표 변환계 parameter : {"+proj=tmerc","+lat_0=38","+lon_0=127","+k=1","+x_0=200000","+y_0=500000","+ellps=bessel","+units=m","+no_defs" ,"+towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43"}


BJ Jang

unread,
Mar 9, 2017, 12:49:51 AM3/9/17
to osge...@googlegroups.com
안녕하세요?
제가 알고 있기로는 공식 자료중에는 EPSG:2097 좌표계로 된 자료는 없습니다.
EPSG:2097 좌표계라 되어있는 자료들을 실제로는 EPSG:5174 좌표계 입니다.

두가지 좌표계의 차이는 원점의 경도에 0.0028902777778의 오차보정값이 들어 있는지 여부입니다.
우리나라에서 실제로 1900년대에 사옹되던 TM에는 이 오차보정값이 적용되어 사용되었습니다.

때문에 아래의 EPSG:5174의 파라미터로 시도해 보시면 아마 좋은 결과 있으실 겁니다.

+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

감사합니다.

2017년 3월 9일 오후 2:43, <develo...@gmail.com>님이 작성:

--
이 메일은 Google 그룹스 'OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+unsubscribe@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 osge...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/osgeo-kr에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.



--

Open Source GIS Technical Manager / e-Cartographer
장병 이사 | BJ Jang

가이아쓰리디()
서울시 금천구 가산동 60-19 SJ테크노빌 702호
tel
: 02-3397-3475 | fax: 02-3397-3278
e-mailjang...@gmail.com | mobile: 010-3390-7056

develo...@gmail.com

unread,
Mar 9, 2017, 2:14:41 AM3/9/17
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter


2017년 3월 9일 목요일 오후 2시 49분 51초 UTC+9, 장비 님의 말:


안녕하세요?
제가 알고 있기로는 공식 자료중에는 EPSG:2097 좌표계로 된 자료는 없습니다.
EPSG:2097 좌표계라 되어있는 자료들을 실제로는 EPSG:5174 좌표계 입니다.

두가지 좌표계의 차이는 원점의 경도에 0.0028902777778의 오차보정값이 들어 있는지 여부입니다.
우리나라에서 실제로 1900년대에 사옹되던 TM에는 이 오차보정값이 적용되어 사용되었습니다.

때문에 아래의 EPSG:5174의 파라미터로 시도해 보시면 아마 좋은 결과 있으실 겁니다.

+proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs +towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43

감사합니다.
2017년 3월 9일 오후 2:43, <develo...@gmail.com>님이 작성:
안녕하세요.

GIS 데이터를 google map에 적용시키는 방법에 어려움이 있어 질문 남깁니다.

국가공간정보포털 / GIS건물통합정보 (openapi.nsdi.go.kr/nsdi/eios/ServiceDetail.do?svcSe=F&svcId=F010)
에서 서울시 shp 파일을 다운받아 java pro4j 라이브러리를 사용하여
해당 사이트에 나와있는 EPSG:2097 좌표계를 가지고 변환하였으나 오차가 있어 google map에 적용시키는데 무리가 있습니다.

혹 저와 같은 데이터를 가지고 google map 위에 표현하신 분들이 있으신지

있으시다면 좌표 변환계를 어떤 것을 사용하셨는지 여쭤봅니다.

사용한 pro4j 좌표 변환계 parameter : {"+proj=tmerc","+lat_0=38","+lon_0=127","+k=1","+x_0=200000","+y_0=500000","+ellps=bessel","+units=m","+no_defs" ,"+towgs84=-115.80,474.99,674.11,1.16,-2.31,-1.63,6.43"}


--
이 메일은 Google 그룹스 'OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+u...@googlegroups.com에 이메일을 보내세요.

이 그룹에 게시하려면 osge...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/osgeo-kr에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.



--

Open Source GIS Technical Manager / e-Cartographer
장병 이사 | BJ Jang

가이아쓰리디()
서울시 금천구 가산동 60-19 SJ테크노빌 702호
tel
: 02-3397-3475 | fax: 02-3397-3278
e-mailjang...@gmail.com | mobile: 010-3390-7056






장비님이 알려주신 parameter  값으로 shp 파일을 변환했을때
왼쪽 이미지와 같이 결과가 나왔습니다.

오차는 많이 줄어들었습니다만 시스템에 적용하기에는 무리가 있어 보입니다.

shp 파일 데이터가 잘못된 것인지 parameter 값을 추가로 변경해야 하는지
만약 parameter 값을 추가로 변경해야 한다면 무엇을 변경해야 할지 질문 드립니다.

BJ Jang

unread,
Mar 9, 2017, 2:48:32 AM3/9/17
to osge...@googlegroups.com
아 국토지리정보원에서 국토정보포털에서 받으신 자료이군요.
제가 메일을 대충 봤습니다.

그럼 좌표계가 EPSG:5174가 아닌 EPSG:5186 일 것입니다.
두 좌표계는 타원체도 서로 다르고, False Y 값이 다릅니다.

EPSG:5186 의 값으로 한번 해 보시죠.
+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs

만일 백령도 등 서해안 지역이면 EPSG:5185, 강원도등 동부 지역이면 EPSG:5187 일 수도 있습니다.


2017년 3월 9일 오후 4:14, <develo...@gmail.com>님이 작성:
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+unsubscribe@googlegroups.com에 이메일을 보내세요.

이 그룹에 게시하려면 osge...@googlegroups.com에 이메일을 보내세요.
https://groups.google.com/group/osgeo-kr에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.

develo...@gmail.com

unread,
Mar 9, 2017, 3:30:47 AM3/9/17
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
답변 감사합니다.

제가 받은 데이터는 서울 건물정보인데 EPSG:5186 으로 변환했을때 세종시에 표시됩니다.

해당 데이터에 포함되어 있던 확장자 proj 파일을 열어보니 아래와 같이 명시되어 있습니다.

PROJCS["Korean_1985_Modified_Korea_Central_Belt",GEOGCS["GCS_Korean_Datum_1985",DATUM["D_Korean_Datum_1985",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000.0],PARAMETER["False_Northing",500000.0],PARAMETER["Central_Meridian",127.0028902777778],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",38.0],UNIT["Meter",1.0]]

제가 GIS 전문가가 아니라 몇개는 대충 눈치껏 알겠는데
저 데이터를 가지고 parameter를 구성해야 할 듯 싶은데 조언 부탁드립니다.

최규성

unread,
Mar 9, 2017, 8:28:13 AM3/9/17
to osge...@googlegroups.com
Developer0502 님에게,

서울시 데이터는 EPSG:2097을 반영하고 있는 것이 맞습니다. (Bessel 타원체를 적용한 한국측지계에 경도 오차 10.405"가 미보정된 TM 투영법 좌표체계) 

한편, Google Maps에서는 EPSG:3857을 사용합니다. (Spherical Web Mercator) 이에 대한 Proj4js 정의는 아래와 같습니다.
"+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext  +no_defs";

위의 내용으로 원하는 답을 구하지 못하였다면,  "google map에 적용시키는 방법" 에 대해 설명해 주시기를 요망드립니다.
(Developer 님은 "google map에 적용시키는 방법" 이라고 하였는데, 어떻게 하는 것을 말하는 것인지 이것을 알 수가 없군요. 보통의 경우, 데이터가 투영정보를 가지고 있어서 소프트웨어적으로는 on-the-fly 투영이 이루어지기 때문에 사용자 입장에서 좌표계를 굳이 맞추지 않아도 되거든요.)

(주)이지매핑 대표 최규성 드림  (M. 010-5414-4374)
Kyu-sung Choi, EZMapping (M. +82-10-5414-4374)

2017년 3월 9일 오후 5:30, <develo...@gmail.com>님이 작성:

--

shs...@gaia3d.com

unread,
Mar 9, 2017, 9:49:21 AM3/9/17
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter

안녕하세요?

 

1.    말씀하신 openapi.nsdi.go.kr/nsdi/eios/ServiceDetail.do?svcSe=F&svcId=F010 사이트에서 서울 자료를 다운로드 받아 봤습니다. 같이 제공되는 좌표정보를 보니 EPSG:5174에 해당합니다. QGIS에서 읽어들여보면 자동으로 EPSG:5174를 물고 들어옵니다.

2.    다만, 오픈소스GIS 프로그램들은 우리나라 타원체 변환에 대한 변환계수를 자동으로 제공하지 않습니다. 따라서, 앞서 장병진 이사님이 말씀하셨듯이 타원체 변환 계수(Bessel1841 -> WGS84)를 추가로 적용할 필요가 있습니다.

3.    여기 제가 한 번 적용해 본 결과를 보내 드립니다. 처음에는 타원체 변환계수 없이 EPSG:5174 EPSG:3857로 바로 변환했을 때의 여의도 지역의 모습입니다. 타원체 변환에 대한 계수 없이 변환했으니 당연히 300m 가량의 오차가 발생합니다. 다음 캡쳐는 타원체 변환계수를 적용하여 변환한 결과입니다. 여의도나 서울 전체적으로 잘 맞는 걸 보실 수 있을 것입니다.

4.    다만, 국토부에서 제공한 지도와 구글지도가 정확히 중첩되기 바라지는 마시기 바랍니다. 두 지도의 기초가되는 기본지도(프레임웤데이터)가 다를 수 있고, 같았다 하더라도 시간이 지나며 각각의 목적에 따라 변형이 있었을 수 있습니다.

 

결론적으로, 말씀하신 자료는 EPSG:5174이며, +proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +towgs84=-115.8,474.99,674.11,1.16,-2.31,-1.63,6.43 +units=m +no_defs”를 쓰셔서 좌표변환하면 되며, 두 지도가 정확히 중첩되지 않더라도 그건 그럴 수 있겠구나 생각하시는 편이 정신건강에 좋습니다.

 

감사합니다.

 

신상희 드림
---
Shin, Sanghee
Gaia3D, Inc. - The GeoSpatial Company
http://www.gaia3d.com

 

보낸 사람: develo...@gmail.com
보낸 날짜: 2017 3 9일 목요일 오후 4:14
받는 사람: OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
제목: Re: [osgeo-kr:3053] 국가공간정보포털 / GIS건물통합정보 shp 위경도 변환

 

https://lh3.googleusercontent.com/-diKNUXSiB7s/WMD-Eq_f4oI/AAAAAAAAAA8/8FILlwJeolgrcrMgJnezWypQBzcvXiPNwCLcB/s320/%25EB%25B3%2580%25ED%2599%2598%25EA%25B2%25B0%25EA%25B3%25BC.png

 

장비님이 알려주신 parameter  값으로 shp 파일을 변환했을때

왼쪽 이미지와 같이 결과가 나왔습니다.

 

오차는 많이 줄어들었습니다만 시스템에 적용하기에는 무리가 있어 보입니다.

 

shp 파일 데이터가 잘못된 것인지 parameter 값을 추가로 변경해야 하는지

만약 parameter 값을 추가로 변경해야 한다면 무엇을 변경해야 할지 질문 드립니다.

--

2.PNG
1.PNG
3.PNG

Dong Jin Kang

unread,
Mar 9, 2017, 9:50:53 AM3/9/17
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter

받은 자료를 EPSG:5174로 좌표계를 define만 해주면 OTF로 제 위치로 가지 않지만,
EPSG:5174로 define한 자료(사진의 녹색건물외곽선)를  EPSG:5186으로 reprojection해주면(사진에 빨강외곽선) OnTheFly투영으로도 제위치를 찾아 가네요.



2017년 3월 9일 목요일 오후 2시 43분 2초 UTC+9, develo...@gmail.com 님의 말:

최규성

unread,
Mar 9, 2017, 10:39:48 AM3/9/17
to osge...@googlegroups.com
Developer0502 님 및 관련 post를 남기신 분들에게, 

제가 이전 메일에서 발송한 내용(하단 붙임)은 올바른 것이 아니기에 정정합니다. 

PROJCS["Korean_1985_Modified_Korea_Central_Belt",GEOGCS["GCS_Korean_Datum_1985",DATUM["D_Korean_Datum_1985",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000.0],PARAMETER["False_Northing",500000.0],PARAMETER["Central_Meridian",127.0028902777778],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",38.0],UNIT["Meter",1.0]]

위에서 WKT로 정의된 투영정보 파일은 
> EPSG: 5174 이며
> Bessel 타원체를 적용한 한국측지계에 경도 오차 10.405"가 보정된 TM 투영법 좌표체계 (중부원점)
을 반영한 것입니다. 

2017. 3. 8. 23:48 에 shs...@gaia3d.com 이 발송한 이메일 내용의 1. 번 내용이 올바르다는 것을 다시 한번 확인합니다. 
(혼선을 드린 것에 대해 죄송합니다.) 

(주)이지매핑 대표 최규성 드림  (M. 010-5414-4374)
Kyu-sung Choi, EZMapping (M. +82-10-5414-4374)

2017년 3월 9일 오후 10:28, 최규성 <kyusun...@gmail.com>님이 작성:
Reply all
Reply to author
Forward
0 new messages