'글로벌매퍼'에 해당되는 글 2건

설계도면을 Garmin GPS에 넣어 사용하기

Posted on 2012. 6. 30. 10:23
Filed Under 응용 프로그램

반응형

수치 지적도, 지형도를 GPS에 넣는 방법은 블로그에 매뉴얼을 올려 두었고 이제 산림 관련 설계도면을 GPS에 넣어 사용하는 매뉴얼을 적어 보겠습니다. 설계도면의 경우 수치지도를 이용한 캐드 파일이라 이미 지리적 좌표가 입력되어 있습니다. 다만, 캐드 프로그램에서 좌표를 다시 맞추어 주어야 하는 경우도 있습니다.

 

60CSx에서는 IMG(벡터형식) 포맷만 사용가능합니다. 62s, Oregon, Montana에서는 IMG와 더불어 Custom Maps(KMZ), BirdsEye(JNX) 이렇게 세가지 포맷을 사용할 수 있습니다. 따라서 설계도면을 이 세가지 포맷으로 변환하는 작업의 매뉴얼을 적어 보겠습니다.

 

주)매뉴얼의 분량이 많아 어려운 작업으로 느껴질 수 있지만 단 한번만 작업을 해 보면 이후 작업시엔 아주 쉽고 간단하며 시간도 얼마 걸리지 않습니다. 이 모든 작업이 숙련도에 따라 짧게는 10분, 길게는 30분 정도 밖엔 소요되지 않습니다. 다만, 처음 작업을 할 시엔 관련 프로그램을 구하고 설치해야 하는 시간과 작업 내용을 이해 하여야 하는 시간 때문에 상당한 시간이 소요될 수 있습니다. 주의할점은 이 작업의 순서 중 좌표체계에서 하나라도 빠트리게 되면 GPS에서 확인할 때 정확한 좌표 매칭이 되지 않습니다.

 

1. 캐드도면 파일 작업

 

 

이 글에서 사용할 도면은 숲가꾸기 설계도인데요. 도면이 표준지배치도, 작업지시도, 소반별작업지시도 이렇게 세가지가 있습니다. 여기서 문제는 가장 좌측의 도면만 지리적 좌표와 일치하고 중간과 우측의 도면은 맞지 않습니다. 물론 당연한 것이겠지만요.

 

좌측 도면의 경우 불필요한 부분을 삭제한 후 GPS에 넣어 사용할 포맷으로 변환해 주면 되구요. 우측의 도면은 텍스트라 필요하지 않습니다. 그렇다면 중간 도면의 좌표는 맞추어 주어야 합니다. 이때 중간 도면을 좌측의 도면과 일치를 시키면 좌표가 맞게 됩니다. 이것도 당연한 것이겠죠. 이 작업을 필요로 하시는 분들은 캐드 숙련자일 것이기에 디테일한 설명은 드리지 않겠습니다.

 

좌측 도면 불필요한 부분 삭제하기

 

 

다른 불필요한 부분은 전부 삭제하고 위의 화면에 보이는 도면 부분만을 남겼습니다. 물론 다 넣어도 되겠지만 IMG 포맷으로 제작했을 경우 그만큼 GPS 로딩속도가 느려질 겁니다. 그래서 최소한의 필요한 부분만을 남겨 두고 나머지는 삭제를 해야 합니다.

 

 

현재의 도면은 Tokyo, 127 경도원점을 사용하고 있습니다. Tokyo는 Bessel TM-Tokyo(TM, 수치좌표)를 뜻하며 127 경도원점은 중부원점을 뜻합니다. 125는 서부원점, 129는 동부원점입니다. 나중에 글로벌 매퍼에서 작업을 할텐데요. 이 좌표체계를 기억해 두셔야 합니다. 이 도면은 현 상태 그대로 GPS에 사용가능한 포맷으로 변환하면 됩니다.

 

중간 도면 수치좌표 맞추기

 

이 부분은 설명하지 않아도 될 것 같습니다만, 이렇게 할 수도 있다라는 예만 들겠습니다.

 

 

일단 수치좌표가 맞는 좌측 도면의 테두리만 남기고 전부 삭제합니다. 그리고 중간 도면을 전부 지정해 좌측으로 이동 시키겠습니다.

 

 

중간(화면의 우측) 도면 전체를 블록 지정 후 move 명령어를 사용하여 좌측 도면 테두리로 옮기면 됩니다. 위의 캡쳐 화면은 옮기고 있는 과정인데요. 화면 우측 도면 블록지정 -> move 엔터 -> 테두리 꼭지점을 확대한 후 정확한 위치에 클릭 -> 다시 축소하여 좌측 테두리로 이동 -> 확대하여 테두리의 정확한 꼭지점에 클릭 -> 이동완료, 작업 순서는 이렇게 되겠죠.

 

 

테두리의 꼭지점에 마우스를 갖다 대고 난 뒤 잠시후 끝점 표시가 나타났을 때 클릭하시면 정확하게 매칭을 할 수 있습니다.

 

 

작업이 완료 된 후에는 위의 화면 처럼 되겠죠. 중간 도면이 좌측 도면 위치로 이동하였습니다.

 

 

불필요한 부분을 전부 삭제하고 난 뒤 남은 도면입니다. 이렇게 만들어진 도면을 DWG 또는 DXF로 저장을 해 주시면 됩니다. 본 작업에선 DWG로 저장했습니다.

 

레이어 색상선택

 

 

IMG 형식은 글로벌 매퍼 프로그램을 거쳐 GPSMapEdit 프로그램에서 라인 종류 및 색상을 선택할 것이지만 Custom Maps(KMZ)과 BirdsEye(JNX)는 캐드화면의 색상 그대로 GPS 장치에 들어가게 됩니다. 따라서 각 레이어 마다 적당한 색상을 선택하여야 합니다.

 

만약 위성사진이 배경에 깔려 있거나 깔려고 할 때도 이에 맞는 색상을 선택하여야 합니다. 위성사진은 글로벌 매퍼에서 따로 불러 주어 바탕에 깔아도 됩니다.

 

2. 글로벌 매퍼(Global Mapper)에서 편집

 

캐드 파일 불러오기

 

 

글로벌 매퍼에서 DWG 파일을 불러오게 되면 먼저 좌표체계를 선택하는 창이 뜹니다. 사용할 좌표체계를 선택하는게 아니라 도면의 현재 좌표체계를 선택하는 겁니다. 따라서 Load From File..을 눌러 좌표계 참조 파일에서 TM127_중부원점을 선택하였습니다.

 

주)좌표계 참조파일 사용법은 본 블로그를 검색하시면 사용방법 및 참조파일을 다운로드 할 수 있습니다. 또는 http://gpser.tistory.com/53 이 글의 중간 쯤 '네군데 포인트 캘리브레이션 작업' 부분에 좌표계 참조파일 사용 방법과 다운르도 링크가 있습니다.

 

불필요한 라인이 있는지 확인하기

 

캐드 작업시 도면 외에 다른 부분에 불필요한 라인을 미처 삭제하지 못했을 경우 글로벌 매퍼에서 삭제를 해 주어야 합니다. IMG 포맷의 경우 벡터 형식이라 그대로 두어도 크게 상관은 없지만 Custom Maps와 JNX의 경우 래스터 형식의 Tiff 이미지 형식으로 변환하여야 하기에 이미지의 해상도(크기)가 불필요하게 커질 수 있습니다.

 

 

단축 아이콘 중 Full View(전체보기)를 클릭하면 전체 라인 또는 레이어가 한 화면에 나타납니다. 이때 위의 화면 처럼 불필요한 라인이 남아 있는 경우에는 삭제를 하여야 합니다.

 

 

