[GIS] 공간 데이터 좌표 변환툴 – XrProjection

이 툴에 대한 최신 버전은 XrProjection v3.1 을 통해 다운로드 받아 사용하시기 바랍니다.

개발자 피드백

  • EPSG900913(구글좌표계)를 지원합니다. 구글좌표계는 WGS84 타원체를 사용하므로 WGS84 타원체가 아닌 좌표계 간의 변환에서는 반드시 변환 파라메터를 지정하셔야 합니다 ㅡ 2013/07/23
  • WGS80 타원체의 경위도에 대한 Bessel 타원체/GRS80 타원체의 경위도에 대한 상호 좌표변환은 반드시 변환 파라메터 사용 여부를 체크해야 옳바르게 변환됩니다 ㅡ 2013/05/30
  • 행안부 새주소 좌표계(UTM-K)와 관련된 좌표계 변환 정확도 문제 제거하였습니다 ㅡ 2013/03/22
  • WGS84 타원체에서 다른 좌표계로의 변환 정확도 문제를 제거하였습니다 ㅡ 2012/10/28

공간 데이터에 대한 좌표 변환툴입니다. SHP 파일에 대한 좌표 변환과 폴더에 저장된 모든 파일에 대한 좌표 변환 그리고 좌표 하나에 대한 좌표 변환 끝으로 Degree와 DMS 간의 변환 기능을 제공합니다. 이와 함께 좌표 변환에 사용되는 3 파라메터와 7 파라메터를 지정할 수도 있습니다.

각 기능에 대한 UI는 탭으로 독립되어 있어서 사용하기에 쉽고 직관적입니다. 이 프로그램에 대한 소스 코드와 실행 파일을 별도로 분리하여 아래 링크를 통해 다운로드 받을 수 있습니다. 이 프로그램은

듀라맵과 .NET 2.0 프레임워크를 사용합니다.

먼저 좌표변환시 사용할 3 파라메터 또는 7 파라메터를 지정하는 UI입니다. 실제 업무에서 있어서 특별한 경우가 아니라면 이 파라메터의 지정은 하지 않으며 공간 데이터를 제공하는 곳에서 특별한 언급이 있는 경우에 사용하시기 바랍니다.

사용자 삽입 이미지
다음은 하나의 SHP 파일에 대한 좌표 변환 기능입니다. 변환하고자 하는 SHP 파일과 변환하고자 하는 SHP 파일의 원래 좌표계를 지정하고 변환되어 저장 출력될 SHP 파일과 변환될 좌표계를 지정하면 됩니다.

사용자 삽입 이미지
다음은 폴더 단위로 좌표변환을 하는 기능입니다. 지정한 폴더에 저장된 모든 SHP 파일이 좌표 변환되어 원하는 출력 폴더로 저장됩니다. 많은 SHP 파일을 한번에 좌표 변환할때 유용하게 사용할 수 있는 기능입니다.

사용자 삽입 이미지
다음은 하나의 좌표에 대한 변환 기능입니다. 하나의 좌표의 변환만을 해보거나 좌표 변환 기능을 테스트해 볼 때 유용한 기능입니다.

사용자 삽입 이미지
끝으로 하나의 Degree(도) 단위 값의 각도를 DMS(Degree, Minute, Second)의 3개의 값으로 분리하거나 이와 반대로 변환해 주는 기능입니다.

사용자 삽입 이미지
이 프로그램은 맵엔진인 듀라맵을 이용해 개발되었습니다. 실행을 위해 먼저 듀라맵을 시스템에 등록하셔야 합니다. 듀라맵에 대한 소개는 다음 UR을 통해 살펴보시기 바랍니다.

