'geocode'에 해당되는 글 1건

  1. 2007.06.11 geocode

geocode

잡기 2007. 6. 11. 18:14
엊그제 모임에서 이씨 아저씨와 gps와 디지탈 카메라의 사진을 동기시키는 방법에 관한 얘기를 했다. gps의 tracklog를 디지탈 카메라 사진의 exif와 결합시키면 어디서 사진을 찍었는지 그 위치를 파악할 수 있다는 것이 기본적인 아이디어다. 소니는 그런 용도의 장난감을 만들어 아이디어 상품으로 판매하는데 이씨 아저씨는 소니의 그 gps에 만족하지 않는 모양이다.

시간이 나면 exif와 garmin gps의 tracklog 데이터를 결합시키려는 프로그램을 짜려고 했으나, 이씨 아저씨 말대고 누군가가 그런 프로그램을 이미 만들었을 꺼라는데 동의하고 (실은 garmin의 인터페이스 프로토콜과 EXIF v2.0 규약을 보다가 만사가 귀찮아져서) 구글링을 해보니 바로 검색되었다.

검색 키워드 'google earth exif gps' 검색된 항목 중 Exif - Geocode photos for Google Earth or Maps. Geocode photos for ...로 들어가니 RoboGEO라는 프로그램이 바로 검색되었다.

1. EXIF 규약에는 GPS 좌표 정보, 이른바 geocode란 것을 삽입할 수 있도록 제안하고 있다.
2. 구글 어스의 KMZ 파일 포맷에는 웨이포인트, 트랙로그와 아울러 이미지를 임베딩할 수 있다.

저 두 가지를 만족시키면 내가 원하는 작업을 할 수 있다. 지오코드를 수동으로 작업한다는 것은 거의 미친 짓이니까 그것을 자동화하는 프로그램을 작성하거나 구하기만 하면 되는 것이다. RoboGEO는 그 두 조건을 만족시켰다. 더더군다나 별도의 작업없이 garmin gps로부터 트랙로그 및 waypoint 자료를 곧바로 다운받을 수 있었다.

이렇게 되면 작업이 무진장 간단해 진다.

1. 자전거 탈 때 늘 gps를 켜 놓고 다니니 상관없고,
2. 돌아다니다가 여기저기서 사진을 찍고 집으로 돌아와
3. 디카의 사진을 PC로 다운로드 한 다음
4. GPS 리시버를 PC에 연결한 후
5. RoboGEO 프로그램을 실행하여 트랙로그를 가져온 다음
6. Google Earth 포맷인 KMZ 파일로 export하면 작업 끝이다.


시험삼아 1년전, 2006년 6월 10일 평창-영월간 자전거 여행을 예제로 roboGEO로 작업해 보았다. RoboGEO는 GPX(gps exchange format) 파일 import를 지원하기에 평창->영월 GPS Trackmaker file을 GPS TrackMaker에서 GPX 파일로 변환했다. 이게 작업 끝이다.


물론 Garmin GPS를 달면 메뉴에서 GPS 리시버로부터 곧바로 Tracklog를 다운로드할 수도 있다. 예전의 serial과 USB 인터페이스를 지원하는 최근 Garmin GPS를 모두 지원한다.


EXIF와 TrackLog의 동기에는 문제가 있다. 1. 카메라 시간과 GPS시간(원자시계)가 정확히 일치하지 않으면 GPS 리시버의 고유 오차와 시간에 따른 이동 거리에 의해 누적된 오차로 인해 카메라를 찍은 정확한 위치를 파악하기 어렵다는 점이다. 2. 내 eTrex는 최적 조건에서 대략 15m의 오차가 나온다(이때 상공에서 잡힌 위성 갯수는 최소한 6개 이상). 만일 20kmh로 이동중이라면 20*1000/3600 = 5.5m의 오차가 더해지는 것을 고려해야 한다. 곰곰히 생각해보니 두번째는 정지한 상태에서 사진을 찍으면 되니까 그리 문제가 되지 않는다. 첫번째 문제를 해결하려면 카메라의 시각을 정확히 GPS와 일치시켜야 하는데, 매번 그러기는 어렵다. 반갑게도 RoboGEO는 카메라 시각을 gps와 동기시키는 방법을 제시해 주었다.


KMZ 파일로 익스포트한 최종 산물 (753KB)(Google Earth가 설치되어 있으면 클릭하여 볼 수 있음). 푸른선은 주행경로. 노란 점은 waypoint. 유감스럽게도 GPS Trackmaker의 GPX 변환 버그인지 아니면 RoboGEO의 버그인지, Track이 엉망으로 나타났다. 그래서 GPS Trackmaker의 tracklog를 overlay한 화면. 카메라 시각과 일치시키지 않았으며, 정지상태에서 찍은 사진인데 오차가 15m에서 심하게는 600m까지 났다. 그래도 이 정도면 없는 것보다 낫지. (프로그램 안 짜도 되고)


RoboGEO에서 EXIF에 geocode를 삽입한 것. timezone을 지정하지 않았다. +9 하면 맞음.

앞으로 여행이 즐거워질 것 같다. 콩나물 지도 오버레이한 후 구글 어스에서 tracklog 만들기를 포함하여, 사실상 이것으로 GPS로 해볼 재밌는 일거리는 거의 해본 셈이 된다.

오랫만에 Garmin 사이트에 들어가보니 eTrex H 시리즈가 2007년 3분기에 출시될 것 같다. 비록 SiRF III 칩을 사용하는 것은 아니지만 sensitivity가 상당히 향상될 것이라는 얘기가 있다. H 시리즈는 미국 위성 뿐만 아니라 유럽의 갈릴레오 위성을 지원하는 것 같다. 그런데 갈릴레오 gps 위성 프로젝트는 예산 부족 문제도 있고 구심점이 없어 표류하고 있지 않던가?

아직은 새로운 GPS 리시버를 구입할 마음이 없다. 120$짜리 GPS로 벌써 5년은 울궈먹은 것 같다. 수신율이 떨어지는게 좀 안쓰럽지만, 업그레이드나 기변 욕구가 안 생기는 걸 보면 eTrex Basic은 명품이다.

* Wikipedia: Geocoded Photo
* 무료 Geocode S/W : GPicSync
,