삭제 방법은 단축 아이콘 중 Digitizer Tool을 선택하고 난 뒤 마우스 포인터를 삭제할 라인에 갖다 대고 클릭 합니다. 그리고 Del키를 눌러 삭제를 합니다. 또는 마우스로 삭제할 범위를 드래그(블록 지정) 한 후 한꺼번에 삭제할 수도 있습니다.

 

 

Full View를 눌렀을 때 이렇게 한 화면에 꽉 찬다면 편집작업은 완료입니다. 불필요한 라인을 다 지웠는데도 불구하고 Full View를 눌렀을 때 여백이 크게 나타난다면 그대로 다음 작업을 진행하여도 무방합니다. 버그일 수 있습니다.

 

좌표체계 WGS84로 변경하기

 

GPS에서는 WGS84 좌표체계만 사용할 수 있습니다. 물론 TM이나 ITRF를 그대로 GPS에 넣어도 사용가능하지만 좌표가 맞지 않습니다. 따라서 꼭 WGS84 좌표체계로 변환 한 후 다음 작업을 진행하여야 합니다. 이 작업은 캐드 파일을 글로벌 매퍼에서 불러 올 때 TM이나 기타 좌표로 불러오고 나서 바로 WGS84로 변경해 주어도 됩니다. 중요한 것은 불러올 때는 도면의 원 좌표체계로 불러 와야 좌표 오차가 발생하지 않는 다는 것입니다.

 

 

 

3. 글로벌 매퍼에서 GPS 포맷으로 변환하기

 

Custom Maps(KMZ) 포맷으로 변환하기

 

먼저 작업하기가 가장 간단한 커스텀 맵으로 변환해 보겠습니다. Custom Maps는 KMZ(구글어스) 포맷을 사용하며 이는 래스터 형식입니다. 래스터 형식은 해상도가 낮을수록 화면 확대(Zoom In)시 이미지는 깨져 보입니다. 따라서 적당한 해상도 즉 이미지의 크기를 미리 지정해 줄 필요가 있습니다. 이를 위해서 글로벌 매퍼에서 스케일을 조정해야 합니다. 명심할 점은 너무 크도, 너무 작아도 안된다는 것입니다. 적당하게 해야 합니다.

 

 

메뉴-View-Zom To Scale을 선택합니다.

 

 

스케일(축척)을 입력합니다. 이때 화면 아래에 1:1000 처럼 축척이 나타납니다. 마우스 휠을 통해 확대/축소가 가능하며 이때의 축척도 화면 아래 부분에 나타납니다. 이 작업에선 보다 정확한 스케일을 지정하기 위해 Zoom To Scale을 통해 크기를 조정하였습니다.

 

아래에서 작업하게 될 KML/KMZ 포맷 변환 작업시 Cell(이미지 조각)이 몇개나 생성되는지 확인할 수 있습니다. 스케일을 크게 잡았다면 Cell의 수도 많을 것이며 작게 잡았다면 Cell의 수도 적을 겁니다. Cell의 수가 왜 중요한지는 아래에서 다시 설명하겠습니다.

 

예를들어 보겠습니다(작업을 통해 여러가지 변수를 설명하겠습니다, 그대로 따라하시면 됩니다)

 

Scale에서 1000을 입력하였습니다. 해상도가 커져 화면 확대시에도 글자와 라인을 확인하는 것이 수월한 사이즈입니다.

 

 

메뉴의 File-Export Raster/Image Format...을 선택 합니다.

 

포맷 형식 선택창에서 KML/KMZ를 누릅니다.

 

 

KML/KMZ 내보내기 옵션창이 뜹니다. 여기서 Cilck Here to Calculate Spacing in Other Units...을 클릭 합니다. 그럼 Specity Sample Spacing 창이 뜹니다. 여기서 Use Current Screen Pixel Size를 누릅니다. 나머지 설정은 그대로 둡니다.

 

Cilck Here to Calculate Spacing in Other Units...는 KMZ 포맷에 포함 될 이미지의 크기를 지정하는 곳입니다. Use Current Screen Pixel Size는 현재의 해상도 크기로 KMZ 포맷에서 사용할 이미지를 만들겠다는 것입니다. 따라서 이전 작업인 Scale을 선택하는 부분에서 정해진 해상도 대로 작업이 진행될 것입니다.

 

이 창의 나머지 옵션에 대한 설명은 http://gpser.tistory.com/53 글을 참고하시기 바랍니다.

 

 

확인을 누르면 위의 작업이 진행됩니다. Custom Maps에서 사용하게 될  KMZ 파일은 이미지 해상도가 1024x1024(1Mb)를 넘지 못합니다. 따라서 이보다 더 큰 이미지는 1024x1024 사이즈로 여러 조각을 냅니다. 이것이 하나의 Cell인데요. 위의 캡쳐를 보시면 Cells가 151개입니다.

 

Cell(타일, Tile)의 수가 Garmin GPS 오레곤의 경우 100개가 한계입니다. GPS 장치에 존재하는 KMZ 파일의 수가 한개든, 10개든 상관 없이 KMZ에 포함된 Cells의 수가 100개를 넘으면 안됩니다. 몬타나의 경우 500개가 한계입니다. 만약 오레곤에서 사용할 경우 151 Cells는 사용하지 못합니다. 따라서 Zoom To Scale로 돌아가서 1000 스케일을 1500 스케일로 바꾸어 주었습니다.

 

 

그렇게 하니 78 Cells로 바뀌었습니다. 하지만 해상도가 작아진 관계로 글자의 크기도 작아졌습니다. 이는 GPS 장치에서 확대시 스케일 1000 보다 글자가 뚜렷하지 않다는 걸 의미합니다. 일단 글자를 확인하기에 충분한 해상도라 1500을 선택하겠습니다. 앞서 적었다시피 이 부분은 개인마다 다르기 때문에 적당한 스케일을 지정하시면 됩니다. 화면에 보이는 크기 그대로 GPS 장치에서 확인하게 될 것이기에 모니터에서 육안으로 확인하면서 작업하면 됩니다.

 

 

완성된 KMZ 파일을 구글어스에서 먼저 띄워보았습니다. 매뉴얼 작성용으로 만든 테스트 파일이라 너무 성의가 없어 보입니다. 캐드에서 색상수정도 하지 않고 가져 왔더니 라인이나 글자색도 희미해 보이구요. 그래서 응급처치를 해 보기로 했습니다.

 

 

글로벌 매퍼 메뉴-View-Backgroune Color를 선택해 배경화면 색을 바꾸어 보겠습니다.

 

 

흰색 보다는 좀 더 괜찮아 보이는 것 같기도 합니다. 그러나 GPS 장치의 화면에서 볼려면 검정색 같은 어두운 색 보다는 밝은 색이 유리하더군요. 배경색을 검정색으로 지정하면 KMZ 파일도 검정색 바탕으로 나타납니다.

 

 

구글어스에서 확인하기에는 검정색이 좀 더 좋게 보이는 것 같기도 합니다. 이 해상도의 문제는 도면 전체가 아닌 꼭 필요한 부분을 제외한 나머지 부분을 전부 삭제하여 품질을 좋게 할 수 있습니다. 좁은 범위의 필요한 부분만을 선택한다면 Cell의 수가 적어질 것이기에 해상도(이미지 크기)를 크게 할 수 있습니다.

 

위성사진을 바탕에 까는 방법 및 GPS 장치에 넣는 방법에 대해선 링크를 남깁니다. 위성사진과 DWG 도면 파일을 중첩 시켜 KMZ로 만들 수 있습니다. -> Garmin Custom Maps를 만드는 방법(클릭)

 

BirsEye(JNX) 포맷으로 변환하기

 

JNX 포맷으로 변환하기 위해서는 글로벌 매퍼에서 좌표가 입력 된 Geo-Tiff 래스터 이미지로 변환 한 후 MAPC2MAPC 프로그램을 통해 JNX로 변환하는 과정을 거칩니다. 글의 분량이 많아 본 블로그 글의 링크를 겁니다. 이미지 형식의 맵을 사용하기에 캐드화면 또는 글로벌 매퍼에서의 화면 그대로 GPS 장치에서 확인 할 수 있습니다.

 