“[GIS] 공간 데이터 좌표 변환툴 – XrProjection”에 대한 36개의 댓글

  1. 폴더 단위 좌표변환으로 전국지적도 변환해보니 잘 돌아가고 잘 맞네요..0_0)/
    처음에 뻗어서 새버전 듀라맵받아서 해보니 문제없이 돌아갔습니다.

    1. 문제발생~ 서울지역을 WGS84로 변환하니, 예전 듀라맵 버전에서 변환해서 맞던 좌표가 최신 버전에선 남동쪽으로 많이 내려가네요. 다시 롤백해서 해보니 맞네요. 최신버전은 첫번째 탭에 있는 변환파라메터를 대입하면 바뀔까요?

    1. 말씀하신 변환 파라메터 지정과 연관이 있는 것 같습니다.파라메터를 지정해서 해보시기 바랍니다.

  2. 안녕하세요. GIS 관련 검색을 하다가 왔습니다.
    혹시 GIS를 GPS의 특정 좌표계로 변환시킬 수 있는 방법이 있을까요?
    검색을 해봐도 특정 공식같은게 나오지 않네요..

    1. GPS는 WGS84 경위도좌표계입니다. 좌표계 변환은 proj.4라는 오픈소스 라이브러리를 사용하시면 됩니다. 아니면 여기 쥔장님께서 개발하신 듀라맵을 사용하셔도 됩니다.

  3. 아래와 같은 변환에 있어서 정확한 변환을 확인했습니다. 감사합니다.

    WGS84 경위도 -> 카텍 (변환 파라메터 사용)
    Bessel1841 경위도 -> 카텍

  4. 좌표변환으로 고생깨나 했던 경험을 이 툴로 쉽게도 할 수 있게 되었습니다.
    아마도 그간 경험도 도움이 되겠지만… 이 툴 좌표변환 정말 쉽게 할 수 있게 잘만드셨네요,,
    특히 폴더 단위 변환은 정말 작업할때 머리를 맑게 해주십니다,, 감사!!!

  5. VWorld는 구글좌표계(EPSG900913)을 사용합니다. 특정좌표계를 이 구글좌표계로 변환할때.. 특정좌표계의 타원체가 구글좌표계의 타원체(WGS84)와 다를 경우.. 변환 파라메터를 지정해야 하며.. VWorld의 경우 3파라메터로 하시기 바랍니다.

  6. 안녕하세요. 올려주신 프로그램 잘 쓰고 있습니다. 저는 GeoCoder-Xr 2.0을 이용해서 지번주소를 wgs84 좌표계로 만들고, 이 만들어진 값을 XrProjection의 단일좌표변환 탭내의 기능을 이용해서 카텍좌표계로 변환하여 지도에 올리고 있는데요. 이 변환되어진 카텍좌표 값이 오차가 꽤 있는 것 같아서 해결방안이 있을까 해서 문의 드립니다.

    1. toWGS84 변환 파라메터를 사용하셔야 한답니다.
      3, 7 두가지가 있는데.. 두개 모두 해보시고 정확한 것을 사용해 보시기 바랍니다.,

  7. 안녕하세요 담당자님

    해당 프로그램 사용 도중 문제가 생겨 댓글 남깁니다.

    단일 shp 파일을 변환하기 위해 파일 첨부 후 complete 까지 완료가 되는데

    새로 생성된 shp파일에 들어가보면 좌표가 변경 전과 그대로 나와있어서 무엇이 문제이고 해결방법이 있는지 알려주시면 감사드리겠습니다.

    좌표계는 tm 중부원점에서 wgs 타원체로 변경중입니다.

    1. 안녕하세요, 김형준입니다.
      좌표계가 변경되지 않았다면 원본 좌표계와 변환하고자 하는 좌표계를 동일하게 지정했기 때문이 아닐까 싶습니다..
      아니면 변환된 shp이 아닌 다른 shp을 살펴보셨거나…
      다시 한번 점검해 보시기 바랍니다.

  8. 안녕하세요.
    shp을 활용하는 업체 회사원입니다.
    업로드 하신 [GIS] 공간 데이터 좌표 변환툴 – XrProjection을 활용하여 shp의 좌표변환을 하고자 하는데
    무료로 사용해도 괜찮은가요?

    1. 안녕하세요, 김형준입니다.
      네, 추후 별도의 공지가 없는 한 컴파일된 프로그램에 대해서 자유롭게 사용이 가능합니다.

  9. 안녕하세요 혹시저는 grs80 좌표계를 wgs84로 변환하려는대 엑셀파일 shp 파일로 변환해서
    오류없이 변환했는대 왜 좌표가 그대로 일까요 ㅠㅠ

    엑셀에서 좌표 표기는

    x | y |
    322133 | 234234|

    이런식으로 첫줄에 xy 써있고
    밑으로 쭉 좌표가 적혀있는대
    잘못표기 되어잇는건가요 ??

    1. “grs80 좌표계”라는 정보만으로는 좌표계를 특정할 수 없습니다.
      grs80은 타원체로 다양한 좌표계에서 이 타원체를 사용합니다.

  10. 데이터좌표계가 Bessel/중부(200,000/500,000)인 제주 연속지적도를 (TM중부원점 Bessel타원체로) 좌표계 지정 후
    변환파라메터3으로 하고 epsg:900913으로 변환시 vworld에 띄울 시 지도보다 아래에 위치하네요~

    다른 변환파라메터로 해도 딱 맞지가 않는데 다른 방법이 있을까요?

    1. 얼마나 아래쪽에 위치하나요?
      파라메터를 사용하지 않거나 10 파라메터로 지정해보시기 바랍니다.
      아니면, 일단 WGS84 경위도(10파라메터 사용)로 변환하시고, 이를 다시 epsg:900913으로 변환해보시는 것도 추천드립니다.
      어서 대한민국에 좌표계가 통일되어야 할텐데 말입니다..

      1. *제주도의 아래 1/3지점에 위치합니다.

        *TM중부원점(bessel타원체)-10.405보정 —->> EPGS:900913 변환시
        파라메터 사용안했을 때와 파라메터3과 bessel-wgs82변환 체크시는 파라메터 사용했을 때가 조금 더 제주도 쪽으로 올라갑니다.
        하지만 큰 차이가 없네요.

        *동일한 좌표계 선택 후 파라메터 WGS84(10파라메터)변환 후 900913변환시에는 파라메터 사용안한상태로 EPSG:900913으로 변환했을 때와
        지도 위치가 동일합니다.

        *프로그램은 qgis 2.18.28에서 shp파일을 읽어서 보고 있구요.
        데이터는 제주연속지적도 (국가공간정보포털 – 데이터 좌표계:Bessel/중부(200,000/500,000)) 입니다.

        ++ 추가로 다운받은 지적도를 qgis를 통해 베이스 지도인 vworld(EPSG:3857)에 올린 후
        [+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] 해당 좌표계(보정된 중부원점(Bessel) EPSG:5174)로 선택할 시 vworld 지도에 딱 맞춰집니다.

        제가 뭔가 잘못 알고 있거나 실수를 하고 있는 것인지 ㅠㅠ

  11. 안녕하세요
    좌표변환을 10파라미터를 지원한다고 하여
    중부tm5174를 세계측지계 중부tm좌표로 “단일좌표변환”탭을 이용하여 변환하여보았는데요.
    – “변환파라메터” 탭 설정 : 변환파라미터 사용여부 체크 후 10파라미터 선택 후
    10파라미터가 지리원이 고시한 몰로덴스키10파라미터와 동일하게 셋팅되는것을 바로 사용
    Bessel – > GRS80(WGS84) 체크박스 선택
    – 입력 좌표계 선택 : 대한민국 중부(Bessel 타원체) – 10.405 보정
    – 출력 좌표계 선택 : 대한민국 TM 중부원점(GRS80 타원체)
    결과값
    5174 (132388.1 478941.6) ==> 결과값 5186 (132455.180148131 579243.38332524)
    위와 같이 나오는데요.

    arcgis에서 제공하는 Projection Tool로 테스트 한결과 xy 값이 거진 2가량이 차이가 나네요
    132457.845 579245.493

    제가 맞게 설정한것일까요?

    ps. DuraMap-Xr 의 샘플을 보고서 도입검토 여부를 판단하기위하여 문의드립니다.
    http://www.gisdeveloper.co.kr/?p=3913

    1. 안녕하세요, 김형준입니다.
      좌표변환 로직 과정에서 사용된 수치해석 알고리즘 중 값의 수렴으로 2가지 선택 가능한 방법이 있습니다.
      현재는 속도를 위해 빠른 방법을 사용하고 있습니다.
      어떤 경위도 좌표를 입력하였을때, (132455.180148131 579243.38332524)가 나왔는지 알려주시면, 확인해보도록 하겠습니다.

      1. 일전의 댓글의 변환 파라메터탭의 설정후
        1) “단일좌표변환”탭이동
        2) 입력X /경도 132388.1 입력 ==> 5174 원시X좌표
        3) 입력Y /위도 478941.6 입력 ==> 5174 원시Y좌표
        4) 좌표계 대한민국 중부(Bessel 타원체) – 10.405 보정 선택
        프로그램에서 표출된 proj string값 : +proj=tmerc +lat_0=38N +lon_0=127.0028902777778E +ellps=bessel +x_0=200000 +y_0=500000 +k=1 +units=m +no_defs
        5) 변환버튼 다음의 좌표계 선택 : 대한민국 TM 중부원점(GRS80 타원체)
        프로그램에서 proj string값 : +proj=tmerc +lat_0=38N +lon_0=127E +ellps=GRS80 +x_0=200000 +y_0=600000 +k=1 +units=m +no_defs
        6) 변환버튼 클릭
        7) 출력 X/경도값 132455.180148131
        8) 출력 Y/위도값 579243.38332524

        이렇게 설정하여 얻은 7) 9) 값입니다.
        감사합니다.

        1. ArcGIS의 좌표변환과 오차가 난다고 하셨는데…
          위에서 언급한 좌표는 ArcGIS에서 어떻게 얻어셨나요..?
          10파라메터에 대한 ArcGIS의 좌표변환과 XrProjection의 좌표변환 사이의 오차를 구하기 위해 입력 경위도 좌표를 여쭈어본것입니다.
          덧붙여서 ArcGIS의 10 파라메터의 값은 실제로 확인하셨나요?
          XrProjection에서는 해당 10개의 파라메터가 UI 상에서 표시되고 있습니다.
          이 10개의 파라메터가 ArcGIS와 동일한지도 확인이 필요하답니다.

          1. 아 제가 댓글을 잘못이해했나보네요.
            아래의 내용이 맞을지 모르겠습니다.

            1) arcgis 10.1버젼에서 테스트 햇습니다.
            2) 5174 로 shp 생성후에 원시데이터 포인트를 찍었습니다.
            3) arc의 toolbox의 Data management에서 Projections And Transformations에서 Project를 사용하여
            3.1) Input dataset or FeatureClass ==> 2) 선택 후
            3.2) Input Coordinate System 에서는 자동으로 5174(Korean_1985_Modified_Korea_Central_Belt) ==> 이밎 2)에서 5174로 생성해서요.
            3.3) Output Coordinate System 에서는 5186으로 선택 (Korea_2000_Korea_Central_Belt_2010) 후에
            3.4) Geographic Transformation (optional)에서는 “Korean_1985_To_Korea_2000_1″을 선택 후
            4) 변환하여 얻은 결과입니다.

            참고로 3.4)의 Korean_1985_To_Korea_2000_1 옵션과 Korean_1985_To_WGS_1984_1 + Korea_2000_To_WGS_1984_1
            를 적용했을시에 모두 같은값을 얻었답니다.

            감사합니다.

          2. ArcGIS의 경우에 사용되는 10개의 변환 파라메터가 어떻게 되는지 확인이 필요합니다. 이 파라메터에 따라 좌표 변환 결과가 달라지니 말입니다..

          3. 김형준님 아래에 대한 댓글입니다. (댓글의 아이콘이 없어서리..)
            —————————————————————————————————–
            ArcGIS의 경우에 사용되는 10개의 변환 파라메터가 어떻게 되는지 확인이 필요합니다. 이 파라메터에 따라 좌표 변환 결과가 달라지니 말입니다..
            —————————————————————————————————–
            댓글…매퍼
            1) 아주오래전 ArcGIS 9.3 이었을때 세계측지계 변환을 위하여 사용한 지리원 고시 몰로덴스키10파라미터 값을 사용하여 변환한 결과 값과
            2) ArcGIS 10부터 나오는 옵션 2가지로 변환한 결과값이 모두 동일한 것을 볼때

            1)과 2)는 동일한 파라미터를 사용하는것 같습니다.

            1)의 내용은 아래의 pdf보면 몰로덴스키10명세가 나와있는데요….
            http://www.biz-gis.com/?module=file&act=procFileDownload&file_srl=67348&sid=894b44240d3f057bd14354bcaea6558a

            XrProjection이 파라메터탭에서 제시하는 10파라미터값과 동일한 것으로 보여지는데요..
            저값들이 틀린것인가요?

          4. 안녕하세요, 김형준입니다.
            참고한 자료를 보니 다행이 ArcGIS와 XrProjection이 사용하는 10개의 파라메터가 동일한듯합니다.
            그럼 변환 알고리즘 문제인데.. XrProjection에서는 좌표변환에 대한 수렴 방식을 간략법과 정밀법 중 간략법을 사용합니다.
            현재는 간략법이구요. 한번 정밀법으로 변경해 보도록 하겠습니다.

          5. 안녕하세요, 김형준입니다.
            좌표 변환에 대한 소스코드를 살펴보았습니다.
            DuraMap-Xr의 사용하는 좌표변환은 “An Improved Algorithm for Geocentric to Geodetic Coordinate Conversion”라는 제목의 Ralph Toms의 1996년도 논문에 언급된 방식입니다.
            이 방식 이전에는 반복법이라는 1985년도의 Wenzel, H.-G.의 방법입니다.
            ArcGIS가 위의 2가지 방식 중 어떤 방식인지, 또는 전혀 새로운 어떤 방식인지 몰라 답변 드리기가 어렵습니다.

          6. 아넵…감사합니다…
            결과를 댓글 해주시면 감사하겠습니다.
            수고하세요!!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다