Custom Maps에서 작업 결과물이 마음에 들지 않는다면 JNX로 만드는 걸 추천합니다. 해상도가 상당히 커져도 JNX에서는 만족할만한 결과물을 가질 수 있습니다.

 

>수치지도를 JNX로 만들어 Garmin GPS에 넣기

 

Garmin 벡터 맵인 IMG 포맷으로 변환하기

 

Garmin GPS에서 벡터 맵을 사용하기 위해선 IMG 포맷을 가진 파일이 필요합니다. 또한 벡터맵의 경우 GPS 표현되는 선의 종류와 색상의 종류가 한정되어 있기 때문에 GPSMapEdit라는 프로그램에서 라인의 색상과 종류를 지정해 주어야 합니다. 한꺼번에 라인의 색상과 종류를 지정하면 안되는 경우, 하나 하나 지정을 해 주어야 하는 경우엔 약간의 노동도 감수를 해야 합니다.

 

수치 지형도와 일반 라인은 글로벌 매퍼에서 MP 포맷으로 변경한 후 GPSMapEdit에서 라인 및 색상 설정 후 IMG 포맷으로 변환 할 수 있습니다. 만약 라인(폴리라인)이 아니라 면(폴리곤 또는 Area)이 포함되어 있다면 GPSMapEdit에서 면(폴리곤)을 라인(폴리라인)으로 변경한 후 IMG 포맷으로 변환하면 됩니다. 이때는 과정이 크게 복잡하지 않습니다.

 

그러나 수치 지적도가 포함 된 경우는 글로벌 매퍼에서 1차적으로 선(Line)과 면(Area) 그리고 지번(Point)을 분리하는 작업인 Shape 파일 변환과정을 거칩니다. 다음으로 GPSMapEdit에서 세개(폴리라인(선),폴리곤(면),포인트)의 Shape을 합친 후에 폴리곤(면)을 폴리라인(선)으로 만드는 작업을 합니다. 그리고 나서 IMG로 변경하는데요.

 

이 작업은 상당히 복잡합니다. 그러나 숙달되면 아무리 큰 수치지도일지라도 10분~20분 정도 밖에 소요되지 않습니다. 이 방법은 아래의 링크를 참고하세요.

 

>수치지적도 dxf-shp-img 변환 후 Garmin GPS에 넣기 매뉴얼

 

4. Garmin GPS 장치에서 확인하기

 

작업 결과물이 GPS 장치에서 어떻게 표현되는지를 보여드리고 싶으나 귀찮은 관계로 생략하겠습니다. 다만, 몇가지 조언을 하겠습니다.

 

생성되는 래스터 이미지의 크기가 클수록 또는 큰 이미지가 필요할 경우 Custom Maps(KMZ) 보다는 BirdsEye(JNX)가 유리합니다. JNX는 PC에서 버벅댈 정도의 큰 해상도를 가진 이미지일지라도 GPS 장치에서 빠르게 로딩하여 사용할 수 있습니다. JNX 역시 이미지를 Cells 또는 Tile 형식으로 조각내어 사용하기 때문입니다. KMZ가 100개의 이미지 조각이 한계이지만 JNX는 250,000개가 한계입니다. 로딩 속도 또한 용량에 따라 JNX가 10배~20배 정도 빠릅니다. 단, 이미지의 크기가 작을 땐 KMZ가 유리합니다. 로딩속도도 별차이 없고 만드는 방법도 아주 간단하기 때문입니다.

 

벡터 맵인 IMG 포맷은 확대/축소(Zoom In/Out)에 상관 없이 선명한 라인과 글자를 확인할 수 있다는 장점이 있습니다. 그러나 만드는 과정이 조금 복잡합니다. 또한 용량이 적당한 상태에서 동일하다고 가정하였을 때 로딩속도가 JNX, KMZ, IMG 모두 비슷합니다. 맵의 용량이 클 경우 IMG-JNX-KMZ 순이 됩니다. 대한민국 전역을 상세한(축척 1:5000) 맵으로 만들어 넣는다고 가정하였을 때 IMG의 로딩속도는 별반 차이가 없는 반면 JNX는 몇개의 파일로 나누어 필요한 지역만을 GPS 장치의 용량에 맞게 넣어야 합니다. 이때 GPS 장치의 부팅 부터 버벅대기 시작합니다. KMZ는 이러한 맵을 만드는 것 자체를 시도해서는 안됩니다.

 

정리를 해 보자면, 범위가 작거나 해상도가 작을 경우 Custom Maps(KMZ)가 유리하며 더 큰 경우 JNX가 유리하며 엄청나게 커질 경우 IMG로 만들어야 합니다.

 

5. 작업후기

 

오프라인에서 저에게 설계도면을 GPS에 넣는 방법을 알려달라는 분이 계셨습니다. 직접 작업을 해 드리면 10분~15분 밖에 걸리지 않지만 가르쳐 드릴려면 하루종일 걸릴 것 같더군요. 그래서 본 매뉴얼을 적었습니다.

 

위에서 사용한 글로벌 매퍼, 좌표계 참조파일, GPSMapEdit 등의 프로그램은 아래의 링크에서 다운로드 또는 다운 받을 수 있는 방법을 참고할 수 있습니다.

 

> http://gpser.tistory.com/17

 

 

 

 

 

반응형

댓글을 달아 주세요

  1. gps입문 2013.11.15 08:04  댓글주소  수정/삭제  댓글쓰기

    상세한 설명 잘 보았습니다.
    이제막 입문하려하는 초심자인데요, 궁금한 점이 있어서요.
    gps 기기에 특정된 gps좌표 값을 수치화된 캐드도면에 입력해
    위치를 보여주는 방법이 있을까요?
    좋은 하루 되세요^^

Garmin, Custom Maps(커스텀 맵)과 맵매칭 방법

Posted on 2012. 6. 24. 05:29
Filed Under 응용 프로그램

반응형

Garmin(가민) GPS의 경우, 래스터(이미지) 맵을 GPS 장치에서 사용하기 위한 방법은 두가지입니다. 첫번째는 Custom Maps(커스텀 맵)이며 두번째는 버즈아이 맵(BirdsEye Maps)입니다. 이 글에선 커스텀 맵 생성 작업을 설명 할 것입니다. Coustom은 구글어스의 포맷인 kmz를 사용합니다. 따라서 작업의 진행은 '래스터 지도 이미지 - 맵 매칭 - kmz 파일 생성'의 순서가 됩니다.

 

>글 업데이트

1. ITRF2000 설명 관련 추가(2012년 6월 28일)

2. Custom Maps와 JNX 비교 관련 추가(2012년 6월 28일)

3. 작업후기, 진북수정 불필요 부분 추가(2012년 7월 8일)

4. 지도의 저작권으로 인해 본문에 포함된 모든 지도 스크린샷은 모자이크 처리하였습니다.

5. 네이버 AIP 부분 내용 수정(2012년 8월 9일)

6. 네이버지도를 Daum API로 맵매칭 후기 - 네이버지도 API 부분에 첨가(2012년 8월 19일)

 

> Custom Maps(커스텀 맵)의 자세한 매뉴얼(사용설명서) 보기 -> http://gpser.tistory.com/10

> 본 글에 포함된 대부분의 이미지는 클릭 시, 확대된 원본 이미지를 볼 수 있습니다.

> 글의 분량이 많고 복잡해 보이는데요. 작업을 단 한번만 해 보시면 아주 간단한 작업이라고 판단하게 될 겁니다. 커스텀 맵의 A에서 Z까지 설명 하느라 글의 분량이 많을 따름입니다.

> 대부분의 포털 지도 서비스와 국토지리정보원에서 발행하는 지도, 그것을 원판으로 재편집 하여 발행한 공식적인 지도 등은 법적인 사용제한이 있습니다.

 

대부분의 지도 서비스 법적공지

 

■ 좌표 캘리브레이션(정조준)을 통한 맵 매칭의 한계

 

커스텀 맵의 맵 매칭(지도 좌표 매칭) 방법은 세가지가 있습니다. 첫번째로 구글어스를 실행 한 후 JPG 포맷으로 된 지도(래스터 이미지)를 오버레이(중첩)로 불러 와 좌표 조정 또는 이미지 스케일 조정을 통해 구글어스의 위성 이미지와 크기 및 위치를 매칭 시키는 방법입니다.

 

두번째로 글로벌 매퍼(Global Mapper) 또는 GTM(GPS Track Maker) 등의 프로그램에서 두개 이상의 지점(포인트)에 대한 좌표 캘리브레이션(정조준)을 통해 맵 매칭을 하는 겁니다.

 

세번째로 Geo-Tiff 등의 지리적 수치 좌표가 포함 된 래스터 이미지의 경우 자동 맵 매칭을 통해 바로 Custom Maps를 생성 시킬 수 있습니다. 이것은 수치 지도와 동일한 좌표 정확도를 가집니다.

 

지리적 수치 좌표가 포함 되지 않은 래스터 이미지 맵은 구글어스에서 육안에 의존한 맵 매칭을 하거나 글로벌 매퍼, GTM을 통한 좌표 캘리브레이션 역시 육안에 의존 할 수 밖에 없습니다. 특히 래스터 맵의 경우 정확한 좌표 포인트를 찍기 위해 확대를 하게 되면 해상도가 깨지는 단점이 있습니다. 따라서 오차가 생길 수 밖에 없습니다.

 

업무에 사용될 커스텀 맵은 지리적 좌표가 포함 된 JPG 또는 Geo-Tiff 래스터 이미지를 사용하여야 합니다. 다만 대략의 확인작업만 할 경우엔 육안에 의한 맵 매칭 작업도 상당히 유용할 수 있습니다. 물론 숙련도에 따라 육안으로도 비교적 정확한 맵 매칭이 가능합니다. 만약 1m의 오차도 용납되지 않는다 하면 수치좌표가 입력 된 래스터 이미지를 사용하여야 합니다.

 

■ Custom Maps 작업을 할 지도의 종류

 

좌표가 입력 된 래스터 맵

유료로 입수할 수 있는 지도의 경우 대부분 좌표가 입력 되어 있을 겁니다. 하지만 무료로 입수할 수 있는 지도의 경우 좌표가 입력되어 있지 않습니다. 수치 지적도나 수치 지형도의 경우 맵 매칭 작업이 필요 없습니다. 또는 정부 기관 내부의 지리정보 시스템의 경우에도 지도 화면 저장 시 래스터 이미지에 좌표가 입력되어 저장됩니다. 이것은 간단하게 kmz 포맷으로 변환 시켜 Garmin GPS에서 커스텀 맵으로 사용할 수 있습니다.

 

 

국토해양부에서 제공하는 국토환경성 평가지도(http://ecvam.kei.re.kr/moe/map/map.jsp)는 화면 저장 시 좌표가 입력 된 Tiff 포맷의 래스터 이미지를 다운로드 받을 수 있습니다. 다만, 오래된 종이지도의 스캔본입니다. 외부 캡쳐 프로그램을 사용해서는 안되며 지도 시스템에 있는 화면 저장 기능을 사용하여야 합니다.

 

 

좌표가 입력 되지 않은 래스터 맵

많은 종류의 이미지가 있을 것 같습니다. 인터넷에 공유되는 등산로 지도라든지, 정부 기관에서 무료로 배포하는 지도라든지, 도로지도라든지, 포털의 지도 서비스 캡쳐 이미지라든지 등등 많은 것들이 있을텐데요.

 

그 중에서 유용하게 사용할 수 있는 것이 네이버나 다음 커뮤니케이션 등의 위성, 항공사진 지도일 겁니다. 일부 GPS 커뮤니티에선 전국 단위의 무료 배포 지형도를 다운로드 받아 일일히 좌표 캘리브레이션을 통한 맵 매칭 작업을 하는데, 콜렉터(수집가)의 성향을 가진 매니아가 아니고서는 상당한 고충이 따르는 작업입니다. 차라리 돈 주고 디지털 지형도를 사는게 노력한 시간에 비해 저렴할 수 있습니다.

 

■ 좌표를 확인 할 수 있는 지도의 종류

 

좌표가 없는 래스터 이미지를 맵 매칭 하기 위해선 좌표를 확인할 수 있는 지도 또는 지도 서비스가 필요합니다. 좌표를 확인 할 수 있는 지도의 특정 지점을 래스터 이미지에서 동일 지점을 찾아 그곳에 좌표를 입력해 주는 작업을 해야 하며, 이것이 맵 매칭 작업입니다.

 

현재 일반에게 공개된 지도 서비스에서는 법률 제한으로 인해 특정 지점의 좌표를 알려주지 않습니다. 따라서 꼼수를 통해 좌표를 알아내야 하는데요. 하나의 도엽으로 이루어진 지형도의 경우 도엽명만 알면 도엽의 네군데 모서리 부분(도곽)의 좌표가 공개 되어 있기 때문에 그것을 기준으로 삼으면 됩니다.

 

다음 지도와 네이버 지도 서비스의 경우 API 서비스를 통해 비교적 만족스럽게 포인트의 좌표를 알아낼 수 있습니다.

 

이렇게 볼 때, 지형도를 맵매칭 할 경우 도곽의 좌표를 통해 맵 매칭을 하여야 하며, 네이버 지도는 네이버 지도의 좌표 확인 방법을 통해 맵 매칭을 하여야 하고 다음 지도의 경우 다음 API 서비스를 통해 좌표를 확인해 맵 매칭을 하여야 보다 더 정확한 맵 매칭을 할 수 있습니다. 쉽게 말해 동일한 지도 서비스를 이용하여야 한다는 것입니다. 구글어스에서 오버레이를 통해 커스텀 맵의 맵 매칭을 할 경우 위성 이미지를 오버레이 시켜야 하늗데 지형도를 오버레이 시킨다면 그 기준점을 찾기 힘든 이유와 같습니다.

 

■ 좌표 캘리브레이션 프로그램

 

좌표를 캘리브레이션(정조준)할 수 있는 프로그램은 글로벌 매퍼와 GTM 입니다. 이들 프로그램은 좌표 캘리브레이션을 통한 맵 매칭 후 kmz 파일로 만들어 줄 수 있으나 Custom Maps을 위한 kmz 파일을 만들기 위해선 글로벌 매퍼(Global Mapper)를 사용하여야 합니다. 이때 글로벌 매퍼는 정식버전이어야 합니다.

 

■ GPS 장치에서 커스텀 맵의 제한

 

GPS 장치에서 커스텀 맵의 해상도(크기) 및 갯수 제한이 있습니다. 이미지 하나의 용량은 1mb를 넘어서는 안됩니다. 또한 1024x1024의 해상도(크기)를 넘어서도 안됩니다. GPS 장치에 저장하는 이미지의 총 갯수는 오레곤의 경우 100개를 넘어서는 안되며 몬타나의 경우 500개를 넘어서는 안됩니다.

 

Custom Maps로 사용할 kmz 파일의 경우 1mb 이하의 이미지 한장이 포함된 하나의 kmz 파일이 만들어질 수 있고 1024x1024 해상도의 이미지가 2장 이상 포함된 하나의 kmz 파일이 만들어질 수도 있습니다. 이때 갯수 제한은 kmz 파일의 갯수가 아니라 kmz에 포함된 이미지의 갯수입니다.

 

■ Custom Maps 맵 만드는 작업

 

1.지도 구하기

 

GPS에서 사용할 지도를 구해야 합니다. 가장 유용한 것이 위성, 항공사진 지도일 것 같습니다. 이것을 GPS 맵의 베이스로 깔고 그 위에 벡터 지형도나 도로지도 등을 중첩 시키면 위치를 파악하는데 상당히 유용한 참고가 될 것입니다. 여기선 항공사진을 기반으로 하는 네이버 지도 보다는 항공사진을 기반으로 하는 다음지도를 이용해 보겠습니다. 다만, 항공사진 서비스가 위성사진 서비스 보다 업데이트가 느리다는 단점이 있습니다.

 

좌표 캘리브레이션을 통한 맵 매칭 작업은 좌표 소스를 얻는 경로만 다를 뿐 그외의 모든 작업은 동일하기 때문에 하나의 예만 들어도 열가지를 알 수 있습니다.

 

 

네이버 지도와 다음 지도는 온라인용으로만 사용하여야 하며, 인쇄물의 간행에 이용해서는 안됩니다. 또한 여러장을 캡쳐해서 붙이는 편집행위도 저작권에 위반됩니다. 따라서 다음지도와 네이버지도를 가공하여 GPS의 오프라인 사용의 경우 저작권 위반이 될 수 있습니다. 특히 캡쳐된 네이버, 다음 지도에 특정 좌표 또는 위치를 첨가하는 행위도 저작권 위반일 수 있습니다.

 

쉽게 말해서 네이버, 다음 지도 서비스를 그대로 이용하거나 오픈 API를 이용하는 것 이외에는 전부 불허라는 말이 되겠습니다. 아래의 내용은 이러한 저작권을 위반할 수 있는 행위이기에 사용상 절대적인 주의가 필요합니다.

아래의 온라인 지도 서비스 스크린 캡쳐 화면들 역시 전부 모자이크 처리를 하였습니다.

 

 

다음 지도 서비스에 들어갑니다.

 

원하는 지역으로 이동한 후 필요로 하는 범위나 레벨(확대/축소) 단계를 선택하여 외부 캡쳐 프로그램을 화면을 캡쳐하거나 메뉴의 지도-현재 화면 크기로 저장을 선택하여 화면을 저장합니다. 다음지도 서비스의 화면 저장기능을 이용할 경우 png 포맷으로 저장됩니다.

 

다음지도 API에서 항공사진을 바로 캡쳐하여 보다 더 정확한 맵 매칭을 할 수 있는 방법은 아래의 다음지도 API에서 다시 설명하겠습니다. 지금은 일반적인 다음지도 서비스에서의 화면 저장방법을 설명합니다.

 

 

만약 넓은 범위의 항공지도가 필요 한데 한 화면에 범위를 모두 담을 경우 해상도(품질)이 떨어질 겁니다. 이때 확대해서 원하는 범위를 전부 담을 수 있게 여러장을 캡쳐 합니다. 지도를 한 화면씩 이동해서 캡쳐 또는 화면 저장을 해야합니다. 보다 정확한 좌표 캘리브레이션을 위해선 선명한 품질의 이미지 즉, 최대한 확대된 이미지가 유리합니다.

 

여러장을 저장할 경우 각각의 저장 이미지에 대한 캘리브레이션을 해 주어야 하므로 귀찮은 일이 발생합니다. 따라서 그래픽 프로그램을 사용해 그 여러장의 저장 이미지를 한장으로 붙여야 합니다.

 

 

포토샵에서 두장의 이미지를 합치는 작업을 합니다. 두장 중 한장의 이미지의 투명도(Layer-Opacity)를 낮춥니다. 그리고 아래 이미지의 특정 지점에 마우스를 갖다 대고 위의 이미지의 동일 지점으로 이미지를 드래그하여 이동시킵니다. 정확하게 맞지 않는다면 화살표키를 이용해 미세조정을 합니다.

 

 

한장으로 합쳐진 이미지에 크롭툴(crop tool)을 이용해 깨끗한 사각형 이미지로 만듭니다. 작업을 마친 후 JPG로 저장을 합니다.

 

자, 이제 항공지도 이미지인 래스터 맵이 준비 되었습니다. 다음지도 서비스의 경우 필요에 따라 항공사진 이미지만 사용할 수도 있고 도로지도가 나타나는 이미지를 저장할 수도 있습니다.

 

 

주의할점은 이렇게 합쳐진 이미지의 크기가 너무 클 경우 GPS 장치에서 제한이 걸릴 수가 있습니다. 즉, 오레곤의 경우 1024x1024 크기(해상도)의 이미지가 100장을 넘을 수 없고 몬타나의 경우 500장을 넘을 수 없습니다. 예를들면 여러장의 이미지를 합친 한장의 이미지 크기(해상도)가 8500x7000 이었는데 Custom Maps를 만들 때 1024x1024 크기의 이미지 타일(조각) 99장이 포함된 kmz 파일이 생성되었습니다. 오레곤의 경우 100장 제한에서 1장의 여유밖에 없게 됩니다(주: 이 예가 정확한 기준은 아닙니다)

 

 

2. 다음지도 API에서 좌표 취득 및 화면 캡쳐 방법

 

준비한 다음지도 항공사진의 네군데 포인트(4점 캘리브레이션)에 대한 좌표값을 얻어야 합니다. 그 좌표값을 얻기 위해서는 다음지도 API 서비스를 이용해야 하늗데요. 이미 만들어진 API를 이용하면 됩니다.

 

다음지도 API에서 화면 캡쳐 및 좌표 취득방법

 

> 다음지도 좌표값 확인 API 다운로드 ->  다음지도 API.html

 

 

다음지도 API는 다음지도 서비스와 동일합니다. 다만 마우스 커서가 크로스 헤어(십자) 표시로 나타나며 클릭한 곳의 좌표를 확인할 수 있고 표시된 좌표를 복사(Ctrl+c) 할수도 있으며 축척도 나타납니다.

 

 

위의 화면을 보시면 알겠지만 캡쳐할 항공사진 이미지의 특정 지점에 대한 포인트를 미리 찍어 둘 수도 있고 좌표값이 나타난 풍선창을 포함하여 캡쳐할 수도 있습니다. 단 캡쳐할 하나의 화면에 하나의 좌표값 및 포인트만 표시된다는 단점이 있습니다. 만약 여러장을 캡쳐해야 할 경우 상당히 유용해질 수 있습니다. 다만 화면 저장 기능이 없어 외부 캡쳐 프로그램을 사용해 화면을 저장하여야 합니다.

 

 

이때 표시된 포인트 및 좌표값은 글로벌 매퍼에서 좌표 캘리브레이션을 할 때 따로 다음 API와 비교 확인 및 좌표값을 취득해야 하는 작업을 건너 뛸 수 있는 장점이 있습니다. 하지만 아래의 글로벌 매퍼작업에서는 다음API에서 좌표값 및 포인트를 을 표시하지 않고 화면 저장을 하였다는 가정하에 좌표 캘리브레이션 작업을 할 것입니다.

 

네이버 지도의 좌표 API 및 작업 후기

 

좌표를 알 수 있는 네이버 지도 API 입니다. http://flowmoon.cafe24.com/etc/gnu/map.php

사용방법은 아래의 다음 지도 캘리브레이션 작업과 유사하나 좌표가 X,Y좌표입니다. 글로벌 매퍼에서 X,Y 좌표를 넣어 캘리브레이션 작업을 할 수 있습니다.

 

네이버지도 API의 좌표체계는 Bessel KATECH(TM128) 체계를 사용하고 있습니다. 근데 글로벌매퍼에서 캘리브레이션 작업시 KATECH 좌표계 참조파일이 에러가 나더군요. 일단 포기하고 Daum 지도 API를 이용해 캘리브레이션 및 맵매칭을 해 보았습니다.

 

작업한 결과물인 KMZ 파일을 구글어스에 불러들여 오차 비교를 해 보았습니다. 다음지도 좌표로 맵매칭한 네이버지도와 구글어스의 오차는 7m~11m 정도 차이가 발생했습니다. 구글어스에서 GPS 트랙로그를 불러들인다면 상당한 오차가 발생합니다. 구글어스는 그것이 고의적인 좌표 오차이든 한국 좌표에 대한 기술적인 오차이든 간에 신뢰도가 떨어지는 건 사실입니다.

 

아래의 스크린샷은 맵매칭 한 네이버지도를 구글어스에서 오버레이 시키고 난 뒤 트랙로그(Garmin 60CSx)를 불러들인 화면입니다.

 

 

트랙로그는 길에서 거의 벗어나지 않습니다. 오차범위가 최대 3m를 벗어나지 않는 일치성을 보여주고 잇는데요. 트랙로그가 튄 부분(장시간 머물러 있어 하나의 포인트에 트랙로그가 밀집된 부분)은 실제 지리적 포인트와 완전히 일치할 정도입니다. 이렇게 볼 때 네이버지도를 다음지도 API를 통해 캘리브레이션 및 맵매칭을 할 경우에도 상당한 신뢰도가 있다고 여겨집니다.

 

 

위의 스크린샷은 몬타나650에 네이버지도(JNX 포맷)를 담아 지적도를 중첩시켜서 스크린샷을 저장했는데요. 이미지 크기가 5945x7513 이라는 비교적 큰 크기 입니다. 그럼에도 불구하고 글로벌 매퍼에서 4 포인트 캘리브레이션 작업만으로 어느 정도 신뢰할 수 있는 맵 매칭을 하였습니다. 수치지적도의 지적선(수치지도는 이미 좌표가 포함되어 있어 별도의 캘리브레이션 작업이 필요 없습니다)이 네이버지도의 위성사진의 범위에 상관 없이 신뢰할 수 있는 수준으로 일치하였습니다.

 

따라서 네이버지도의 캘리브레이션 및 맵 매칭 작업과정에서 네이버 API를 통한 KATECH 좌표체계를 어렵게 사용할 필요가 없이 Daum 지도 API를 통해 WGS84 좌표를 바로 입력해 주면 만족할만한 수준의 결과물을 얻을 수 있습니다. 네이버의 경우 지적도 서비스까지 하고 있으므로 지적도 중첩 화면을 스크린샷하여 맵 매칭 후 사용할 수도 있을 겁니다. 다만 주의할 점은 네이버도 다른 포털 및 웹사이트의 지도서비스 저작권과 마찬가지로 온라인 서비스가 아닌 캡쳐화면이나 오프라인에서 이용하는 것은 저작권에 위배되는 사항일 것 같습니다.

 

3. 글로벌 매퍼(Global Mapper)에서 맵 매칭 작업

 

글로벌 매퍼에 항공사진을 불러 오면 지리적 좌표를 확인할 수 없다는 메시지 창이 뜹니다. 이때 이미지를 'YES - 수동으로 조정하겠습니다'를 선택하여야 합니다.

 

 

'예(Y)'를 선택하시면 됩니다.

 

 

 

이제 이미지 조정창이 뜹니다. 좌표를 캘리브레이션(정조준) 하는 창인데요. 방법은 1~6번까지 진행하여야 하는데 좌표를 캘리브레이션 할 포인트가 네군데여야 정확한 맵 매칭이 되므로 1~4번까지를 총 4번 반복해 주어야 합니다.

 

1번: 이미지의 전체 화면이며 마우스를 드래그 하여 사각형 영역을 지정하 주면 영역 만큼 2번 화면에서 확대되어 표시됩니다. 2번의 확대된 지점이 전체 영역에서 어디에 위치하고 있는지를 1번에서 확인할 수 있습니다.

 

2번: 이미지를 확대시켜 어디에 좌표값을 입력할지에 대한 포인트를 찍는 화면입니다. 여기서도 마찬가지로 마우스 드래그로 사각형 영역을 지정하면 확대가 되고 마우스 휠을 이용해 확대/축소 시킬 수도 있습니다.

 

원하는 지점에 포인트를 찍으면 빨간색 점으로 나타나는데요. 그 지점에 대한 좌표값을 3번에 입력하여야 합니다. 이 좌표값은 다음 API에서 취득할 수 있습니다.

 

3번: Easting(x축)는 경도(동경) 값입니다. Northing(y축)는 위도(북위) 값입니다. 다음 API에 나타난 경위도 좌표값을 입력해 주면 됩니다.

 

4번: Add Point to List를 누르면 포인트가 등록됩니다. 포인트 등록 후 2번 화면에서 다시 포인트를 찍었을 때 이전 포인트는 등록된 상태를 유지합니다. 이렇게 총 4개의 포인트를 등록시켜야 합니다.

 

5번: 좌표체계를 지정해 주는 것인데요. WGS84를 선택하면 됩니다.

 

6번: OK를 선택하면 WGS84의 좌표체계를 가진 맵 매칭 된 항공사진 이미지가 글로벌 매퍼 화면에 나타납니다.

 

네군데 포인트 캘리브레이션 작업

 

다음 지도 API

 

보다 정확한 맵 매칭을 위해선 이미지의 최대한 각 모서리 부분의 좌표값을 취득해야 합니다. 그리고 좌표 포인트 역시 많으면 많을수록 유리하나 4포인트면 충분합니다.

 

 

GPS 관련 맵매칭에 대한 글들 중에 진북수정이나 이미지 회전 등에 대해서 들어 보셨을 겁니다. 그건 2 포인트 맵 매칭일 때 해 주어야 하는 작업입니다. 4 포인트 맵매칭에서는 자동으로 이미지가 회전되어 매칭 됩니다. 다만 글로벌 매퍼가 아닌 GPS Track Maker 무료 버전에서는 2 포인트 맵 매칭 밖에 되지 않기에 진북 수정이나 이미지 회전을 해 주어야 합니다.

 

 

 

 

다음 API와 글로벌 매퍼 이미지 조정 창을 같이 띄워서 캘리브레이션 작업을 하였습니다. 항공사진의 왼쪽 상단의 최대한 모서리 부분을 확대 한 후 좌표 포인트를 정확하게 비교하여 기준점으로 사용할 수 있는 부분에 포인트를 찍었습니다.

 

글로벌 매퍼에서 보이는 항공사진에서 지붕의 모서리 부분에 포인트를 찍었습니다. 그리고 다음 API에서 동일 지점의 지붕을 찾아서 확대해 똑 같은 위치에 포인트를 찍어 좌표값을 나타냈습니다.

 

다음 API에 나타난 좌표값을 마우스로 블록지정하여 복사(Ctrl+c) 한 후  글로벌 매퍼 창의 해당 부분에 붙여넣기(Ctrl+v) 하였습니다. 이후 Add Point to List를 눌러 '포인트 1'로 등록을 하였습니다.

 

 

만약 다음 API에서 미리 좌표가 될 포인트를 찍어서 캡쳐하고 좌표값은 메모장에 입력해 두거나, 좌표값이 나타난 풍선창을 포함해서 캡쳐를 하였다면 다음 API와 글로벌 매퍼 창을 번갈아 확인할 필요는 없을 겁니다. 그러나 한장의 이미지에 포인트 하나만 캡쳐할 수 있기에 유용하지 않으나, 만약 4장 이상의 화면을 캡쳐하였을 경우 이 4장의 이미지를 포토샵에서 한장으로 합친다면 4점의 포인트 및 좌표가 이미지에 입력되어 있는 결과가 됩니다. 이것은 어떤 방법이 유용하다라고 하기 보다는 작업을 보다 단순화 하기 위한 꼼수입니다.

 

 

 

네군데 포인트의 좌표값을 입력 했다면 위의 캡쳐 화면 처럼 순서대로 진행하면 됩니다. 마지막으로 Add Point List를 눌러 Point 4를 만든 후 Select Projection을 누르면 좌표계 설정창이 나타납니다. 이때 Load From File를 눌러 좌표계 참조 파일 중 경위도(wgs84)를 선택합니다. 그리고 열기를 선택합니다.

 

 

> 좌표계 참조 파일 다운로드 -> projection_090716.zip

좌표계 참조 파일은 따로 폴더를 만들어 압축을 풉니다. 폴더의 위치는 찾기 쉬운 곳에 저장합니다. 그리고 글로벌 매퍼에서 좌표계를 설정 할 때 간단한 선택만으로 좌표계를 입력할 수 있어서 유용합니다.

 

 

 

참고로 경상남도 3차원지리정보 시스템과 같은 정부기관 내부용(외부 유출 금지)으로 활용하는 항공지도의 경우 화면 저장을 할 때 지리적 좌표가 입력 된 래스터 이미지로 저장됩니다. 이때 tiff로 저장을 해야 하며 좌표 맵매칭을 할 필요가 없습니다. 글로벌 매퍼에서 KML/KMZ 변환 과정만을 거친다면 바로 GPS 장치에서 사용할 수 있습니다.

 

중요한 점은 좌표체계 선택시 ITRF2000 좌표체계를 선택하여야 한다는 것입니다. 좀 더 자세히 설명하자면 수치 좌표가 미리 입력된 래스터 이미지를 글로벌 매퍼에서 불러 올 때 좌표 캘리브레이션 화면이 뜨는게 아니라 어떤 좌표체계인지를 묻는 화면이 뜹니다. 이때 좌표계 참조 파일 중 경상남도 3차원 지리정보 시스템의 경우 PCS_ITRF2000_TM_OLD(동부원점)을 선택하여야 합니다. 해당 지역이 중부원점에 속한다고 할지라도 동부원점으로 불러와야 합니다.

 

이렇게 불러온 상태에서 다시 WGS84 좌표로 변환을 해 주어야 합니다. 좌표 변환은 글로벌 매퍼 Configuration-Projection 창을 연 후에 ITRF2000을 선택하는 것 처럼 경위도(wgs84) 참조 파일(위의 projection_090716.zip에 있음)을 선택하면 됩니다. GPS에서 사용할 맵은 WGS84 좌표체계 이외에는 사용할 수 없습니다. 또한 ITRF2000 좌표체계가 WGS84와 거의 동일하다고 하나 수미터의 오차가 있습니다. 꼭 WGS84로 변환한 후 KMZ를 만들거나 JNX를 만들어야 합니다.

> ITRF2000 좌표계 참조 파일 다운로드 -> Custom CS.zip

 

 

이후 좌표계 설정창에서 확인을 누른 후 최종적으로 이미지 조정창(캘리브레이션 창)에서 OK를 누르면 글로벌 매퍼 창에 맴 매칭이 된 항공사진 이미지가 뜹니다.

 

 

이 작업이 처음 할 땐 복잡하고 어려워 보이지만 두세번 해 보면 아주 간단합니다.

 

네이버 지도 API

 

네이버 지도 API에서 X,Y 좌표값을 다음 지도 API를 사용하여 캘리브레이션을 할 때 처럼 X축, Y축 좌표 입력 칸에 넣어 주시면 됩니다.

 

4. Custom Maps(KMZ) 파일 생성 작업

 

이제 Garmin GPS에서 사용할 Custom Maps을 만들텐데요. Custom Maps는 kmz 포맷을 사용합니다. 따라서 글로벌 매퍼에서 kmz 포맷으로 변환을 하겠습니다.

 

 

File-Export Raster/Image Format를 선택합니다.

 

 

KML/KMZ를 선택합니다.

 

 

KML/KMZ 옵션 창이 뜨는데요. 여기서 중요한 부분은 두군데입니다. 첫번째, Export Image Format에서 반드시 JPG에 체크를 해야 합니다. Garmin GPS 장치에서 Custom Maps은 JPG만 인식을 하기 때문입니다.

 

두번째 Super Overlay Setup에 체크를 하여야 합니다. 애초에 화면을 캡쳐 또는 저장 할 때 해상도를 1024x1024 이하로 했다면 상관 없지만 이 보다 크다면 꼭 체크를 해야 합니다. 이 옵션은 이미지 사이즈가 1024x1024 보다 클 경우 자동으로 타일(조각)을 만들어서 이미지를 나누어 줍니다.

 

Cilck Here to Calculate Spacing in Other Units...옵션은 메뉴-Zoom To Scale을 통해 정한 해상도(스케일, 축척)를 Use Current Screen Pixel Size 버튼을 눌러 지정할 수 있는데요. 본 작업에서는 글로벌 매퍼에서의 자동 설정에 맞겨 두고 그냥 넘어가겠습니다.

 

다른 옵션은 그대로 두고 OK를 누릅니다.

 

 

다른 이름으로 저장을 하는데요. 한글을 사용해서는 안됩니다. 파일명을 영어 또는 숫자로만 하여야 합니다. 절대 한글이 포함되어서는 안됩니다. KML/KMZ 포맷 옵션에 UTF-8 선택 항목이 없기에 한글이 표현되지 않아 GPS 장치와 구글어스에서 사용할 시에 에러가 나타날 수 있습니다. 물론 파일명은 한글로 생성이 되겠지만 KMZ 파일 내부에 생성되는 맵 이름이 파일명을 따르기 때문에 한글지원이 되지 않아 외계어로 표현됨은 물론이려니와 이미지도 표현되지 못하는 오류가 발생합니다.

 

■ 작업 후기

 

1.구글어스에 띄우기

 

작업 결과물인 kmz 파일을 구글어스에 먼저 띄워 보았습니다.

 

 

하위에 위치한 구글어스의 지도와 맵 매칭 한 다음 지도가 겹치는 부분의 도로 등을 보면 약간의 차이가 납니다. 중요한 건 구글어스 위성이미지의 지리적 좌표와의 매칭 보다 다음지도를 맵 매칭한 이미지가 실제 지리적 좌표와 더 일치하며 GPS 트랙(gdb, gpx)도 구글어스 보다 맵 매칭한 다음지도와 더 일치하는 것을 보여주었습니다.

 

 

구글어스에서 최초에 캡쳐하여 포토샵에서 두장을 합친 상태의 원본 이미지 파일을 '이미지 오버레이'로 불러 보았습니다. 구글어스 이미지 오버레이에서 항공사진을 늘렸다 줄였다 그리고 이동을 시키면서 맵 매칭 된 항공사진과 위치, 크기를 일치 시켜 보았습니다. 이것은 기초적인 Custom Maps의 맵 매칭 방법입니다.

 

이미지 오버레이 맵의 경우 그리기 순서(Darw Oder, 객체순서)를 조정해 보았습니다. 그리기순서 1일 땐 맵 매칭한 항공사진의 하부에 위치했으며 2일 때 상부에 위치하는 것으로 보아, 글로벌 매퍼에서 작업한 맵 매칭 KMZ 이미지는 그리기 순서 1이 지정되어 있음을 알 수 있습니다. 이것은 다른 지도와 중첩 시켰을 때 또는 GPS 장치에서 여러개의 지도를 사용 가능 체크를 하였을 때 가장 하단에 위치한다는 것을 알 수 있습니다.

 

 

그리고 다음항공지도는 WGS84 좌표체계로 변환하게 되면 구글어스에서 확인할 수 있듯이 -0.4500도 만큼 오른쪽으로 기울게 됩니다.

 

2. 다른 종류의 래스터 이미지 지도 맵 매칭에 관하여

 

이미지로 된 지형도

래스터 이미지 지형도의 경우 도곽선을 포함하여 캡쳐 또는 다운로드 해야 합니다. 도곽 좌표 정보를 국토지리정보원 등에서 다운로드 받아 해당 도곽의 꼭지점 좌표를 글로벌 매퍼 등에서 캘리브레이션 해 주어야 합니다. 다른 방법으로는 GTM(GPS Track Maker)에서 도곽선을 미리 그려 놓은 gtm 파일이나 기타 파일을 참고하는 방법이 있습니다(시도해 볼 필요성도 없었지만 완전 노가다 같아서 테스트도 해 보지 않아 정확한 방법은 모르겠습니다)

 

구글어스 지도

구글어스 지도의 경우 모바일 아틀라스 크리에이터(Mobile Atlas Creator)에서 간단하게 구글어스 지도 이미지를 KMZ 포맷으로 만들 수 있습니다. 또한 다양한 Map Source가 있기 때문에 다른 공개 지도도 kmz 포맷으로 만드는 것이 가능합니다. Map Source에서 구글어스 또는 다른 지도 서비스를 선택한 후 지도화면에서 원하는 영역(범위)을 지정합니다. 저장 Format에서 Garmin Custom Maps(KMZ)를 선택하여 KMZ 포맷의 파일을 만들 수 있는데요. 공개맵이다 보니 좌표의 정확한 신뢰성은 부족합니다.

 

물론 국토지리정보원에서 제공하는 수치좌표도 오차는 있겠습니다만 무엇보다 중요한 건 공인된 기준이라는 것입니다. 이 기준만 확립이 되어 있다면 오차는 큰 의미가 없을 겁니다. 모든 사용자가 같은 오차를 가지고 있다면 그것을 바로 잡는 것 또한 쉬울테니까요.

 

등산 안내도

인터넷에 떠도는 종이 지형도를 스캔한 형식의 등산안내도의 경우 맵 매칭을 시도해 보지 않았지만 구글어스에서 바로 맵 매칭하는 방법이 유용할 것 같습니다. 등산 안내도에 노선이 그려져 있을 것이기에 해당 산의 GPS 트랙자료 일부를 인터넷 GPS 커뮤니티에서 다운로드 받아 구글어스에 띄우고 등산안내도 이미지에 있는 노선과 GPS 노선을 일치시킨다면 비교적 쉽게 맵 매칭을 할 수 있을 것 같습니다.

 

3. JNX 포맷으로 만들기

 

맵 매칭을 완료한 래스터 이미지는 글로벌 매퍼에서 Geo-Tiff로 만들어 Garmin GPS 버즈아이 서비스에서 사용하는 JNX 포맷으로 만들수도 있습니다. JNX 포맷의 경우 하나의 JNX 파일에 250,000개 정도의 타일조각을 넣을 수도 있고 이렇게 만들어진 JNX를 250까지 GPS 장치에 담을 수 있는 잇점이 있습니다. 또한 1024x1024 해상도 사이즈를 넘어서는 큰 해상도의 래스터 맵을 조각(타일) 내지 않고 한장으로 사용할 수 있는 잇점도 있습니다.

 

그러나 단점이 있는데요. 지리적 좌표(Geo Reference Coordinates) 정보가 입력된 래스터 이미지가 아니라면 엄청난 노가다에 직면할 수 있습니다. 사용할 수 있는 용량만큼 좌표 캘리브레이션과 맵 매칭 작업을 일일히 해주어야 한다는 것입니다. 따라서 일반적인 사용자의 JNX 활용 방법은 Custom Maps와 비슷합니다.

 

JNX에 250,000개 타일을 담기 위해선 인간의 힘으로는 안됩니다. 모바일 아틀라스 크리에이터를 통해 구글어스 맵을 자동으로 타일을 만들어 JNX 전용프로그램으로 변환을 해 주게 되는데요. 구글어스는 실제 지리적 좌표와 수미터 또는 수십미터의 오차가 발생하기에 오히려 수동으로 조정하는 Custom Maps가 더 유용해 질 수 있습니다.

 

JNX와 Custom Maps의 로딩속도 차이는 상당히 큽니다. Custom Maps에서 타일이 100개 정도 되는 맵은 JNX에서 Cells(또는 타일)이 많게는 1300개 정도 되는데요. 이렇게 타일(조각)의 수가 많아질수록 로딩속도는 빠르게 됩니다. 당연해 JNX가 로딩속도가 빠릅니다. 로딩속도는 거의 10배 정도 차이나구요. 영문판을 한글판으로 만든 GPS에서는 로딩속도가 20배 가까이 납니다(주관적인 견해) 그러나 이것은 해상도가 큰 래스터 이미지일 경우입니다. 9,000x9,000 해상도 사이즈 정도에서의 차이입니다. 해상도가 작은 래스터 이미지라면 Custom Maps도 로딩속도가 빠릅니다.

 

여기서 Custom Maps의 타일을 1024x1024 보다 작게 만들어서 타일의 수를 많게 하면 로딩속도가 빠르지 않겠냐고 반문하실 수 있는데요. GPS 장치에 들어갈 수 있는 타일의 수가 한정되어 있기 때문에 JNX의 로딩속도를 따라갈 수는 없습니다.

 

JNX와 Custom Maps는 장단점이 있으며, JNX 포맷을 사용하기 위해선 펌웨어를 해킹 패치하는 작업이 필요합니다.

 

JNX 설명 및 사용방법 보러가기 -> http://gpser.tistory.com/30

 

 

4. GPS 장치에서 확인하기

 

Custom Maps(KMZ) 파일은 GPS 외장 메모리 또는 내장 메모리의 Garmin\CustomMaps 폴더에 넣어야 합니다. 만약 KMZ 파일 내의 이미지가 오레곤에서 100장이 넘을 때, 몬타나에서 500장이 넘을 때 커스텀 맵이 너무 많아 실행할 수 없다는 메시지가 나옵니다. 이땐 이미지 갯수를 줄이거나 kmz 파일이 몇개 될 경우 kmz 파일 수를 줄여주어야 합니다.

 

스크린 캡쳐는 몬타나(Montana) 650에서 하였습니다. 줌레벨 80, 50, 30, 20m에서 캡쳐 했습니다. 근데 모자이크 처리를 해 버려서 위성사진이 뭉개져 버렸습니다. 어줍잖은 지식을 공유하다가 저작권 침해에 걸리면 낭패잖아요.

 

  

   

 

■ 작업 후기

 

래스터 이미지의 경우 아무리 정확하게 캘리브레이션 작업을 할려고 해도 이미지 확대시 라인이 깨져 버리는 특성 때문에 오차가 날 수 밖에 없는 것 같습니다. 수치좌표가 입력된 Tiff 항공사진과 GPS 트랙로그 그리고 맵매칭한 다음 지도를 비교 해 보니 다음지도의 경우 약 3m 정도의 오차가 발생하는 것 같습니다.

 

Tiff 항공사진에서 GPS 트랙로그를 중첩 시켰을 때 항공사진에 나타나는 임도를 트랙로그가 벗어나지 않습니다만 다음 지도를 중첩시켰을 때는 동일 지역의 임도를 트랙로그가 벗어납니다. 오차난 여러 부분의 거리를 재 보니 대부분 3m 정도였습니다. 물론 GPS의 오차도 있겠습니다만 수치좌표가 포함된 Tiff 항공사진에서는 너무 절묘하게 GPS 데이터가 맞아 떨어집니다.

 

반응형

댓글을 달아 주세요

  1. 요요 2016.06.24 09:22  댓글주소  수정/삭제  댓글쓰기


    안녕하세요

    반갑습니다. .

About

by 푸드앨리

Notice

Counter

· Total
: 308,489
· Today
: 30
· Yesterday
: 25