상오기님 사이트에서 BikeTrack이란 프로그램 소개를 보니 칼로리를 출력하는 부분이 있다. 아마도 자전거 주행의 칼로리 소비량을 계산하는 간단한 방식을 이용하는 것으로 추측된다. 간단히 말해, 두 가지 중요한 팩터가 빠져 계산이 맞을 리가 없다. 

자전거 주행은 페달을 밟아 동력계를 움직여 지면 마찰을 이용해 앞으로 나아가는데 1. 경사로를 달릴 때 중력의 영향을 받고, 2. 유체(공기) 속을 진행하므로 공기 저항을 받는다. 3. 타이어가 노면에서 마찰을 일으켜 진행하므로 마찰력의 영향을 받기도 한다. 그 결과로 뱃살이  쭉쭉 빠져야 하는데, 달리는 만큼 더 먹게 되어(아울러 기초대사량이 늘어) 살이 안 빠지는 아저씨들이 많다.  

경사로가 업힐일 때는 몸무게에 비례해 뒤로 끌어당기는 힘이 크게 작용하지만 다운힐에서는 동력이 소비되지 않을 수 있다. 공기 저항은 면적에 비례하고 속도의 제곱에 비례한다. 뿐만 아니라 바람에 맞서면 당연히 더 힘들고 바람을 등지면 항력이 감소한다(마이너스가 되기도 한다. 샤방샤방 주행). 속도와 무게는 아주 중요한 팩터다. 몸무게가 줄면 덜 힘들다. 자전거가 가벼우면 덜 힘들다. 마찰계수가 작으면 덜 힘들다. 힘 좋은 아저씨들이 용을 쓰며 조금 앞서서 아줌마들과 200km를 함께 달려도, 아줌마들이 덜 피곤한 이유가 그 때문이다.

중력, 공기저항, 마찰력에 더해 자전거의 동력계 손실(좋은 자전거와 덜 좋은 자전거의 차이)과 근육의 ATP 소비에 따른 동력 손실을 감안하면 칼로리 계산이 그렇게 간단히 끝날 리가 없다. 

바이크트랙이나 엔도몬도 등의 프로그램이 출력하는 칼로리 소비량은 믿을 수 없지만, 자전거 타기가 걷기뛰기보다 칼로리 소비가 더 크고 더 많은 운동량을 필요로 한다는 점은 변하지 않는다 -- 선수가 아닌 한 아무리 빨리 뛰어봤자 자전거보다는 느리기 때문에 공기저항에 따른 항력이 속도 제곱에 비례해 더 작기 때문. 

공기 저항은 공기 밀도에 의해 결정되고 공기 밀도는 대기압에 따라 달라진다. 따라서 고도가 높으면 공기 저항은 감소한다. 그리고 맞바람은 주행속도를 깎아먹는다. 맞바람을 맞으면서 해수면에서 1500m 정상까지 업힐을 꾸역꾸역 오르다보면 존재론적 회의가 샘솟는 이유가 그래서다.

어느 정도 쓸모있는 칼로리 계산을 해보려고 심심풀이 삼아 웹을 뒤져 정리:
  • 공기저항: Fw = 1/2 x A x Cw x D x V^2
    A: Frontal Area (진행 방향으로 공기가 닿는 면적) 0.4~0.7
    D: 공기 밀도(Rho) 
    Cw: Drag Coefficient. 보통 0.5 (Cycle 0.36, 하이브리드 0.45, MTB 0.7, 투어 바이크 0.8)
    V: 속력 (시간당 이동거리)

  • 마찰: Fr = G * W * Cr
    G: 중력 상수. 9.81
    W: 자전거와 라이더의 무게를 합한 것
    Cr: 구름저항상수 (타이어와 도로 상태로 정해짐) 나무길 0.001, 콘크리트: 0.002, 아스팔트: 0.004, 울퉁불퉁한 포장길: 0.008. 
     
  • 중력: Fg = G * W * S 
    G: 중력 상수. 9.81
    W: 자전거와 라이더의 무게를 합한 것
    S: slope. 높이/이동거리.
     
  • F = Fw + Fr + Fg (watt)
  • 초당 칼로리 소비량 = F * 859 / 3600 / 1000 (Kcal/sec)
공기 밀도 얻기: 참조(http://wahiduddin.net/calc/density_altitude.htm)
  • D = P / (R * T)
    D: 공기밀도 kg/m3
    P: 압력(대기압) pascal (millibar * 100)
    R: 가스 상수 J/(kg*K). 287.05
    T: 온도. 섭씨+273.15
  • 예:섭씨 18도, 1020 hPa 일 때 공기밀도= 102000 / (287.05 * (18 + 273.15)) = 1.220
  • 고도에 따른 기압 변화: p = 1013.25 * (1 - h / 44330.76)^5.255879746 (사이트 참조)
자전거 주행 속도는 바람 방향의 영향을 받는다. 주의: 힘의 크기를 구할 때, 맞바람일 때는 속도에서 더해져야 하고, 등질 때는 속도에서 빼야 한다. 전세계의 weather station으로부터 수집한 풍향 및 풍속 정보를 얻을 수 있는 곳을 찾아 보았다. 무료로 제공하는 사이트가 있다. 

일자별 기온,기압,풍향,풍속 정보 얻기 #2 (airport) (CSV 포맷)

이들 정보를 바탕으로 그나마(상대적으로) 정확한 칼로리 계산 프로그래밍 하기:
  • 입력 상수: 한 번 입력되면 그다지 변경될 일이 없는 정보
    자전거 종류 -> Cw
    자전거 무게 -> W
    사용자 몸무게 -> W
    전면 면적 -> A
  • 입력: GPX 등의 표준 포맷으로 입력받아 일괄 계산하거나, 실시간 계산할 때는 GPS 디바이스의 NMEA 출력 중 현재 측점과 이전 측점(n-1, n)이 필요.
  • Data Repositary: 풍향,풍속 정보를 얻기 위한 스테이션 위치 정보는 웹 사이트를 통해 매 번 query할 필요 없이 리포지터리 형태로 가지고 있으면 된다. 웨더 스테이션이 이리 저리 돌아다니는 것이 아니라서, 한 번 설치하면 위치가 변경될 일이 극히 드무니까. 
    또한, GPS는 3D fix가 제대로 되지 않는 경우가 많고(위치 오차가 현저하고), 스마트폰에는 기압고도계 등의 정밀 고도계가 달려 있을리 만무하므로 현 경위도로부터 정확한 고도 정보를 알아내기 위한 DEM 파일이 필요. 한반도, 10mx10m 짜리 .bt 포맷 파일의 경우 약 870MB가 필요한데(작년에 필요해서 만들어봤다), 이런 걸 스마트폰에 넣고 다닐 사람들이 있을까? 웹으로 query 하려면 일정 시간 마다 측점 리스트를 보내 해당 경위도의 고도를 얻어와서 부하를 줄이던가 하는 방법을 사용. 풍향/풍속과 고도를 통해 알 수 있는 두 측점간 도로의 기울기는 속도와 중력의 영향이라는 자전거 라이딩을 무척 힘들게 하는 두 팩터를 알아내기 위해 반드시 필요한 정보.
칼로리 계산: 다음을 반복.
  • n-1번째 GPS 측점을 얻음 -> P
  • n번째 GPS 측점을 얻음 -> Pn 
  • P, Pn의 고도를 DEM으로 결정 
  • P, Pn으로 S (slope) 계산. S가 0보다 작으면 칼로리 계산에서 제외(?)
  • P 지점에서 가장 가까운 weather staion 2개로부터 시간을 감안해 풍향 벡터를 보간해서 구하고 풍속 역시 얻어온다.
  • P, Pn으로 벡터 구성하고 풍향 벡터와 풍속을 감안해 속력 계산 -> V
  • P의 고도 및 온도, weather station의 기압 등의 정보로 공기밀도 계산 -> D
  • 칼로리 계산 -> F
안드로이드용 프로그램을 짜볼까 하다가, 일단, 돈이 안 되고, 하는 일이 바빠서 미뤘다. 게다가 누가 그나마(?) 정확한 칼로리 계산에 관심이 있을까, 의구심이 들었다.

칼로리 계산 보다는 실시간 고도 측정이나, 풍향/풍속 등 라이딩의 질(?)을 좌우 하는 요소들에 더 관심이 있을 것 같다. 이를테면 어떤 경로의 업힐, 다운힐 구간을 미리 알아내거나, 트랙 정보를 바탕으로 업/다운 고도 합계를 구하고 풍향/풍속 정보를 바탕으로 라이딩의 난이도를 자동으로 결정해 보여주는, 무척 실용적인 용도로 말이다. 

그냥, 무의미한 수치를 출력하는 여러 프로그램에 심술이 나서 부리는 오덕질이다. 

랜스 암스트롱을 대상으로 수행한 연구 활동으로부터 Edword F. Coyle은 몇 가지 주목할만한 발견을 했다.  코일 박사의 얘기 중 요점을 정리하면:
  • 장기간 주행에서 탄수화물의 섭취는 근피로를 지연시킨다. --> 라이딩 중 가끔 에너지바를 섭취하면 덜 피곤하다.
  • 주행중 탈수는 심혈관 장애를 일으키며, 피부 혈류 흐름을 감소시킴으로써 심각한 고열을 유발한다. --> 한여름에 바보같이 이 지경이 되도록 주행하고 뻗고는 했다. 낙타도 아닌데 꼭 물을 마시자.
  • 소위, 피빨기는 라이딩의 고통을 무려 1/3이나 줄여준다. --> 코일 박사의 발견은 아니지만 중요해서 적었다. 비슷한 속도로 달리는 자전거 뒤에 붙어 피빨기를 하면 아주 편하다는 상식이다.
참고 사이트


,

옵티머스Q 셋업

잡기 2010. 9. 21. 19:09
이 기사는 내용에 변경이 생길 때마다 업데이트 됨. 마지막 업데이트: 2010/11/09

거개의 안드로이드폰은 커스터마이즈의 자유도가 매우 높고 제대로 사용하려면 WM 휴대폰과 마찬가지로 설정이 번거로워 사람들에게 권해주진 못하겠다. 그냥 아이폰이나 쓰라고 하지. 내가 생각하는 LGE LU2300 옵티머스Q의 장단점:

장점
  • 옵티머스Q의 첫번째 장점은 말마따나 '진리의 쿼티 자판'이다. 옵티머스Q의 위대한 쿼티 키보드 때문에 대체 LGE가 옵티머스Z 같은 걸 왜 만드나 싶은 생각이 들 정도. 안그래도 다음 출시된다는 안드로이드 폰 스펙을 보니 LGE가 정신이 제대로 나간 것 같다. --> 2010.11.02 현재 LGE에서 출시되는 어떤 안드로이드 휴대폰도 옵티머스Q를 능가하는 스펙은 나오지 않음.
  • 싼 가격. 9월 들어 옵티머스Q가 왕창 풀렸다. 한달 3만 5천원에 1G 데이터, 150분 통화, 100통의 문자. 이중 1G 데이터는 스트리밍 동영상 감상만 아니면 굳이 무선 사용할 필요가 없는 넉넉한 양.
  • 고릴라 글래스 때문에 액정 보호지 안 붙여도 된다. 나중에 중고로 팔려면 그래도 액보는 붙이지만. --> 아스팔트에 떨어지면 고릴라 글래스라도 긁힌다.
단점
  • 배터리 사용시간이 짧은 편. 전력관리 안하면 하루 버티기 힘들다.
  • 치면 바스러지고 떨구면 아작날 것 같은 약한 인상. 특히 프레임은 쉽게 손상될 것 같다.
  • 파워 버튼을 누르기 어렵다. 노키아나 스카이의 휴대폰처럼 락/파워를 슬라이드로 만들어 놓으면 화면에 스크린 락을 안 걸어도 되는데... 참 애매한 파워 버튼이다.
    • 걸 해결하는 참신한 아이디어가 안드로이드폰 동호회에 올라온 적이 있다. 유아용 글자 스티커 중에 'ㅣ'나 영문 아이(I)를 파워 버튼에 붙여놓는 것. 그렇게 했더니 이제는 주머니에서 멋대로 눌려 버린다 -_-
    • 루팅 후 검색 버튼을 리맵하여 파워 버튼으로 사용하는 방법도 있다.
통화 품질

아이폰 4 때문에 인기를 끌고 있는 데스그립 테스트를 옵큐에서 해봤다:
  • 공중에 띄운 상태(비현실적인 상황): -65dbm
  • 바닥에 내려놓은 상태: -74dbm
  • 일반적인 파지: -74dbm
  • 일반적인 파지 상태에서 귀에 휴대폰을 대고 있을 때: -74dbm
  • 액정을 제외하고 손으로 휴대폰 프레임을 모두 감싼 상태: -85dbm
  • 앉은 자리에서 주머니에 넣었을 때: -78dbm
옵티머스Q는 데스 그립으로 -74dbm - -85dbm = 10db 가량 차이가 났다. 따라서 20db 이상 차이가 나는 아이폰4보다 열 배쯤 두 배쯤 신호 감도 면에서 낫다. 옵티머스Q를 가지고 있는 다른 사람것으로도 해 봤는데 같은 장소에서 결과가 비슷하게 나왔다. 아이폰4와 아이폰3GS, 옵티머스Q를 모두 동원해 테스트하기도 했지만 이런 테스트는 객관적인 자료라기 보다는 그냥 데스 그립 테스트 놀이로 이해하는 게 나을 것 같다.

점검 항목 (2010.11.02 추가됨)

USB, 배터리, 내장 SD 카드
  • 패키지에 포함된 USB 연결 케이블을 PC에 꽂고 20핀 단자를 휴대폰에 연결하면 충전되기 시작한다. USB 포트로 출력되는 전원은 5V, 500mA 가량인데, USB 포트로 충전할 경우 옵티머스Q의 배터리 용량이 1350mAh이므로, 계산상으로는 1350mAH / 500mA = 2.7시간 정도 걸린다. 그러나 옵티머스 Q가 켜진 상태로 소비하는 전력이 있으므로 실제로는 완전 충전에 3.5시간 정도 걸린다고 봐야 한다.
  • USB를 통해 배터리가 충전되는 중에는 휴대폰의 뒷 패널 부근이 따뜻해지는데 정상적인 현상이다.
  • 상단의 상태바에 충전 상황이 나오지만 수치로 확인하고 싶을 때는 홈->메뉴->설정->휴대전화 정보->상태->배터리 상태를 점검한다.
  • Asus, Gigabyte, Asrock등의 PC 메인보드에서는 iPhone등의 USB 충전을 지원하기 위해 USB 출력 전류를 늘려 놓기도 했다. 이 경우 USB 포트를 통해 많게는 1.5A 가량의 전류가 출력되므로 배터리 충전 시간이 더 빨라진다. 기존 보드에도 BIOS만 업데이트하면 되는 경우가 있으므로 확인해 보는 것이 좋겠다.
  • 그런 보드를 사용하는 것이 아니라면 가장 좋은 방법이 유전원 USB 허브를 사용하는 것이다. PC 메인보드가 좋지 않거나, 운이 나쁘면 충전 중 사고로 PC 메인 보드의 USB 포트가 맛이 갈수도 있다. 14000원 가량의 유전원 USB 허브는 USB로 충전하는 여러 휴대기기를 동시에 충전하는데 편리하다. 물론 이때 유전원 USB 허브의 전원으로 사용하는 어댑터의 용량이 중요하다.
  • USB 유전원 허브의 또다른 장점: 충전 기기가 많을 때 허브와 어댑터를 들고 다니면 이동식 멀티 USB 충전기가 됨 -_-
  • USB가 연결된 상태에서 상태바를 끌어 내려 'USB 연결됨'을 터치해서 마운트를 누르면 마치 USB 메모리처럼 PC에서 이동식 디스크로 잡히는 것을 확인할 수 있다. 내장 SD 카드에 mp3 파일등을 복사해서 제대로 저장되는지 확인. 동호회 등에서 apk 파일을 다운받아 이렇게 이동식 디스크로 잡아 사한 후 설치하기도 한다.
3G
  • 홈->메뉴->설정->휴대전화 정보->상태->배터리 상태 화면 에서 수신 감도를 확인한다. 같은 통신사의 다른 휴대폰과 비교해 수신 감도가 현저하게 낮다면 문제.
무선랜
  • 홈->메뉴->설정->무선 및 네트워크-> Wifi 켜기 클릭 후,
  • 홈->메뉴->설정->무선 및 네트워크-> Wifi 설정에서 무선 AP 잡아본다.
  • 인터넷 앱 등을 이용해 인터넷이 되는지 확인
나침반, GPS, 피치/기울기 센서, 가속도 센서, 접근 센서
  • GPS 세팅: 홈->메뉴->설정->장소 및 보안->'GPS 도우미 서버 접속 허용' 체크 : A-GPS를 제대로 사용하려면 도우미 서버 접속을 허용해야 한다. 그렇지 않을 경우 GPS 위치 잡는데 오랜 시간이 걸린다. A-GPS 용 패킷 사용량은 얼마 되지 않는다. 무조건 켜 놓는 것이 좋다.
  • GPS를 켠 상태로 하늘이 열린 곳이나 창가에서 GPS Status 앱을 구해 실행하여 위성이 잡히는 갯수를 세어본다. 하늘이 완전히 열린 곳에서는 GPS 보조 데이터 전송 후 늦어도 몇십 초 이내에 10~12개 가량의 위성을 잡는데, 주변 지형 상황에 따라 위성 숫자는 달라질 수 있다.
  • GPS Status 앱에서는 다른 센서들을 테스트해 볼 수도 있다.
    • 가속도 센서: 휴대폰을 급히 휘두르면 수치가 바뀌는 것을 볼 수 있음.
    • 피치/기울기 센서: DxxLxxx 형태로 출력. D=down, U=up, L=left, R=Right. 휴대폰을 이리저리 기울여 D,U,L,R이 변화하는지 점검
    • 나침반: 자북(지자기 북쪽)을 기준으로 올바른 방향을 가르키는지 확인하고 휴대폰을 360도 회전하면서 일정하게 자북을 가르키는지 점검.
    • 나침반의 캘리브레이션은 catch.com의 compass란 프로그램을 설치한 후 menu->calibrate를 선택해 팔자 모양으로 휴대폰을 이동시켜 한다. 이게 실제로 캘리브레이션을 제대로 하는지는 확실치 않다. 손목 스냅을 이용해도 8자 돌리기가 잘 될리 없다. 휴대폰을 들고 제자리에서 오른쪽으로 천천히 360도 돌았다가 왼쪽으로 천천히 360도 돈다. 좀 정신이 없지만 보통 전자 나침반의 캘리브레이션을 그렇게 한다.  -_-
  • 접근 센서: 전화를 걸고 휴대폰을 귀에 대었다가 떼었을 때 화면이 꺼졌다가 다시 켜지면 정상.
버튼, 트랙볼, 키보드
  • 버튼 등의 사용법은 매뉴얼을 숙지하는게 좋지만 다들 귀찮아서 매뉴얼을 안 읽는 듯. 지겨워도 꼭 읽도록 하자.
  • 홈에서 드로워를 열어 앱들이 줄줄이 보이는 상태에서 트랙볼을 전후좌우로 움직이면 포커스가 바뀌는 것을 확인할 수 있다. 클릭하면 앱 실행.
  • 펑션키: 키보드 왼쪽 최하단 버튼은 키보드의 파란색으로 인쇄된 문자(숫자와 기호)를 입력할 때 사용한다.
    • 펑션키를 누르고 있는 상태에서 연속 입력할 수도 있고,
    • 펑션 키를 한 번 누르고 다른 키를 눌러 한 글자를 입력할 수도 있고,
    • 펑션 키를 두 번 연속 누른 다음에는 펑션 상태로 전환되므로 그 이후에 누르는 키는 모두 특수문자나 숫자가 된다.
    • 해제는 펑션 키를 한 번 더 누르는 것.
  • 시프트 키 역시 펑션 키와 작동하는 방식이 같다.
  • 키보드: 일부 키의 키캡에서 정상적이지 않은 소리가 나서 키보드를 수리하러 A/S 센터를 방문하는 경우가 가끔 있는 것 같다. 키보드 불량이나 이물질, 또는 케이스와의 이격 때문은 아닌 것 같고, 보통은 키캡으로 쓰인 금속의 장력이 키캡마다 조금씩  차이가 나기 때문이다.
  • 이 경우, A/S 센터에서 교체해 달라면 무료로 교체해 주지만, 옵티머스 Q의 A/S를 기사들이 별로 좋아하지는 않는 것이... 뜯는 과정을 보면 이해가 간다. 내부 회로가 무척 복잡해서 뜯어 수리하고 조립하는데 적어도 30분 이상이 걸리는데, 그렇게 수리해도 사용자가 완전히 만족하기는 힘들다는 기사님 말씀.
  • 홈 버튼과 검색 버튼 사이에 있는 틈으로 먼지 등이 유입되면 버튼 감이 둔해질 수 있다. 이 경우는 분해 후 소제하는 것 밖에 방법이 없는데 일반인이 휴대폰을 뜯는 것은 대충 포기하고 A/S 센터에 맡기는게 낫다.
카메라
  • 버튼 중 카메라 버튼은 짧게 누르면 화면 캡쳐로 작동. 길게 누르면 카메라 앱이 실행된다. 카메라 앱이 실행된 상태에서 살짝 누르면 보통 카메라의 반 셔터처럼 AF가 작동하고 완전히 누르면 사진이 찍힌다.
  • 캡쳐된 파일은 /sdcard/DCIM/Capture 디렉토리에 저장된다.
  • 카메라로 찍은 동영상 및 사진은 /sdcard/DCIM/Camera 디렉토리에 저장된다.
  • 갤러리/카메라 등에서 동영상을 youtube로 올리려면 일단 youtube 계정이 있어야 하고, 설정에서 언어 정보를 바꿔야 한다. 홈->설정->언어 및 키보드->언어 선택->English 를 클릭. 한국의 정책 때문에 한국 로케일로는 youtube에 동영상을 업로드할 수 없다.
  • 갤러리/카메라 등에서 사진을 picassa로 올리는 것은 구글 계정만 있으면 간단히 해결된다.
DMB
  • DMB 안테나를 꽂고 DMB 앱을 실행. 이어폰 잭에 이어폰을 꽂고 DMB 앱 실행. 이 때 이어폰이 DMB 안테나 역할을 한다.
  • DMB 안테나를 키고리에 엮어 가지고 다니면 액정이나 프레임에 부딫혀 실금이 날 수 있다. DMB 안테나는 어디 적당히 짱 박아두고 3.5 파이 이어폰을 들고 다니는게 낫겠다.
일정 및 동기화

십몇 년치 일정 데이터를 계속 지고 가야 할 팔자다. 앞으로도 꾸준히 늘어날 데이터이고. 그래서 동기화가 매우 중요한데 안드로이드폰을 쓰기 전부터 동기화는 걱정한 적이 없다.
  • 컨택트 및 캘린더는 각각 구글 메일 계정의 컨택트와 구글 캘린더로 해결. 컨택트의 그룹을 모두 디스플레이하려면 주소록->보기설정->Google에 나오는 항목을 모두 체크해야 일단 다 보인다.
  • 구글 Docs는 GDocs로 동기화. WM 등에서 사용하던 메모는 Google Docs로 옮겨야 했다.
  • Google Reader의 RSS는  newsrob으로 동기화. --> newsrob 대신 gReader를 사용하는 것이 더 편하다. newsrob이 동기화 때문에 배터리를 꽤 많이 소비한다.
  • 데스크탑의 아웃룩과 구글 캘린더, 컨택과 동기화하기 위해 Go Contact Sync, Google Calendar Sync, gSyncIt 등의 프로그램을 사용했다.
  • 안드로이드폰은 기본적으로 2개월 전까지만 구글 캘린더와 일정을 동기화한다. 전체 일정을 동기화하려면 구글 캘린더의 설정에서 '캘린더 내보내기'를 해서 압축 파일을 받은 후 그 파일을 풀어 다시  '캘린더 가져오기'를 한 다음, 안드로이드 폰에서 동기화를 실행한다. 내 경우 10년치 데이터의 동기화가 이 방식으로 가능했다.
  • 무척 황당한 일이지만, 대다수의 안드로이드 폰은 일정 검색이 기본적으로 제공되지 않는다. 마켓에서 power search나 serchify 등을 찾아 설치. http://http://olilan.co.uk/searchify 
휴대폰에서 일정을 입력하는 것은 노키아에 비해 백배는 낫다. 쿼티 키보드 때문만은 아니다. 노키아 휴대폰을 사용하는 동안 일정을 입력하고 관리하는 것은 사실상 포기했다. 안드로이드폰 대개 gmail 계정이 있으면 연락처와 일정은 와이파이든 3G 든 망이 연동되어 있는 한 항상 동기화가 되므로 더이상 usb 케이블로 pc와 연결할 일이 없다.

시스템

Universal Androot 1.6.2.beta5 를 설치하면 클릭 한 번으로 루팅이 가능했다. 그 다음에 root explorer를 사용해 read only 파일 시스템을 리마운팅해서 read/write가 가능하도록 변경한 다음 몇 안 되는 설정을 수정했다.

펌웨어 업데이트 후(2010-10-26 무렵?) Universal Androot로는 루팅이 되지 않는다. 이 때는 PC에서 실행하는 superoneclick을 구해 사용한다. 프로그램 실행 전에 휴대폰에서 홈->메뉴->설정->응용프로그램->개발->USB 디버깅을 체크해 둔다. superoneclick 실행 후 root 버튼 클릭하고 기다리면 루팅이 완료된다.

카메라 무음 설정:
  • /system/sounds/camerashutter/ 디렉토리에서, shutter1.ogg 파일명을 sutter1.ogg_ 로 변경.
  • /system/sounds/effects/ 디렉토리에서, AutoFocus.ogg 파일명을 AutoFocus.ogg_ 로 변경.
불필요한 상주 app 제거: /system/app/ 디렉토리에서,
  • MobileVoIP.apk 파일명을 MobileVoIP.apk_ 로 변경
  • OZMessenger.apk 를  OZMessenger.apk_로 변경.
하드웨어적인 2D 그래픽스 처리 및 홈스크린 속도 향상: /system/build.prop 파일을 root explorer의 텍스트 에디터로 수정:
  • debug.sf.hw=1 # 기본값 0 , 1이면 GPU로 UI 렌더링
  • windowsmgr.max_events_per_sec=60 # 기본값 55. 초당 최대 이벤트수. 부드러워짐.
  • ro.telephony.call_ring.delay=1000 # default=3000. 링 빨리 울리게
  • wifi.supplicant_scan_interval = 90 # default=60: 와이파이 검색 빈도 낮춰 베터리 아끼기(S)
  • ro.mot.buttonlight.timeout=0 # default=1. 화면이 켜져 있을 때 버튼 불 계속 들어와 있게 하기
  • mot.proximity.delay=150 # default=450. 통화중 "검은 화면" 근접 센서 반응 빠르게 하기(ms)
build.prop에서 maxcpukhz 변경은 소용이 없었다. 위의 내용은 http://elkin.tistory.com/17 에서 복사한 것. 이중 debug.sf.hw는 카메라에서 간헐적으로 흑백 현상이 나타나기도 한다는 elkin님의 제언이 있었다.

옵티머스Q의 안드로이드 os가 2.1로 업그레이드 되면서 CPU 스케쥴링은 기본적으로 ondemand(필요할 때 CPU 클럭을 올렸다가 놀고 있을 때는 CPU 클럭을 낮추는 것) 라서 build.prop의 해당 항목을 굳이 바꿀 필요가 없었다.

그래서 Set CPU 앱으로 적당한 프로파일을 만들어 배터리 소비량을 약간이나마 줄였다. SetCPU는 배터리 소비량을 줄이는데 목적이 있는 것이 아니다. 내 폰은 게임폰이 아니라 1Ghz나 하는 고사양이 필요없는데 CPU 클럭을 낮추면 뒷판 발열이 낮아진다는 장점이 있다.

사용자 삽입 이미지
아래는 Quadrant로 벤치마크한 결과

사용자 삽입 이미지
첫번째 화면은 충전중(CPU 최대 속도=998Mhz)일 때 종합 평가에서 갤럭시S를 살짝  추월하는 모습, 두번째 화면은 충전중이 아닐 때(CPU 최대 속도=768Mhz) 갤럭시S보다 살짝 떨어지는 모습.

여러 가지 조건에 따라 다르지만 실 사용시 충전 중이 아닐 때도 갤럭시S보다 체감속도가 빨랐다.

앱 설치
  • 안드로이드 마켓 앱으로 대부분의 앱을 설치할 수 있지만 한국의 특수한 사정으로 게임 카테고리가 차단되어 있다(차단은 풀렸으나 게임 검색이 잘 안된다). my market을 사용하던가 루트 익스플로러에서 build.prop을 고쳐 해결(단, 루팅되어 있어야 한다).
  • market enabler는 기본 마켓 프로그램의 build.prop을 쉽게 고칠 수 있도록 해 주는 앱이다. 단, 루팅된 폰이어야 한다.
  • applanet 앱(소위 블랙마켓)은 유로앱을 무료로 다운받게 해준다.
  • 안드로이드 마켓에서 앱 설치에 도움이 되는 freeware로 QRcode 스캔이 가능한 barcode scanner를 다운받아 설치.
  • *.apk 파일을 pc로 다운로드 받아 설치하려면 usb 케이블을 연결하고 파일 시스템을 마운트하여 pc에서 접근 가능하도록 설정해야 한다.
  • 앱 설치를 쉽게 하려고 ES 파일 탐색기(freeware)를 앱 마켓에서 구해 설치했다.  ES 파일 탐색기는 LAN 모드에서 windows 가 설치된 PC의 공유 디렉토리에 접근할 수 있게 해 준다. ES 파일 탐색기는 apk 파일을 일단 SD card에 복사하고 나서 로컬에서 실행하여 앱을 설치한다.
  • 안드로이드 마켓에서 swiFTP를 구해 설치하면 안드로이드폰을 FTP 서버로 만들 수 있다. 즉, PC에서 아무 설정하지 않고 FTP client만 있으면 파일 전송을 쉽게 처리할 수 있다. 사진 전송 정도는 FTP 전용 클라이언트 없이 웹 브라우저에서 해도 된다.
  • 안드로이드 마켓에서 Bluetooth File Transfer를 구해 설치하면 안드로이드폰끼리 파일을 주고받을 수 있다. 이 프로그램이 의외로 편하다. apk 파일이 없고 설치만 되어 있는 것을 apk로 만들어 전송해 주는 것 같다. 주의: 페어링을 먼저 해야 한다. 그리고 전송된 파일은 /sdcard에 복사된다.
기본적으로 사용하는 앱들
  • Launcher Pro Plus -- 홈 화면 변경. 주로 속도 위주로 셋업. 의미: 애니메이션 속도를 빠르게 하거나, 불필요한 화면 전환을 없앰. 잘만 셋업하면 아이폰4와 비교해서 사람들을 놀래켜줄 수도 있다 :)
  • Fast Camera -- 기본 카메라 앱의 반응속도가 매우 느려, 급하게 사진 찍을 일이 있을 때 사용. 화질은 800 x 480로 구림. 런처 프로 플러스의 아래 타스크바에 등록해 두고 정말 급할 때 사용.
  • Astro -- 별다른 선택의 여지가 없는 must have item? 하지만 실제로는 ES 파일 탐색기로 거의 대부분 작업을 다 할 수 있어 비슷. --> Astro가 ES 파일 탐색기 처럼 PC 공유 기능을 플러그인으로 지원하기 시작했다.
  • Documents To Go -- 엑셀, 워드 등의 문서 편집, PDF 보기.
  • Adobe Viewer -- Documents To Go에서는 원본 그대로의 페이지 레이아웃 대로 보여준다. 작은 화면에서 원본 레이아웃 대로 보려면 팬과 줌을 정신없이 반복해야 하는 불편이 있다. Adobe Viewer 에는 reflow 기능이 있어 화면 폭에 맞춰 텍스트를 재정렬해서 보여주는데 일부 문서에서는 이 기능이 아주 편리하다.
  • Handcent SMS -- SMS 메시지를 관리해주는 프로그램. 기본 메시지 앱에는 없는 다양한 기능을 제공해 준다. 기본 메시지의 알림을 언체크해야 이중으로 메시지 수신되는 것을 방지할 수 있다. 메시지 앱 실행 -> 환경설정 -> 수신 알림/보기 설정 -> 알림 uncheck
  • Google 별지도 -- 밤에 별자리 찾을 때 유용한 프로그램. 멋지다.
  • Remote VNC Pro -- 회사, 집 컴퓨터 원격 로긴해서 작업.  PocketCloud 라는 앱은 VNC 뿐만 아니라 RDP (터미널 서비스)에도 접속할 수 있지만 속도가 좀 느린 편.
  • MSN 톡, 네이트온 UC -- 채팅에 취향이 없지만 업무 연락을 위해.
  • TwitterDeck, Foursquare, Twitter, FaceBook, 카카오톡 -- Social Network Service 접근용 프로그램. 요금제 덕택에 무선랜 안 되도 심심치 않게 남들 궁상을 구경할 수 있게 되었다!
  • GDocs -- Google Docs와 연동해 문서 편집이 가능한 프로그램
  • gReader -- Google Reader의 subscribe 된 RSS를 읽어온다. newsrob에 비해서는 낫지만 UI가 아직 덜 정리된 듯한 인상을 준다.
  • N 드라이브 -- 네이버의 10GB 짜리 대용량 네트웍 드라이브. 꽤 쓸모가 있다.
  • Vignette -- 기본 카메라를 대체하여 다양한 효과를 줄 수 있다. 속도가 느린 것이 흠.
  • 컬러노트 -- 메모나 할일 목록을 만들 때 사용.
  • RealCalc -- 공학용 계산기.
Widget 및 상주 프로그램

여러 종류의 위젯을 멋도 모르고 사용하다가 박대리 조기 퇴근을 경험했다. 구입한지 꽤 시일이 지나서야 위젯을 최적화했다 -- 모양은 별로라도 배터리 소비량이 적으면서 적당히 실용적인 위젯만 골라냈다. System Panel을 사용하여 각 application별 배터리 소비량을 하루 동안 측정해서 선별했다.
  • System Panel -- task kill 위젯을 제공하고 있고 기능 면에서도 Advanced Task Killer와 다를 것이 없어 advanced task killer를 지웠다. Advanced Task Killer의 장점은 일정 시간마다 불필요한 앱을 자동으로 죽여주는 기능이 있다는 점이다. System Panel에서는 현재 실행되는 앱의 시스템 점유율(및 사용율)을 보여주는 기능이 있다. 이걸 잘 활용하면 어떤 앱이 cpu 및 배터리를 많이 먹는지 판단하는데 도움이 된다.
  • Battery Indicator Pro -- 기본 배터리 잔량 표시기에 숫자 표시를 해놓았고 배터리 방전 로그를 기록할 수 있다. --> 루팅 후 배터리 잔량을 수치로 표시해주는 Status Bar로 교체하면서 사용하지 않게 됨.
  • PowerAMP -- 기본 음악 플레이어를 대체. 폴더 플레이, 앨범 아트 다운 등이 가능하고 위젯이 지원된다.
  • No Lock -- 파워를 켤 때마다 슬라이드 락을 해제해야 하는게 여간 귀찮아 설치. --> 삭제. 슬라이드 락이 해제된 상태에서 홈이나 검색 버튼이 주머니에서 눌려지면 이런 저런 앱들이 마구 실행된다. 심지어 전화도 걸고. 그래서 슬라이드락을 그대로 유지하기로.
  • Pure Grid calendar -- 런처에서 별도의 화면에 한 화면 가득 띄워놓고 본다. 캘린더 만큼 중요한 게 있을까? -- Jorte가 Pure Grid calendar보다 쓰기가 편해 교체.
  • SetCPU -- 어느 포터블 장치던 배터리를 가장 많이 사용하는 것이 LCD이므로 조도를 낮추는 것이 장시간 사용에 도움이 된다. 하지만 LCD는 발열과는 무관하다. CPU 속도를 떨구면 발열을 줄일 수 있고 배터리 소비량을 조금은 줄일 수 있어 사용.
  • 도돌 폰 사용량 -- 인기있는 프로그램. default 업데이트 주기가 1분인데 CPU 사용량이 2-3% 가량 나온다. 꽤 많이 먹는 편이라 업데이트 주기를 30분으로 늦췄다.
  • 하늘이 -- 기상청 자료를 사용하는 날씨/시계 위젯. beautiful widget류의 단점은 영 엉망인 날씨 정보를 보여줄 뿐만 아니라, 멋진 뽀대만큼 cpu 사용량도 컸다. 사실 수 년 동안 스마트폰을 사용해 오면서 날씨 위젯만큼 쓸데없는 것도 없었다. 차라리 웹 바로가기를 터치 해 날씨 보는 사이트에 직접 접속해서 실시간으로 보는게 낫지.
Bluetooth
  • 이전 노키아폰과 상대적인 비교만 가능한데, 통달거리는 20m 이내로 노키아폰보다 짧다.
  • 옵티머스Q는 블루투스 스택 및 프로파일은 하나도 지원하지 않는 것 같다. obex push profile정도는 지원할 줄 알았는데 그것도 없다(정정: 사실 휴대폰이 부팅할 때 OPP가 뜬다). pc와 연결해도 할 것이 없다. 그래서 스마트폰간 파일 전송이라도 하려면 Bluetooth File Transfer 같은 프로그램(FTP, OPP 지원)을 사용해야 한다.
  • 옵티머스 Q에서 Bluetooth File Transfer를 띄운 상태에서  시스템 트레이의 블투 아이콘 오른쪽 버튼을 누르면 파일 전송, 파일 수신 메뉴를 통해 파일 전송을 처리할 수 있다. Windows 7의 Microsoft bluetooth profile이 OPP를 지원한다. Windows XP는 안 된다.
  • 옵티머스Q에서 PC로 파일을 전송하려면 일단 PC의 블투와 옵티머스Q의 블루투스가 페어링 되어 있어야 하며, 갤러리에서는 공유에서 bluetooth를 선택하거나, Astro 같은 파일 관리자에서 해당 파일을 send via bluetooth로 선택하고 나서 전송할 대상을  고른다.  그러나 아마도 디렉토리 퍼미션 문제 때문인지 전송이 실패한다. 이를 해결하는 방법은 Bluesoleil 이나 Toshiba Bluetooth stack 등의 프로그램을 설치하는 것. 이들 프로그램은 PAN, OPP, FTP, Handset 제어 등 대부분의 블투투스 프로파일을 지원한다. HP 노트북의 경우 HP의 블루투스 드라이버만 설치해도 파일 받기가 가능하다.  
  • Bluesoleil 등의 프로그램이 워낙 무거운 관계로 단지 파일 전송만 할 목적이라면 Bluetooth File Transfer 라는 안드로이드 앱을 만든 medieval의 windows용 동명 프로그램인 Bluetooth File Transfer를 PC에 설치해서 사용.
  • 노키아폰에서는 없던 현상인데, 옵티머스Q를 헤드셋(SCS770)과 페어링할 때 미디어에만 연결되고 핸드셋에 연결되지 않는다(그 반대던가?). SCS770 헤드셋을 쿡 눌러 접속을 끊었다가 다시 접속하면 둘 다 붙는다.
카메라
  • 500만 화소의 AF 카메라는 이제 흔한 스펙이 되었다. 대낮에 찍는 사진의 품질은 볼만한 정도다. 단점: 기본 카메라 앱은 셔터 랙이 1-2초 가량 있다. JPEG 압축율이 높은 탓인지 단색계조에 노이즈가 지글지글 끓는 걸 볼 수 있다(파란 하늘을 찍을 때). 아이폰4보단 다이나믹 레인지가 떨어지지만 충분한 광량에서 밝은 피사체를 찍을 때는 별 차이 없다.
  • 동영상은 mp4s, aac 포맷으로 녹화한다. 파일 확장자는 .k3g로 PC의 왠만한 동영상 플레이어로 재생 가능하며 Youtube 업로드도 잘 된다.
GPS application

Garmin Mobile XT나, SportsTracker 같은 앱을 찾기가 어렵다. 안드로이드 마켓에서 이런 저런 앱을 보이는 대로 설치하고 사용해 봤지만 마땅히 좋다고 생각되는 것이 없었다. 대부분 구글 맵에 적당히 트랙이나 만들고 GPSr의 트립컴퓨터 같은 역할이나 하는(그것도 엉성하게 모사한) 앱이라 대부분은 설치하자 마자 화면 몇 번 보고 지워버렸다.

GPS 어플리케이션이 가졌으면 하는 기능을 열거해 보면(아니 이 정도는 기본으로 가져야 한다고 생각하는 기능을 열거해 보면),
  • Tracklog  -- 단순 트랙로그야 어느 앱에서나 볼 수 있지만 speed averaging, track smoothing, log pause(일정 속도 이하에서 로그 기록을 정지), splitting(속도를 구간별로 정리해 자동으로 waypoint 를 만들어 줌), log predicting (터널 지나갈 때 등 GPS 신호가 단기간 소실될 때 중간 지점 waypoint가 튀지 않도록 트랙 중간점의 속도를 추측해서 만들어줌), auto log (앱을 가동하면 자동으로 날짜별로 log를 기록하는 것) 등이 가능한 것은 드물던가 없는 것 같다.
  • Trackback -- 시작점, 끝점을 향해 이미 기록된 로그를 따라 이동하는 것. trackback일 수도 있고 track replay일 수도 있다. 트랙백 중 내비게이션 가이드 음성이 나와 줘야 굳이 지도나 경로 안 보고 편하게 돌아다닐 수 있겠다.
  • Sight and go -- 대부분의 GPSr에 있는 기능이고 나침반과 지도로 탐사하는 것을 GPSr로 하는 것.  터치 스크린의 장점을 십분 살려 아예 경로 설계(routing)를 화면에서 직접 하는 것도 좋겠다. 이왕 하는 김에 난이도를 지정하면 능선 연결길이나 골짜기길 등 특화된 아이템을 자동 라우팅해 주면 끝내주겠다.
  • Trip Computer -- 트랙로그와 연동되는 ETA(Estimate Time to Arrival), Moving Average Speed, Elevation Change 정도가 필요, 스마트폰의 장점을 살린다면 풍향, 풍속, 습도, 기온 따위의 정보도 충분히 수집 가능.
사용중인 앱들
  • My Tracks -- 구글에서 만든 것 치고는 허접한 앱. 셋업에서 몇몇 세부 설정을 건드릴 수 있고 트랙을 저장하거나 업로드하는 기능이 있어 일단 이걸 사용.
  • Journey Tracker -- My Tracks를 알기 전에 사용하던 프로그램. 별로.
  • Endomondo -- 앱 자체가 GPS를 다루는 것은 다른 앱들처럼 그저 그렇지만 트위터, 페이스북 연동과 트랙로그가 온라인으로 자동 전송되고 소셜 네트웍을 통한 응용(예를 들면 챌린지 같은) 설정을 잘 해 놓았다. 엔도몬도는 대부분의 스마트폰에 포팅되어 있다.
  • Naver Map -- 실시간 교통 상황을 보여주고, 길찾기가 가능해 내비로 사용할만 하지만 heading에 따른 지도 회전이 구현되어 있지 않고 음성 코멘트가 없다. 트랙로그를 기록 안한다.  자전거 지도, 등고선도 및 산행도 등은 다른 지도에서 찾아볼 수 없는 좋은 기능이다 뭐 웹에 있는 맵과 같은 거지만. --> 헤딩에 따른 지도 회전이 구현되었다. 하지만 나침반이 아주 묘하게 작동하는 현상이 있다.  
  • Daum Map -- 실시간 교통 상황, 길찾기, 나침반으로 지도 회전, 스트릿 뷰 등을 갖췄다. 역시 음성 코멘트는 없다. 뚜벅이 모드에서 나침반 지도 회전 및 스트릿 뷰를 써먹을 수 있다. 네이버맵과 마찬가지로 트랙로그를 기록하지 않는다.
GPS 테스트

사용자 삽입 이미지
GPS Status로 실내에서 수신율을 본 것. 실내에서 무려 아홉 개의 위성을 잡았다.

사용자 삽입 이미지
이전에 Garmin Vista HCx, Nokia N5800을 테스트했던 자료에 옵티머스Q(보라색 라인)을 GPS Trackmaker에서 겹쳐 놓았다. Vista HCx와 비교해도 손색이 없는 수신율을 보여준다.

사용자 삽입 이미지
HCx(붉은 색)와 옵티머스Q(보라색)의 고도 비교. 수신율이 좋으니 튀는 현상이 현저하게 적었다. 이 정도면 실 사용에 GPS를 믿고 쓸만 하다. 다만, 배터리 문제 때문에 가벼운 산행 정도나 가능할 것 같다.

GPS의 배터리 사용량 측정
  • Battery Indicator Pro에서 Log를 체크해두면 배터리 소비량 측정이 가능하다.
  • My Tracks 또는 Endomondo를 단독 사용했을 때 1시간 당 배터리 게이지가 13% 가량 떨어졌다. 배터리의 특성상, LCD off 상태로 약 5~6시간 사용 가능할 듯.
  • My Tracks를 켜고(GPS on) 블루투스 켜고 기본 내장 음악 app으로 4시간 산행하면서 1시간 동안 음악을 듣고 3개의 30초 가량 동영상과 열댓장의 사진을 찍었더니 배터리 게이지가 100% -> 25%로 떨어졌다.
GPS의 이용 방법

산에서는 네이버 맵이 진리다. 거리에서 약속 장소를 찾아갈 때나 자동차 내비가 필요할 때는 빈약하나마 다음 맵을 사용한다. 자전거, 트래킹, 조깅 등의 스포츠 활동을 할 때는 엔도몬도를 사용했다.

기본 사진기 앱은 지오태그를 지원한다(카메라 설정 아이콘 -> 위치정보 표기 -> 설정 체크). GPS를 켜 놓고 돌아다니다가 사진을 찍으면, 찍은 위치의 경위도가 사진 파일에 기록된다. 이것을 panoramio난 플리커(지원하던가? 가물가물) 등의 웹 앨범에 올리거나 piccasa 등의 pc용 프로그램에서 사진을 불러오면 사진 찍은 위치를 지도로 확인할 수 있다.  

사용 소감

일주일: 옵티머스Q가 배터리를 좀 더 신경썼더라면(예: 1350mAH 대신 2200mAH 짜리 배터리를 사용한다던가) 그야말로 경쟁자가 없는 괴물폰이 되었을 것 같다.

2주일: 배터리 최적화를 잘 해 놓으니 한 시간에 배터리 게이지가 1~2% 정도 밖에 닳지 않았다. 출퇴근, 대략 1시간 40분 동안 블투 헤드셋으로 음악 들으며 웹질 하고 점심 먹으러 가는 길에 웹질 하고 전화 몇 통 하거나 받으면 저녁 퇴근 후 집에 도착할 때 즈음 약 50% 가량 배터리가 남았다. 반면 여러 종류의 게임을 돌리고 아내 휴대폰으로 블투로 프로그램 전송하고 나도 나름 웹질 따위를 했더니 세 시간 만에 100% -> 20% 로 금새 닳아 버렸다. 게임이 특히 쥐약.

SNS를 사용할 때 쿼티 자판의 편리함은 이루 말할 수가 없다. 주변에서 옵티머스Q를 산 대부분의 사람들이 가장 만족스러워 하는 부분이다.

2개월:  (2010-11-02 추가)
  • 약해보이던 베젤은 결국 어느 틈엔가 흠집이 났다. 휴대폰에 포함되어 있던 액정 보호지는 내구성이 약해 실금이 여럿 생겼다. 홈버튼과 LCD 사이의 틈으로 먼지가 들어가 홈 버튼의 클릭 감촉이 안 좋아 AS 센터에 한 번 갔다.
  • 주변 사람들에게 옵티머스Q를 사라고 적극적으로 권했다.
  • 한 달 내내 거의 무선랜을 사용하지 않았음에도 데이터 사용량이 첫 달 300MB, 둘째 달 600MB를 넘지 못했다.
  • 약 30개의 게임을 설치했지만 게임을 직접 한 적은 없고 아이에게 넘겨주면 혼자서 잘 논다.
  • GPS의 실측 사용시간은 대략 4~5시간 정도 되었다. 엔도몬도를 켜고 자전거 타고 약 100km 정도 돌아다니면 집에 도착했을 때 10% 가량 베터리가 남는다. 배터리는 여전히 많이 아쉬운 부분이다.
  • 수백 개의 어플을 거의 마구잡이 식으로 설치했다 지웠다를 반복했지만 메모리가 딱히 부족했던 적은 없었다.

배터리 최적화 (2010-09-29 추가)

설정->디스플레이 설정
      방향: 체크 안함
      애니메이션: 체크 안함
      조도 센서: 체크 안함
      밝기: 최저값(태양 아래에서는 아예 안보이는 지경)
설정->계정 및 동기화
      배경 데이터: 체크
      자동 동기화: 체크 안함

시스템 패널 앱에서 다음 앱 들은 kill할 때 exclude:
      LG 전자 입력기
      SetCPU
      도돌폰 사용량
      Endomondo
      Power Amp

사용자 삽입 이미지
System Panel의 배터리 로그 보기 화면: 0시부터 아침까지 배터리가 충전되는 동안 Device Usage=0이고, CPU Activity=3% 내외가 되는 것을 불 수 있다. 오후 2시부터 8시 무렵까지 CPU Activity가 현저하게 떨어지는데, SetCPU에서 배터리 프로파일을 충전중이 아니고 LCD off일 때 CPU clock=235Mhz로 최대한 낮춰 놓았기 때문이다. 이때 배터리 소비량 역시 현저하게 줄어든다. --> 아무 것도 안 할 때는 적어도 50~200시간 가량 대기가 가능할 것으로 짐작된다.

유감스럽게도 시스템 패널이나 배터리 인디케이터 프로 등의 프로그램으로는 배터리 소비량과 앱, 센서 인터페이스의 전력 소비량의 상관 관계를 알아내기 어렵다. 이를테면 노키아 N5800의 Energy Profiler 같은 프로그램이 아직 없는 것 같다.

2010-10-26 펌웨어 업데이트 후 배터리 사용 시간이 눈에 띄게 늘었다.

,

5800 GPS 안테나 개조

GPS 2010. 6. 24. 14:18
노키아 N5800 GPS 성능 높여보자 -- 나도 안테나 개조나 할까 해서 5800을 뜯었다. 설명은 여기가 좀 더 자세하다. USIM과 MicroSD 슬롯이 있는 부근에 있는 GPS 패치 안테나에서 동선을 연장하는 것이다. 안테나로 사용할 선은 9.5cm 길이의 랜선(UTP 케이블)의 피복을 벗겨 준비했다.

파장 λ = C/f = 3*10^8 / 1575.42*10^6 = 0.19042m. (f=GPS 위성의 캐리어 주파수. C=광속)
안테나 길이 = λ / 2 = 0.0952m = 9.5cm

사용자 삽입 이미지
안테나를 붙이고(납땜하지 않고) 적당히 꺾어 휴대폰을 감싸게 했다. 요새는 사진을 죄다 노키아폰으로  찍는 관계로 휴대폰을 개조하는 과정의 사진은 없다.

효과: 사무실의 다른 직원이 가진 5800과 GPS 리셉션을 실내에서 비교해 보니 위성을 좀 더 잡는 것은 보였으나 그래도 Gamin Vista HCx와는 비교가 되지 않았다. 5800의 내장 GPS는 매우 구린 편.

2010-06-29 추가:

* 랜선의 피복을 벗겨 공기 중에 노출되면 쉽게 산화된다. 추후 니켈도금선으로 바꿔야 할 것 같다.

*  Garmin Vista HCx와 5800 GPS를 함께 켜고 자전거 주행을 네 번 했다(자출 왕복 2회). 개활지에서 위성이 잡히는 갯수는 안테나 개조 전이나 개조 후 같으나(당연한 얘기지만 개활지에서 상공에 떠 있는 GPS 위성의 갯수는 정해져 있으니까) 수신 감도가 다소 향상되었으며 HCx 기준으로 위치 오차가 이전 +-15m에서 +-8m로 줄어들었다. 테스트할 때 5800은 주머니에 넣고 달렸으니 그 점을 감안하면 이전에 비해 좋아진 셈이다.

사용자 삽입 이미지
효과가 입증되어(?) 사무실 직원 휴대폰에 안테나를 달아주면서 내 5800으로 접사를 찍었다. 별나사를 네 개 풀고 껍데기를 살살 벗겨내고 패치 안테나 접점에 위 안테나를 걸쳐놓고 스카치 테이프로 붙여 고정한다. 작업 시간은 대략 10분 정도? 임피던스 맞추고 뭐고도 없는... 대충 접촉만 시킨다는 목적으로 한 것.

사용자 삽입 이미지
MicroSD, USIM을 지나 상단의 MicroUSB 포트를 지나도록 안테나를 구부려 설치. 이때 기판이나 금속 부분에 안테나 선이 닿지 않도록 주의. 내 경우에는 안테나 선을 휴대폰 하단으로 돌렸다. 휴대폰을 통상 주머니에 거꾸로 넣고 다니기 때문. 이 친구의 휴대폰은 안테나 선을 상단으로 둘렀는데, 휴대폰을 들고 구글맵 등을 실행해 길찾기를 할 때는 안테나가 위쪽에 있는게 낫다.

이제 필드 테스트(?) 결과:

사용자 삽입 이미지
클릭하면 커질 것 같은 그림. 조건: 한쪽이 건물과 담으로 막힌 안양천 자전거 도로변에서 평속 25kmh로 주행 중. 5800은 sportstracker2로 트랙로그를 남겼으며 로그 포인트의 총 갯수는 sportstracker가(1900여개) Garmin GPS(340여개) 대비 5배 이상 밀도가 높다.
  • 5800-org: 안테나 개조 전. 한번 캡쳐. 주머니에 넣고 자전거 주행.
    5800-mod1, 5800-mod2: 안테나 개조 후. mod1은 주머니에 넣고, mod2는 꺼내놓고 트랙로그를 남김.
    hcx1, hcx2: 레퍼런스용 Garmin GPS Vista HCx. 두 번 모두 자전거 핸들바에 마운트해 놓고 트랙로그를 남김. Vista HCx로 남긴 트랙로그는 여러 번에 걸쳐 기록해도 위치 정밀도가 좋다. 그냥 이게 옳다고 보면 됨.

사용자 삽입 이미지
안테나 개조 전과 개조 후가 꽤 차이가 난다. 개조한 안테나는 최적의 조건에서(적어도 full strengh signal 위성 8개 이상 잡히는 개활지) HCx 대비 그렇게 나쁘지 않은 위치 정밀도를 보여주는 것만 같다. 뭐 사실 최적의 조건에서는 GPS 기기간 차이가 별로 나지 않는다.

사용자 삽입 이미지
골목길 및 고가 차로 아래 주행 궤적. 5800의 안테나를 개조해봤자 트랙로그가 몹시 흔들린다. 게다가 고가차로 아래에서는 위치정밀도가 HCx와 현저하게 차이난다. 무려 70-80m나... 자동차 내비게이션 용 정도로나 막 쓸 정도지, 산행에서 이런 GPS를 믿고 목숨을 맡기긴 무리다. 트랙로그 대충 남기고 위치 적당히 참고하는 정도로 사용할 수준.

오차가 크게 나는 것은 자전거가 주행하고 있기 때문인데, 걸어 다닐 때는 이렇게까지 오차가 커지지 않을 것이다.

2010-07-02 추가:

반파장 안테나가 수신 감도가 안 좋아 노키아폰 전체를 에두르는 안테나를 만들었더니 평소 집 안에서 0~1개 정도 잡히던 위성이 3-5개씩 잡히더라는 글을 보고 의아해서 안테나를 다시 만들었다. 공교롭게도 노키아폰 전체를 안테나로 두르면 1.5파장(반파장*3)이 된다. 보통 다이폴 안테나를 만들 때 반파장씩 둘을 만들던가 접지면에 대해 반파장 짜리를 만드는데, 반파장이 중요한 이유는 반파장일 때 공진폭이 최대가 되기 때문. 하여튼 1.5파장 안테나가 되니 위성이 1-2개 더 잡히고 수신강도도 '느낌상' 약간 상승한 것 같다(느낌 같은 거 사실 믿지 않지만).

그래서 그 상태로 테스트를 해 봤다. 이번에는 노상으로 운영되는 지하철을 타고 자리에 앉아 노키아폰과  Vista HCx를 동일한 위치에 들고 궤적을 작성했다. Garmin 지도의 도로와 철로를 기준으로 사용했다(도로, 철로의 궤도가 신뢰도가 높다고 보는 것은 무리지만 어디까지나 상대적인 레퍼런스로 사용).

노키아폰의 트랙로그의 포인트수가 HCx에 비해 5배 가량 많아 GPS Trackmaker의 Tracklog Reducer로 트랙을 줄였다.

 
사용자 삽입 이미지
HCx의 철로에 대한 궤적의 상대 오차는 +-20m로 전동차 실내에서 3-4개의 위성이 절반 정도의 감도로 잡히는 것 치고 위치 정밀도는 그럭저럭 괜찮았지만 5800은 종종 70~90m 가량 벌어졌다. 주욱 HCx와 궤적이 한 동안 잘 맞다가 저 모양이 된다.

사용자 삽입 이미지
오른쪽으로 얕으막한 동산을 끼고 직선로의 인도에서 걸으면서 두  GPSr을 나란히 들고 궤적을 작성한 것(클릭하면 확대) 좌측하단에는 하늘을 가리는 장애물이 거의 없다. 좌측하단에서 우측상단으로 걸어가는 동안 얕은 장애물(동산)이 나타나자 노키아폰의 위치정밀도가  낮아진다(흔들린다) 마지막에는 오른편에 아파트가 나타났고 노키아폰의 궤적은 70m 가량 도로와 어긋난다. 궤적 2개를 비교해 보니 1..5파장 안테나나 반파장 안테나나 수신감도 면에선 일단 별 차이가 없는 셈.

사용자 삽입 이미지
HCx가 항상 나은 것은 아니다. 지하철을 타고 가다가 내려서 탑승로를 걸어 지하철역을 나와 교차로에서 지하도롤 통과하는 과정. 전동차가 설 때까지는 5800의 위치 오차가 크지만, 지하도를 통과할 때는 HCx보다 오차가 작다.

사용자 삽입 이미지
이전 데이터에 1.5파장 안테나(5800-mod3)를 추가한 것. 반파장 안테나보다 상태가 안 좋다. 1.5파장 안테나가 위성을 많이 잡는 것은 착시현상인 듯.  -- 위성은 돌고 돌므로 시점이 바뀌면 마치 위성 갯수가 늘거나 수신율이 좋아지는 것처럼 보일 수 있으므로.

사용자 삽입 이미지
(클릭하면 커짐)
짙은 파랑색: gps visualizer로 트랙로그에 대한 고도를 추출한 것. (gps visualizer는 SRTM3 DEM을 사용하여 고도를 추출하므로 고도가 정확하다고 볼 수는 없음)
빨강색: Garmin Vista HCx의 기압고도계가 기록한 고도. (기압고도계는 날씨나 기압에 따른 기압편차가 있어 정확한 고도를 얻을 수 없음. 그러나 DEM으로 추출한 고도와 트랜드가 일치하는 것을 확인할 수 있음)
하늘색: 5800의 GPS 고도 (한 눈에 봐도 개판)

2010-07-02 테스트 정리

* 5800의 GPSr은 무슨 이유에서인지 그냥 별로 안 좋다
* 5800의 안테나 개조(반파장)를 하면 수신감도가 좋아진다.
*5800 폰을 에두르는 1.5파장 안테나의 수신 감도가 반파장 안테나 개조 때보다 별로 나아지지 않거나 더 나빠지는 것 같다.
* 안테나 개조를해도 5800의 GPSr의 기본적인 위치 정밀도가 떨어지는 것은 어쩔 수 없다.

아이폰 3Gs을 만져본 적이 있는데 5800에서도 실행되는 Google Maps로 함께 살펴 보건대 GPSr의 수신 감도나 성능은 5800과 대동소이했던 것 같다. 안테나 개조 전이 그랬으니 안테나 개조한 5800이 어쩌면 더 나을 지도 모르겠다.

훗날 다른 GPSr로 필드 테스트를 더 해보기 위해 지금까지의 테스트 결과를 GPS Trackmaker 포맷 파일로 포함해 둔다.

,

지도 제작 작업 메모

GPS 2010. 2. 22. 16:24
사람들이 흔히 말하는 GPS의 정확한 명칭은 GPS receiver이고, 줄여서 GPSr로 표기하지만 이미 GPS로 용어가 굳어버려서 나도 GPS와 GPSr을 혼용하다 보니 헷갈린다.

lock된 맵을 unlock하는 것은 가능하지만, NT format 을 non-NT format으로 변환하는 것은 현재로선 불가능하다. NT format에 관한 정보는 Garmin사의 비밀로 남아 있다.

Garmin .IMG 파일에는 RGN, TRE, LBL subfile이 포함된다. routable map에는 NET와 NOD subfile이 들어있다. 최근의 MapSource 및 Basecamp에서 사용하는 3d Shaded releif 정보는 DEM 섹션에 들어간다.  2009년 12월 22일 현재 sourceforge의 Garmin IMG format 소스는 DEM을 제외한 나머지 항목들을 리버스 엔지니어링 했다.  NT format과 마찬가지로 DEM format 역시 알려지지 않았다.

DEM 파일을 완전히 이용불가능한 것은 아니다. YoMismo는 이렇게 해결했다.

cgpsmapper의 설정 변수인 TreSize가 작을수록 GPSr의 랜더링 속도가 빨라진다. 대신 파일 사이즈는 커진다.

Topomap을 만들 때 globalmapper등의 프로그램에서 등고선을 단순화하는 알고리즘에서 사용하는 Simplify Level 값은 0.1과 1 사이에는 등고선 표현에 차이가 크나, 1과 10 사이에 차이는 거의 없다. 0.1일 때 파일 크기가 작지만 1일 때는 약 2배 이상 커진다.

http://gpsmid.sourceforge.net/ -- osm 벡터 파일을 직접 랜더링. 드디어 나왔다!
http://www.andnav.org/ -- Android Navigation. andnav1은 google 맵을 사용했지만 ver2 부터는 osm tile을 사용한다.

POI를 잔뜩 수집했다. 주로 산 이름인데, 여러 개가 겹치고 각기 조금씩 다른 경위도에 위치해 있는데다가 양이 많아 일괄적으로 수동으로 수정하기는 곤란했다. 예를 들어 태을봉에 해당하는 POI가 모두 7개인데, 정상 위치에서 벗어난 것이 3개, 정상 부근에서 경위도가 조금씩 틀어진 것이 4개로 정확히 정상 중심에 위치하는 것은 없다.

그래서 이중 정상 위치에서 너무 벗어난 것을 제외하고 남은 4개에서 정상 위치에 가장 근접하게 POI의 경위도를 조정하는 작업을 하기로 했다. 해당 경위도의 해발 고도를 알려면 DEM이 필요하다. 아쉽게도 이전에 사용하던 DEM 지도는 global mapper에서만 불러올 수 있고 대체 무슨 포맷인지 알 수 없다(게다가 약간 위치가 어긋났다), 두번째로 NASA가 제공하는 DEM 지도는 정밀도가 떨어져 정확한 정상 위치를 파악하는 용도보다는 고도 변화를 추적하는 정도의 용도로 사용 가능하다(몇몇 사이트나 프로그램이 이것을 사용해 딱 그 목적으로 사용했다).

KOTM에 사용하는 DEM을 MP로 변환한 다음, MP로부터 등위도 DEM을 다시 만들어 이것을 프로그램에서 사용가능한 TIFF나 비트맵으로 만든 다음 사용하려고 시도했다. 최소한 POI의 정상 위치는 이렇게 해서 판별이 가능했다. 하지만 DEM -> MP -> DEM으로 만드는 과정에서 MP가 10m 이하의 등위도 선분을 만들지 못하는 관계로 바다 위의 바위나 섬 주변의 낮은 봉우리는 처리할 수 없었다. 어쨌든 이 작업에 근 일주일을 보냈고 에러는 비교적 낮았다.

그동안 OSM에 올렸던 POI와 새로 수집한 POI를 합치면 약 20만개가 된다. 이들을 정리해서 다시 올릴 계획이다. 연초에 잠시 한가한 틈에 XML Pull Parser를 만들었고, OSM 파일(약 400MB)에서 POI만 추출하는 프로그램을 짰다. 요즘은 바빠서 통 이 작업을 하지 못했다.

정리:
DEM 작업 5일
POI 작업 5일
XPP 제작 및 POI 작업 14일

완결을 짓긴 해야 하는데 언제 다시 작업을 재개하게 될 지 불확실하다. 그 동안 정리되지 않은 POI를 사용해 맵 검증을 하고 돌아다녔다.



,

KOTM v3,1

GPS 2009. 10. 26. 23:46
KOTM 3.0을 올린 후 Garmin Mobile XT에서 한글이 깨진다는 댓글을 보고 문제를 열심히 찾아 보았다. 내 경우엔 한글이 깨지다가 안 깨지다가 제멋대로였고 Mobile XT를 사용하지 않아 별로 신경을 안 썼지만 이왕 올린 것, 문제점을 알았으면 수정해서 올려야 겠다고 생각했다. 직원에서 블루투스 GPS를 빌려 Garmin Mobile XT를 하루 정도 테스트했다.

원인을 찾았다. mapset 중 하나라도 코드페이지가 949가 아니면 한글이 깨진다. 꽤 희안한 버그라서 사실 좀 믿기지가 않지만 뭐 현상이 그런 걸 어쩌겠나. 하루 종일 틈만 나면 지도를 빌드하면서 원인을 찾은 것. 일단 문제는 찾았지만 압축을 풀면 1GB가 넘는 데이터를 올리면서 고작 그런 버그 하나 때문에 여러 사람들 불편하게 한 것이 미안해서 원래 KOTM 3.5에 적용하려던 것들 몇 가지를 3.1에 급히 쓸어 담았다. 대표적으로, Makefile로 지도를 빌드하게 해 놓았다. 그리고 스타일(*.TYP)을 전면 적용. map feature의 아이콘을 대폭 수정했다. 그 두 가지는 혹시나 있을지도 모를 지도 작업자들을 위해 기본적인 작업 환경을 제공한다는데 의미가 있는 것들이라 일반적으로 지도를 사용하기만 하는 사람들에겐 별 의미가 없는 것들이지만.

업무 시간을 제외한 대부분의 가용 시간을 KOTM v3.1을 빌드하고 테스트하는데 보냈다. 10시간에  30번 가량 빌드 & 테스트를 해 볼 수 있다. 뭐 상당수는 MapSource에서 미리 확인하고 지도의 맵 피쳐가 잘 들어간 부분을 오려내어 테스트 스윗을 구성하고 일부분만 테스트해 보는 것이지만, 아이콘을 만들고 컬러 지정해서  TYP 파일 만들고 제대로 적용되었는지 확인하는 것은, 어떻게 생산적으로 잘 할 수 있는지 방법을 알아도, 작업의 절대시간을 단축할 수 없다는 점 때문에 생 노가다다.

그건 그렇고, 지도 제작을 좀 해봤거나 GIS 관련 계통 일을 하시는 분들이 보기엔 KOTM은 별 거 아닌 지도다. 자료의 규모나 품질 면에서 상용 지도에 비해 현저하게 질이 떨어진다.

KOTM v3.1은 저번 주 금요일 퇴근 전에 대충 마무리해 GPSGIS에 올렸다.
http://cafe.daum.net/GPSGIS/BSrL/1554




,

KOTMv3

GPS 2009. 10. 16. 18:15
mkgmap r1177 버전 이후로 topo map이 일부 깨지는 현상을 목격했다. 리비전 간의 차이를 알아내기 위해 꽤 삽질해서 밝혀낸 것이다.

사용자 삽입 이미지
mkgmap 개발자인 Steve에게 일단 email을 보냈다. 이 문제 때문에 지체되었고, 그 동안 바빠서 KOTMv3부터는 OSM 한국 지도를 다운 받아 사용자가 직접 지도를 만들 수 있도록 하겠다는 계획도 미뤘다.

오랫동안 기다리던 sea polygon이 mkgmap r1200 언저리의 리버전부터 포함되었다. 속도는 매우 느리지만 그래도 사용하고 싶다.

일부는 올해까지는 mkgmap에 GUI를 붙일 지도 모르겠다고 스티브가 말한 때문도 있었다. 그래서  내가 만들어 사용하는 osm2img를 굳이 공개하지 않아도 될 것 같다. mkgmap 프로그램의 옵션이 하도 많고 까다로워 GUI front end가 없으면 그 옵션들을 이해하면서 적절히 사용하여 지도를 제작할 사람이 몇이나 있을지 장담할 수 없다...

어느 리비전부터인지 정확히 기억은 안 나는데 multi-core cpu에서 threading을 지정할 수 있게 하는 옵션 덕택에 지도 제작은 30분에서 5분으로 단축되었다. 그래서 지도 만드는게 더 이상 부담스럽지가 않다.

여기저기 산을 돌아다니며 산 정상의 마루에서 GPS를 들고 제자리를 맴돌았다. 누가 보면 정신이 약간 이상한 사람처럼 보였을 지도 모르겠다. TM좌표계를 사용하는 DEM 원본 자료의 오차 때문이다. 최소한 세 군데의 최고점에서 삼각 측량을 하면 오차를 줄일 수 있으리라 여겼다. 그렇게 해서 DEM 지도의 수평 및 수직 정밀도를 KOTMv2.5 때보다 25m 가량 향상시켰다. globalmapper로 DEM의 전체 재작업을 진행 했다. globalmapper 새 버전은 지금 내가 사용하는 버전과 비교해 상당히 많이 좋아졌다. 언젠가는 사용하지 싶다.

자전거 타고 수원 시가지를 돌아서 수원 도로를 반쯤은 완성했지 싶다. 시간 나는대로 계속 진행할 것이다. 예전에 비하면 OSM 작업자가 늘어 기쁘기도 하다.
 
사용자 삽입 이미지

휴대폰에 Garmin Mobile XT를 설치하고 KOTMv3를 넣으니 Garmin GPS로 보던 지도가 똑같이 나타난다(오히려 WM 기기에서 돌리니 더 느려 보이는데?). Bluetooth GPS만 있으면 지금 휴대폰으로 나돌아다니는데 아무 문제 없을 것 같다.

사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지
사용자 삽입 이미지 사용자 삽입 이미지 사용자 삽입 이미지
사용자 삽입 이미지 사용자 삽입 이미지



,

OSM 작업노트 #14: cleanup

GPS 2009. 7. 24. 16:36
OSM 작업을 하면서 가장 불편한 것은 한글과 영문 이름 병기다. POI 마다 한글명과 영문명 태깅을 하는 것보다는 일단 한글명만 적어두고 나중에 한꺼번에 바꾸는 것이 효율적일 것이다.

한글의 romanize는 node 또는 way에 name:en 태그가 없고, name 태그에 괄호 '('가 없을 때만 로마자 변환을 한다. 괄호가 있는 것은 괄호 속에 영문 표기를 했다고 가정하므로 변환 대상이 아니다.

두번째로 작업중에 실수로, 또는, 삭제하다가 프로그램이 다운 되는 등, 부지불식 간에 생긴 orphan node을 삭제한다. orphan node란 아무런 tag가 지정되어 있지 않고 way의 맴버가 아닌 node를 말한다. 이때 tag중 created_by는 별 의미가 없으므로 무시한다. tag가 지정되어 있는 node는 그게 무엇이라도 삭제하지 않는다.

사용자 삽입 이미지
고아 node의 예. 태그를 가지고 있지 않음. way에 소속되어 있지 않음. 위의 경우 way 삭제 중 사고로 way는 지워졌지만 way의 맴버였던 node가 삭제되지 않은 경우다. 가끔 이런 사고가 발생한다. 이걸 손으로 지우는게 많이 귀찮다.

일단 두 가지 작업을 위해서 남한 OSM 파일을 얻어야 하는데, cloudmade.com에서 매주 제공하는 남한 OSM 파일은 완전한 것이 아니라서(남한의 일부 영역이 잘렸다) planet.osm 파일을 직접 다뤄야 한다. cloudmade.com에는 내가 만든 south_korea.poly 파일을 보내줬다. 그들이 그걸 사용해서 남한 OSM과 IMG를 만들어주면 좋겠다. 그렇게되면 한국의 GPS 사용자들이 변환 등의 거추장 스러운 작업 없이 Garmin용 IMG 파일을 거저 다운받을 수 있게 된다.

매일 커지기만 하는 6GB 용량의 planet.osm을 작업할 때마다 매번 다운받을 수도 없는 노릇이다. 2009/7/24일 평균 1Mbps의 전송속도로 2시간 가량 걸렸다. OSM 역시 그것을 염두에 두고 있어서 일주일에 한 번씩 planet.osm을 덤프하고 다음 7일 동안 매일 또는 매 시간 단위로 이전 일시부터의 변경 내용만 덤프한다. planet.osm의 대표적인 mirror site에 이런 변경 내용이 매 시간 단위로 업로드된다.

즉,  planet.osm을 한 번만 다운 받고 매일의 변경 내용을 다운받아 패치하면(일일 약 20MB 가량) 최신 버전 파일을 유지할 수 있다. 전 세계 데이터가 다 필요한 것은 아니므로 한국만 계속 업데이트 하면 될 것이다. 처음에 작업할 때는 planet.osm 원본 파일을 사용하여 한국 지역만 들어내고 changeset을 적용한다. 7월 22일 받은 planet.osm.bz2와 22-23일 변경분, 23-24일 변경분으로 작업하는 과정:

bzcat planet-090722.osm.bz2 | osmosis.bat --rxc file="20090722-20090723.osc" --rx file=- --ac --bp file=skorea.poly.txt --wx file="korea-090723.osm"

그 다음부터는 이렇게 해서 만든 korea-*.osm에 changeset을 적용한다.

osmosis.bat --rxc file="20090723-20090724.osc" --rx file="korea-090723.osm" --ac --bp file=skorea.poly.txt --wx file="korea-090724.osm"

사용자 삽입 이미지
orphan node 제거 및 이름 변경용 어플리케이션으로 삭제할 노드 리스트가 담긴 osm 파일과 이름이 추가된 osm 파일을 생성한다.

생성된 두 파일을 가지고, JOSM을 이용하던가 python으로 짠 delete 프로그램과 modify 프로그램으로 각각 OSM에 적용한다.

주의: JOSM은 way의 이름만 변경하더라도 way가 참조하는 모든 node가 기술된 'complete OSM file'만 적법하다고 인정하므로 modify된 way 태그를 업로드할 수 없다.

아무래도 이 작업을 가끔씩이나마 하는 것이 좋을 것 같다. 이번에 몇몇 산들의 트래킹 코스를 작업하면서 일일이 영문으로 토달기가 귀찮아서 일을 벌인 셈이지만 주기적으로 이런 작업을 해주면 한국 지도가 깔끔해 질 것 같다.

아무래도 주말 중 하루는 종일 컴퓨터를 돌려야 할 것 같다. 뭐, 말로 적어 놓으면 쉽고 간단하지만 컴퓨터로는 CPU 부하율 100%로 하루 종일 뺑이치는 작업이다. 다운로드 2시간, planet.osm 뜯어내기 3시간, 2-3일 변경분 적용 1시간. 고아 노드 분리 10분. 노드 삭제 3시간. 노드 업데이트 1시간 가량 예상.

트래킹 코스는 다음 GPSGIS 카페에서 수집한 산행 트랙로그를 GPX로 변환한 다음 OSM 홈페이지에서 업로드하고 Potlatch로 일일이 라인을 그리고 POI를 손봤다. 상당히 시간이 많이 걸리는 작업이지만 GPS Trackmaker 프로그램에서 Tracklog를 reduce 해서 그대로 업로드하는 것보다 정밀하다. 왜냐하면 동일한 산행 코스 트랙로그를 여러개 겹쳐 그중 가장 그럴듯하고 올바르다 싶은 길을 라인으로 그리면서 따라가기 때문이다.

만일 그것을 프로그램으로 짜서 했다면 그들 트랙의 평균적인 길을 고르게 되는데, 산행 중 GPS의 오차가 거치 방법에 따라 현저하게 차이 나기 때문에 프로그램으로 판단하는 것은 오류가 클 여지가 있다. 뭐 잘 짜여진 룰베이스를 가지고 스스로 백그라운드 야후 위성 사진에 나타난 도로와 GPS 트랙로그의 오차를 보정하면서 좌충우돌 학습하는 인공지능 프로그램이라면 얘기가 다르겠지만 그런 프로그램은 짜기가 무척 어렵다. 그 프로그램 짜서 키울(?) 시간이면 한국의 100대 산 트래킹 코스를 완성하고도 남는다.

GPS 위성은 매우 고속으로 지구 궤도를 움직이고 있다. GPS 위성의 시계는 그래서 특수상대성이론에 따른 시간 지연이 발생한다. GPS 리시버에서 발생하는 트랙로그의 오차는... GPS의 매우 정밀한 클럭에 일정 정도의 노이즈를 넣어 시간 정밀도를 일부러 떨어뜨리는 SA(Selective Availability)에 의해서만 결정되는 것이 아니다. 보정 기술의 발달로 SA의 영향은 최근들어 상당히 작아졌다. 그러나 트랙로그가 기록될 때 GPS의 프로세서는 측정 시점과 기록 시점이 완전히 일치하지 않는다. 그리고 이전 측정 시점과 다음 측정 시점 사이의 시간 간격이 측정 정밀도에 영향을 끼친다. GPS 기기에 오차가 +-4m라고 표시되도 사실상의 오차는 +-20m 까지 감안해야 한다. 언급한 세 가지 이유 때문에 GPS의 트랙로그는 그렇게 믿음직 스럽지 않다.

사용자 삽입 이미지
능선이나 개활지에서 걸을 때, 즉, 저속일 때에는 여러 개의 트랙로그를 겹쳐놓아도 위치 오차가 크지 않지만,

사용자 삽입 이미지
하늘이 잘 보이지 않는 계곡에서는 위성 수신 불량으로 오차 폭이 대단히 커지고,

사용자 삽입 이미지
위성 수신 상태가 양호하더라도 고속으로 운행중인 자동차에서 같은 구간을 운행하더라도 그림에서 보는 것처럼 동위도에서 기록 오차가 발생하며, GPS의 측점 간 오차가 GPS에 표시된 오차보다 크게 나타난다.  

하여튼 데이타가 그다지 크지 않을 경우 사람이 트랙로그를 여러 차례 만들어 겹쳐 놓은 상태로 보고 '궁리'하며 그리는 것이 개발도 힘든 인공지능 프로그램을 짜는 것보다 낫다. 이쪽은 그래서 프로그래밍을 포기했다(누군가 하겠지).

트래킹 자료가 어느 정도 진전되면(한국의 100대 명산) KOTM 새 버전을 만들어볼 생각이다.  지금까지 서울 근교 5-6개의 유명 산행로를 '그렸다'. 북한산 및 도봉산 트래킹 코스




,
도로 작업 후 파일 크기는 350MB에서 88MB로 극적으로 줄었다. 도트 픽셀이 보이는 해안선과 저수지 및 호수 데이터 역시 크기가 현저하게 줄었다. 하지만 이들을 조합해 Garmin용 이미지를 만들자 파일 크기는 10MB 가량 밖에 줄지 않았다. 용량이 크게 줄지는 않았지만 선의 복잡도가 줄어 GPS에서 지도를 출력하는 시간이 단축되긴 했다. 덕택에 TRE와 RGN 사이즈를 줄일 수 있었다.

저수지 및 호수 데이터를 작업하고 나서 이전의 bulk_upload.py로 예전 자료를 삭제하고 신규 자료를 업하려고 하다가... bulk_upload.py의 버그로 이전 자료가 두번 업로드되고 말았다. 파이썬 프로그램을 좀 더 자세히 살펴봤어야 하는데, 사후약방문이라고 나중에야 이상해서 소스를 보니 bulk_upload.py는 말그대로 업로드만 가능했다. 소스 중에는 delete와 modify도 되게끔 하는 부분이 있지만 제대로 작동하지 않을 뿐더러 순서가 잘못 되어 있었다.

즉시 지우려고 보니 OSM 서버 업그레이드 후 XAPI 서버가 맛이 간 상태라 한반도 데이터를 다운받을 수가 없다. 6월 13일 다운된 xapi 서버는 6월 29일까지도 복구되지 않았다. 천상 중복 업로드된 데이터를 교정하려면 매주 수요일 업데이트 되는 planet.osm을 다운받아 한반도만 뜯어내 잘못된 저수지 영역을 모두 선택하여 삭제하는 작업을 다시 해야 한다.

그렇게 하면 되는 작업이지만, 이제는 좀 짜증이 난다. API 0.6 업그레이드 후 뭐 하나 잘못되서 수정하려면 며칠씩 걸리고 API 0.6 자체의 엉성함 때문에(transaction도 아니고 그렇다고 transaction이 아닌 것도 아닌 아주 애매한 컨셉) 가외로 까먹는 시간이 상당하다. 0.6은 또 속도가 느려 잘못 업로드된 저수지및 호수(약 10MB) 자료의 절반을 데이터베이스에서 삭제하는데 27시간이 걸렸다. 그나마도 제대로 되면 좋겠는데, 제대로 되지도 않아 툭하면 서버가 다운되어 접속이 안되거나 영 바보스러운 응답을 늘어놓기 일쑤였다. 하여튼 0.6 API로 스트레스 받지 않고 OSM 배치 작업을 하는 사람들이 영 신기하기만 하다. 솔직히 뭐 이따구로 아마추어스럽게 설계했나 싶다.

아... 아마추어들이지 참.

그럴 때도 되었지 싶어 이번 주 월요일에는 그간의 OSM 지도와 도로 작업 데이터/해안선 따위등을 긁어모아 KOTMv2(Korea OSM & Topo Map version 2.0)을 만들었다. 이번에 만들어서 공개하면 세번째가 되는데, KOTM이란 이름을 사용하게 된 것은 두 번째 이고, 앞으로 그 이름으로 통일하려고 v2.0이 되었다. 이번에는 SFX에 설치하며서 registry 파일을 자동으로 등록해주는 간단한 인스톨러를 포함했다.

KOTMv2 소개

다음 버전에는 제대로 된 인스톨러를 만들어야겠다. 사용자가 설치 디렉토리를 다른 곳으로 변경할 때 해당 디렉토리로 자동 변경하여 .reg 파일 없이 registry에 등록하고, Garmin GPS용 IMG와 MapSource용 이미지를 선택할 수 있도록. 아예 내친 김에 Sendmap.exe로 GPS에 자동 설치까지 가능하게? Winrar의 SFX가 이 정도면 훌륭한 편이라 vbs 스크립트 하나 추가하는 정도로 해도 될 듯 싶지만.

OSM의 비전: 아이팟 터치, 안드로이드, WM6 기계에서 오픈 스트릿 맵 타일을 다운받거나(wifi online) 벡터 데이터를 원본 그대로 가공하여 랜더링하는 엔진을 만들어(offline) GPS로 연동하면 그 이상의 활용이 있을까? 렌더러 소스가 공개되어 있으니 모바일 장치용 프로그래밍을 좀 하면 되는데, 뭐 이미 누군가가 하고 있으니 기다리다보면 나오지 싶다.



,
작업 영역이 전방위적이라 정신 사나워서 중간 정리의 필요성을 느꼈다. 사실상 OSM 작업의 분수령을 이루는 시점이기도 하다.

사용자 삽입 이미지

OSM 작업을 하면서 지금까지 만든 프로그램과 라이브러리. 컬러 코딩: 파란색=Application, 빨간색=Library, 노란색=외부 라이브러리.

REW, NCAP, POI2OSM 프로그램은 다시 쓸 일이 없다. POI2OSM은 한글 로마자 변환할 때 참고하려고 가끔 쓰게 될 지도 모르겠다. 앞으로는 MP2OSM과 OSM2IMG 정도만 사용하게 될 듯. MP2OSM은 이미 perl 버전으로 누군가 만들어 놓은 것이 있으니 공개할 필요가 없고 OSM2IMG 역시 mkgmap의 front end로 사용하려고 만든 GUI wrapper이므로 공개할 일은 없을 것 같다. 결국 이 프로그램 전부는 한시적 작업을 위한 것인 셈.

이하 작업 설명에 사용하는 컬러 코딩: 연두색=입력 파일, 파란색=Application, 빨간색=출력 또는 작업.

사용자 삽입 이미지

POI2OSM은 세 종류의 입력 파일을 받는다. .CSV는 Garmin에서 POI Uploader 프로그램이 사용하는 포맷. .KML은 Google Earth에서 사용하는 포맷. .GPX는 GPS 관련 프로그램들 사이에 데이터 교환을 목적으로 만든 포맷. POI2OSM은 이런 입력 파일을 받아 .OSM을 생성하는데, 주로 POI 이름을 .OSM 포맷에 맞는 태그로 변환한다. 이때 사용하는 태그는 name(한글 및 영문 이름), name:en(영문 번역 + 로마자 발음 표기명), name:en_rm(로마자 발음 표기명)이다. 좌표 변환은 TM 중부 좌표를 변환하려고 끼워 넣었다. 예전에 얻은 자료가 TM 좌표라서 그것을 변환시키기 위해서다.

지하철역, 행정도시 등의 좌표 입력을 구글 어스에서 하고 구글 어스에서 생성시킨 .KML 파일을 .OSM으로 변환하기 위해서도 사용했다. 또한 GPS에서 얻은 POI 변환에도 사용했다.

사용자 삽입 이미지

REW/NCAP은 7만 여개의 POI 수집 작업 중에 사용하던 프로그램이다. 먼저 '대학교'라는 명칭 분류를 사용해 구글과 네이버의 검색 결과를 뒤져 대학교 이름들을 얻어오고 이것들을 Yahoo POI 검색에서 좌표를 얻어와 파일로 저장했다. 파일에는 명칭, 좌표 달랑 둘 밖에 없는데, OSM 파일로 변환하기 위해서는 적절한 tag가 가미되어야 한다. 예를 들어 신라호텔은 amenity=hotel 태그를 가져야 하고, 은평초등학교는 amenity=school 태그를 가져야 한다. 이런 명칭 분류는 수동으로 할 수가 없어 명칭에 포함된 특정 문자열을 검색해 그에 알맞는 태그로 변형시킨다.

최종 출력물 중 .KML은 이렇게 얻어진 좌표를 구글 어스에서 확인해(샘플 검사) 좌표 및 명칭이 올바른 위치에 있는지를 확인하기 위해서였다. 7만여개의 태그 분류는 거의 손으로 확인했지만, 7만개의 좌표의 올바름까지 다 확인할 수는 없었다. 프로그래밍과 별도로 명칭 수집과 분류에만 엄청나게 많은 시간을 소비했다. 문제가 많은 작업이고, 완벽할 수도 없었고, 이런 작업을 다시 할 일은 없을 것이다.

이렇게 해서 OSM에 넣은 자료와 손으로 그린 도로 지도(고속도로 따위)를 합치고 SRTM3 topo map을 합친 것이 최종 결과물이었다.

topo map을 만드는 과정도 만만치 않은 작업이라 어떻게 이를 단순화할 수 있는 방법을 찾다보니 osm의 몇몇 유틸리티가 dem2topo 프로그램과 마찬가지로 dem 파일로부터 등고선을 생성시켜 주는 것을 알게되었다. 하지만 이 프로그램 들을 사용해 topo map을 만들어 본 결과 이전 SRTM3 데이터보다 시간만 오래 걸리고 결과는 그저 그랬다. 애당초 SRTM3 데이터의 정밀도가 떨어지는 것이 문제인 것이다.

하여튼 이전 작업을 도표로 정리하면,

사용자 삽입 이미지

SRTM3 자료를 DEM2TOPO 프로그램을 사용하여 polished file을 만든 다음,

사용자 삽입 이미지

MapEdit와 cGPSMapper, MapSetToolKit, SendMap등의 프로그램을 이용해 .IMG를 만들고 이것을 MapSource에서 사용하도록 변환한다. 이 방법은 시간도 많이 걸릴 뿐더러 과정이 복잡하고, GPS에만 사용하는 데이터를 만드는 것 이상의 의미가 없다.

하여튼 DEM 자료의 정밀도가 떨어지는 문제부터 해결 방안을 찾기로 했다. 어떻게 방법이 없을까 고민하다가 http://www.biz-gis.com 사이트에서 상당히 정교한 DEM 파일을 다운로드 받을 수 있도록 공개한 것을 알게 되었다.  10m 정도에도 문제가 없어 보였다.

그래서 Topo map을 다시 작성하는 작업에 착수했다. 이번에는 globalmapper로 작업했다.

사용자 삽입 이미지

두 가지 문제가 있다. GlobalMapper의 script 버그로 25개의 파일을 스크립트로 변환하면 등고선을 10m 마다 따게 해 놔도 자기 멋대로 20m 단위로 따는 문제가 있다. global mapper의 버그로 추정된다. 25개의 파일을 일일이 하나 하나 변환하다 보니 시간도 시간이지만 변환이 아주 귀찮다. 변환 완료된 것을 보고 다음 파일을 또 변환하려니 일을 하면서 하루가 꼬박 걸렸다. --> 2009/05/22 Simplification factor를 지정해서 해결. dem 파일 변환에 사용한 스크립트:

GLOBAL_MAPPER_SCRIPT VERSION=1.00
UNLOAD_ALL
 
DIR_LOOP_START DIRECTORY="D:\GPS\DEM 2008" FILENAME_MASKS="*.img" RECURSE_DIR=NO
 
 IMPORT FILENAME="%FNAME_W_DIR%" PROJ_FILENAME="D:\GPS\DEM 2008\Korea TM.prj"
 
 GENERATE_CONTOURS INTERVAL=10 ELEV_UNITS=METERS SPATIAL_RES=30.0,30.0 FILL_GAPS=YES SMOOTH_CONTOURS=YES SIMPLIFICATION=3.0
 EXPORT_VECTOR FILENAME="%DIR%\out\%FNAME_WO_EXT%.MP" TYPE=POLISH_MP GEN_PRJ_FILE=NO TEMPLATE_FILENAME="D:\GPS\DEM 2008\template.mp"
 
 UNLOAD_ALL
DIR_LOOP_END

주의: .MP를 만들 때 MP Template file을 사용하지 않으면 metric을 meter로 지정해도 feet로 바뀐다. 스크립트에서 사용한 템플릿 파일(template.mp):

[IMG ID]
CodePage=1252
LblCoding=9
ID=02309485
Name=Korea
Elevation=M
Preprocess=G
TreSize=511
TreMargin=0.00000
RgnLimit=1024
Transparent=S
POIIndex=N
Copyright=2009, luke
Marine=N
Levels=4
Level0=24
Level1=22
Level2=20
Level3=18
Zoom0=1
Zoom1=2
Zoom2=3
Zoom3=4
[END-IMG ID

스크립트에서 사용한 프로젝션 파일(Korea TM.prj):

PROJCS["Transverse_Mercator",GEOGCS["Geographic Coordinate System",DATUM["WGS84",SPHEROID["WGS84",6378137,298.257223560493]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["scale_factor",1],PARAMETER["central_meridian",127],PARAMETER["latitude_of_origin",38],PARAMETER["false_easting",199960],PARAMETER["false_northing",499700],UNIT["Meter",1]]

두번째 문제: 원본 DEM 자료의 projection이 TM인데 False Easting 20000, False Northing 50000, Scale Factor 1.0, Central Meridian 127.0, Latitude of Origin 37.0 으로는 남쪽으로 300m, 서쪽으로 65m의 오차기 있다.

어디서 들은 풍월이 있어 이런 저런 파라미터를 변경해 봤지만 문제가 해소되지 않았다. 그것도 일률적인 것은 아니었다. 데이터 파일에 따라 각기 다른 프로젝션으로 시도해 봤으나 역시 조금씩 에러가 있었다. 어쩌면 MapSource의 버그 때문일지도 모르겠다. MapSource는 이전 지도 데이터를 캐싱해 두기 때문에 .IMG 파일을 새로 만들었음에도 이전의 잘못된 프로젝션에 의해 나타난 데이터가 다시 나타나기 때문인지도 모른다.

하여튼 그래서 프로젝션 파일을 하나 만들고 파라미터를 조정해서 최대한 오차를 줄였다. False Easting 199960, False Northing 499700, Scale Factor 1.0, Central Meridian 127.0, Latitude of Origin 37.0 이건 아무리 생각해도 편법이다.

이 자료에는 울릉도가 빠졌다. 울릉도 부분은 SRTM3에서 가져와야 할 것 같다.

이렇게 해서 만든 10m Topo Map은 SRTM3에 비해 현저하게 부드러운 등고선을 보여준다. topo map이야 매일 작업하는 것이 아닌 이상 정확한 프로젝션과 엘립소이드 정보를 알면 더 이상 바랄나위가 없는 등고선 지도를 만들 수 있게 된다.

그 다음에 얻은 .MP 파일은 한국 전역의 고속도로, 국도, 지방도 및 분기점 정보다. 여기에 면 단위 행정구역과 저수지 정보 등 완전히 노다지를 얻은 기분으로 데이터를 쳐다봤다. GNS에서 16만개의 POI 정보를 얻기는 했지만, 이 자료는 여태까지의 OSM 작업을 대부분 삽질로 돌려버릴 정도로 임펙트가 강했다.

당장 .mp 파일을 .osm 파일로 변환시키는 프로그램 제작에 착수했다. 뭐 그래봤자 작업일수로는 이틀 걸렸지만.

사용자 삽입 이미지


mp2osm 프로그램을 누군가 perl, python으로 만들어 놓은 것이 있었다. 하지만 굳이 그 프로그램을 사용하지 않고 새로 만든 이유는, 이름 변환 따위의 후반부 작업을 통합하기 위해서다. *.mp 파일의 데이터 크기가 300MB 가량이라 스크립트의 느린 실행속도를 감내하기도 그렇고, 이왕 OSM 작업을 하면서 만들어놓은 각종 라이브러리가 있으니 차라리 프로그램을 짜는게 낫다고 생각.

mp2osm 프로그램은 아직 multipolygon 처리를 하지 않았다. 나중에 수계 데이터 쪽을 다루게 되면 그쪽 작업이 필요하다. 두번째로 *.mp 파일의 coastline이 OSM의 coastline보다 정밀해서 그것만 따로 따낼 방법을 찾아봐야겠다.

하여튼 이렇게 만든 .osm 파일을 이용해 MapSource용 .tdb와 GPS용 .img를 만들려니 문제가 생겼다.

사용자 삽입 이미지

*.osm 파일을 *.img로 변환시키기 위해 mkgmap.jar를 사용해야 하는데, 이렇게 만들어진 *.img는 MapsetToolkit/cGPSMapper에서 통합한 후 MapSource로 읽어들일 때 오류가 발생한다. 다 안되는 것은 아니고 .osm을 변환한 .img 중 딱 한 파일만 안되서 대체 뭐가 문제인지 원인을 찾느라 시간을 많이 소비했다. 아무래도 MapsetToolkit이 사용하는 cGPSMapper와 mkgmap 사이의 궁합에 뭔가 문제가 있는 것 같다.

이 방법은 예전부터 마음에 들지 않았다. 툴이 일원화 되어 있지 않고, 버그 투성이에, 특히 freeware 버전의 cGPSMapper는 routable map도 만들 수 없다. 그래서 mkgmap만 가지고 작업해 보기로 했다.

사용자 삽입 이미지

mkgmap.jar가 java 프로그램인데다, 옵션은 cGPSMapper만큼 많아 무슨 작업을 하려면 옵션 때문에 정신이 사나와 mkgmap.jar를 실행할 수 있는 GUI front-end인 OSM2IMG을 만들었다. cGPSMapper를 사용하지 않으니 만사가 다 해결되었다.  

사용자 삽입 이미지

.OSM 파일은 JOSM을 이용해 OSM database에 업로드할 수 있다. JOSM 버그인지 OSM 사이트의 버그인지는 확실치 않지만 10MB 정도의 .osm 파일을 JOSM으로 업로드하다가 중단되었다.  API가 아직 안정화되지 않아 다수 문제가 있지만 차차 안정화될 것이다. JOSM 띄우는 것도 버거워서 uploader를 만들었으나, API가 0.5에서 0.6으로 바뀐 부분을 반영하지 않아 호환되지 않는다.

내친 김에 topomap 자료인 10m 짜리 .mp 파일 중 용량이 비교적 작은 제주도를 mp2osm으로 변환한 후 osm2img와 mkgmap으로 .img를 만들어 보았다. 잘 된다.

궁극적인 목표는 보라색 테두리를 친 부분이다. 누구나(한국인을 비롯한 외국인 누구나) OSM에서 한국 지도 자료를 다운받아 mkgmap만 가지고 Garmin용 지도를 만들 뿐만 아니라 웹 상에서도 지도를 활용하는 것이다.
앞으로 할 작업 리스트

* 표준도로 mp파일에서 할 일들

* 작업 정리
* DEM 10m에서 해안선 뜯어오기
* 왜 25m의 오차가 생기는 것일까?
* 울릉도 도로 다시 테스트
* DEM 파일로부터 .osm으로 직접 변환 시도.
* 추후 표준도로 mp가 업데이트 되었을 때 일괄 변경 방법
* 기타 지도 작업

* 가져온 태그 정리(산,들판 따위 태그가 있음)
* 시/군/도 경계선 만들기
* osm

* korea map -- 기존 osm에서 한꺼번에 지울 방법과, 어떻게 지울지 방법을 궁리
* josm에서 큰 osm 파일을 보낼 때 fail 나는 이유 알아볼 것
* OSMbroker 개정(API 0.6)해서 업로드 가능하도록.

* mp2osm, osm2img 프로그램 업그레이드

* multipolygon 구현
* target dir 설치
* registry auto update
* registry read
* 표준도로파일에서 가져온 데이터의 태그 검증
* 지명및분기점.osm에서 불필요한 태그 정리

* mkgmap

* routable map을 만들려면 필요한 정보
* .osm contour 전체 파일 변환 시도
* level : 0:24,1:22,2:20 <-- 의미 명확하게 정리
* 맵의 레벨 정하기: osm_garmin_map.csv
* 개별 파일 단위로 옵션 주는 것
* .img 파일만으로 .tdb 생성
* style define

,
전용 GPS에 장래가 있을까? 없어 보인다. 안드로이드폰 나오면 조금 지켜본 후 그걸 살 것이다. 구글맵을 캐싱해서 가지고 다니면 지금 들고 다니는 GPS도 사실상 필요가 없어진다. 전화도 받고 자전거 주행하거나 산에 올라가서도 지형도 및 지도를 파악할 수 있는데 뭣하러 값비싼 돈 주고 전용 gps를 사서 생고생을 해가며 없는 지도 만드느라 시간을 보낼까? 다만 전용 gps는 생명을 답보한 극한 상황에서 안드로이드 폰보다는 신뢰성있게 작동할 가능성이 높다. 어쨌거나 전용 GPS의 장래는, 예전에 PDA를 잡아 먹고 여전히 성장중인 스마트폰에게 잡아먹힐 것이다. 의심의 여지가 없다.

다음 GPSGIS에서 SRTM3가 정밀도가 떨어진다는 얘기를 듣고 정말일까? 평소 궁금하게만 여기고 귀찮아서 뒤져보지 않았던 SRTM3의 오차에 관해 찾아봤다: SRTM 자료는 기본적으로 이미지 같은 것이다. 하나의 픽셀에 대한 elevation level이 기록되어 있는데, SRTM1 자료는 쉽게 말해, 한 픽셀이 1초(arc second) 단위로 가로x세로 30mx30m인 영역으로, 그런 픽셀이 3601x3601 크기이다. 전 세계를 커버하는 SRTM3는 3초 단위(90m)로 픽셀 영역은 1201x1201이다. 가장 널리 사용되는 SRTM3는 높이 오차가 약 16m이다. 즉, SRTM3는 90m^2에서 고도 오차 16m인 데이터다.  
 
그다지 정밀한 자료 같아 보이지 않겠지만 어째서 SRTM3 자료와 GPS 바로미터의 고도차가 생각보다 크지 않았는지(오차가 적었는지) 알 수 있다. 경사도 15% (각도가 아닌 구배로 15m/100m)인 도로에서 SRTM3의 고도 오차를 제외한 인접셀과의 최대 오차는 15mx90m/100m = 13.5m. SRTM3의 높이 오차가 인접셀 사이에 비슷하게 평탄화되었다면, gps 고도 오차를 최소 2m로 감안하면 기약 100m 간의 직선 구간에서 10~20m 정도의 평균 오차 밖에 나지 않는다. 사실 DEM 자료를 만들 때 여러 가지 변수가 포함되어 오차 계산이 꽤 복잡할 것으로 추측되지만(오차 관련 자료: http://www2.jpl.nasa.gov/srtm/SRTM_paper.pdf
) 그래도 오차폭이 30m를 넘을 것 같지 않다.

한국에서는 도로 경사도를 15% 이상 넘지 않게 설계한다고 들었던 것 같다. 자전거 주행에는 SRTM3로도 문제 없어 보인다. 다만 산악 트래킹할 때 이 자료를 믿고 가다가는 절벽으로 추락할 수도 있다. 고도가 높은 산의 절벽면은 레이다 간섭 사각지대가 되어 void라고 부른다. 이것들을 제거하는 프로젝트가 있었다. http://srtm.csi.cgiar.org/
국내에서 지형도에 사용하는 데이터는 SRTM3를 사용하지 않고 항공 수준 측량을 한 것 같다. 그런 자료는 물론 공짜로 얻을 수도 없고 DEM으로 널리 배포될 것 같지 않다. 천상 SRTM3로 버텨야 한다.
 
GPS의 오차

위성이 무려 14-16개씩 잡히는 확 트인 개활지에서 gps 오차가 최저치인 +-2m임에도 도로를 벗어나는 궤적이 나타난다 -- 직선 도로를 주행한 후 트랙로그를 살펴보면 비뚤비뚤하다. 그것 말고도 샘플링 속도 때문에 자동차/자전거를 타고 고속 주행할 경우 트랙로그에 어쩔 수 없이 오차가 나타나기도 한다 -- 트랙로그를 1초 단위로 기록하면 고속으로 달릴 때 늦은 샘플링 속도에 따른 경위도 위치오차가 크게 벌어질 수도 있다. 트랙로그를 msec 단위로 기록하면 되지만 GPS의 작은 저장장치로 감당이 안된다. GPS 자체도 이들을 보정하기 위한 알고리즘을 사용하고 있는 것 같다. 하지만 자세한 정보를 얻지는 못했다.

마지막으로, 개활지가 아닌 좁은 소로처럼 수신율이 떨어지는 곳에서는 오차폭이 상당히 커진다. 도로폭이 3m 밖에 안되는 곳에서 양 옆으로 20여 m 높이의 건물들이 즐비하게 늘어서 있으면 수신율이 현저하게 떨어져 오차가 커지게 된다. 1차선 도로의 우측에 달라붙어서 가는 자전거의 경우 자동차보다 수신율이 떨어지는 것은 자명하다. 전용 GPS보다 수신율이 더 떨어지는 내비게이션 기기들은 그래서 내비게이션 화면에 나타난 현재 위치의 차량을 수신 좌표에 인접한 도로에 착착 달라붙여서 표시해 준다.

변산반도의 도로 지도를 yahoo aerial map만 보고 그렸는데 실 주행 데이터와 오차가 10m가 안 되었다. 사실 GPS에서 튀는 데이터가 있어서 GPS가 오히려 더 미덥지 않다. 구글맵스와 대조해봐도 마찬가지였다. 그말인 즉슨, 오차가 발생하기 쉬운 gps에 의존하여 OSM 지도를 그릴 것이 아니라, 오히려 Potlatch나 JOSM등의 백그라운드 yahoo map의 도로 윤곽을 보고 그리는 것이 낫다. 물론 residental/service road처럼 야후 항공 사진으로는 확인이 곤란한 지도에서는 gps의 트랙로그를 '참조'하여 지도를 그리는 것이 유리하다.

그래서 내 경우 OSM 지도를 그릴 때 GPS를 세컨드 디바이스로, 참조용으로만 사용했다. 믿을 수가 없으니까.
 
이런 저런 잡다한 작업을 하다가 다시 길을 그리기 시작했다. 사실 바빠서 길을 그릴 시간은 많지 않다.

OSM 서버가 최근에 업그레이드 되면서 API 버전이 0.5에서 0.6으로 올랐다. transaction과 비슷한 changeset이 도입되었고 database 접근은 전보다 훨씬 빨라졌다. 그러나 대량의 데이터를 가져오는데 자주 쓰곤 했던 XAPI는 아직 불완전해서 API로 업로드한 대량의 데이터가 XAPI로 반영되는데 시차가 존재한다. 4월 업데이트 이후 XAPI는 여전히 안정이 되지 않았다. XAPI query는 가끔 입력한 POI가 엉터리로 나왔다. 사실 좀 종잡을 수가 없다.
 
0.5에서 0.6으로 API가 바뀌면서 이전 프로그램과의 호환성이 떨어졌다. JOSM는 재빨리 업그레이드가 되었고 메르카토르는 조금 늦었다. Potlatch도 물론 업그레이드 되었다. 아쉬운 것은 XML 압축 규격이 없고, OSM 역시 XML 압축을 만들지 않아 데이터 전송량이 클 경우 전송 자체만으로도 꽤나 많은 시간을 소비한다는 점이다.

JOSM에서 사용하는 .osm 파일에도 변화가 생겼다.
 
<?xml version='1.0' standalone='no'?>
<osm version='0.6' generator='osmxapi: OSM Extended API' ...>
  <node id='368646044' lat='38.222193' lon='127.209948' user='...' action='modify' visible='true' version='1' >
    <tag k='name' v='Sample'/>
  </node>
</osm>
 
XAPI가 여전히 0.5 베이스로 작동하기 때문에 패치한 xml 파일의 버전 정보가 아직 없다. changeset이 도입되면서 이제는 way, node 따위의 버전을 체크하고 그것들을 변경시 증가시켜야 한다. 대량의 데이터 작업에서 xml diff를 사용케 하겠다던 것 역시 아직은 버그 때문에 적용되지 않았다. XAPI가 xpath를 지원하지 않고 단순한 bounding box를 사용하기 때문에 사실 이만저만 불편한 것이 아니나, 언젠가는 차차 안정화되겠지 하며 기다리고 있다.

새로운 API에 맞춰 만들어놓은 간단한 프로그램들의 OSM broker 소스를 개정해야 하는데... 좀 귀찮아서 관뒀다.

그동안 Potlatch 한글화를 했다. 메시지 한글화에 큰 의미는 없어 보인다. wiki 페이지도 한글화할까 하다가 누군가가 해 놓은 한글화만으로도 충분하다고 생각했다.

mkgmap과 srtm2osm 따위 프로그램을 사용해 지형도와 스트릿 맵을 완샷에 작업하는 스크립트를 짜느라 하루 정도 시간을 보냈다. 결론은, 참 쓸모가 없고 시간과 노력만 허비했다. 기존에 만들어놓은 지형도 데이터보다 정밀도나 해상도는 떨어지지만 시간은 좀 단축시킬 수 있다. 스트릿맵이야 원래와 같으니까 상관없다.

별도로, Wikiloc에 경로 그리기 메뉴가 추가되었다.
사용자 삽입 이미지
사실 정말 필요한 것은 gpx 업로드해서 gpx를 분석하고 트랙로그를 지도와 연동해 화면에 표시해주는 것 보다, 자전거 여행할 때 구글 맵이나 다음 맵 따위를 배경에 깔고 저것처럼 경로를 그려준 다음 gps에 업로드해 행복하게 트랙백을 하는 것이다. 그 정도 작업을 하려면 아무래도 웹 프로그래밍을 배워야 할 것 같은데 어째 시간이 많이 걸릴 것 같아 누군가 해주겠지... 아니면 구글 뒤져보면 누군가 만들어 놓았겠지 하는 막연한 생각만 들었다.

,

검증 주행

잡기 2009. 3. 1. 02:57
2월 22일 주행이 당혹과 자괴감으로 점철되어 원인이 어디에 있나 살펴보려고 2월 28일 자전거를 탈 생각이었다. SF&F 도서관 개장식이 마침 같은 날이라 그 곳에 살짝 들러 표도기님과 얘기 좀 하다가 개업식 하기 전에 나와 '주행테스트'를 계속 해 보기로.

아내는 져지에 츄리닝 입고 나가니까 정말 그 몰골로 돌아다닐 꺼냐고 한숨을 푹 쉬었다. 이거 왜 이래 아마추어 같이? 이 트레이닝복 입고 벌건 대낮에 인천공항에서 출국한 적도 있다. 옷가지 만큼은 타인의 눈에 굳이 신경쓰지 않았다. 개소식 하는 곳에 가는 것이 좀 거시기하지만 그 곳 사람들도 적응하면 금새 익숙해질 것이다.

오후 2시 8분 출발. 잊지 않고 지하철 역 앞에서 자전거에 바람을 넣었다. 강변로까지 22kmh 정도로 워밍업하듯 달리다가 강변로에 진입해 28~31kmh로 줄곳 달렸다(평소 22~25kmh로 달리던 구간이다. 2월 22일에는 타이어에 바람이 좀 빠졌다고 평속이 18kmh가 나왔다). 바람을 등지고 있기 때문에 속도가 더 났다. 그나저나 한강변에서는 35kmh쯤 되면 아무도 추월하지 못한다.

이명박 시장 시절엔 한강에 오페라 하우스 세운다고 하다가 갖은 욕을 먹었는데, 오세훈 시장은 임기 초부터 한강 르네상스 프로젝트를 진행하면서, 반포대교를 자전거 전용 도로로 만들고 그 앞에 수상 레저 타운 같은 것도 만들 계획이란다. 어쨌거나 반포대교로 차량 통행이 중지되고(가능할까?) 한강변 자전거 도로가 정비되면 꽤 볼만한 예산 낭비 작품이 나올 것 같다. 뭘 하는지 자세하게 관심은 없지만 이래저래 공사가 한창이다.

사당역을 지나 SF 도서관에 이르기까지 GPS의 도움으로 수월하게 찾아갔다. 14:08출발, SF 도서관에는 15:50 도착. 아직 손님이 없어 서가에서 책들을 들쳐보며 운영 스태프들과 시간을 보냈다. 표도기님이 도착해 리허설을 했다. 고삿상을 옮기던 도중 살짝 내용물을 보고 웃었다. tai0님을 처음 만났다. 오래 전에 tai0님 글이 이상하다고 내가 말했단다(옛날옛날에 내가 그 바닥에서 빼먹고 욕하지 못한 사람은 없지 싶다 -_-). 곧 결혼할 이씨와 이웃사촌이 될 것 같단다.

예정보다 30분 늦게 개소식을 시작했다. 아무래도 행사 준비로 바쁜 표도기님과 따로 이야기할 시간을 만들긴 힘들 것 같다. 저녁을 함께 할 시간도 안 되지만, 다스베이더 헬멧과 광선검이 올라온 웃기는 고삿상이 서로 뻘쭘한 사람들에게 아이스 브레이킹 챈스가 되었길 바란다.

한가할 때 살짝 들렀다 일찌감치 빠져 나가려고 했는데 뜻대로 되지 않았다. 해가 지기 전에 자전거 타러 나가야 한다. 해지면 춥다. 많이 늦었다. 하는 수 없이 질의응답 시간에 직지 얘기를 하고(그것도 포멀하게!) 개소식이 끝나자마자 SF도서관을 나왔다. 사이파이님한테 사이트 알려준다는 걸 잊었다. http://www.beerschool.co.kr/

머문 한 시간 동안 물 한 컵과 포도주 반 병, 치즈케익 한 조각, 빵 두 조각, 쿠키 세 개를 먹었다. 어쩌다가 '짐승의 연주자 에린'의 원작이 '야수'란 것을 알게 되었다. 그랬군. 라이드백 만화책을 봤고, 블레임 이전 세계를 다룬 바이오메가 1권을 봤다. 보고 싶었던 만화책들이다. 도서관에 있는 SF들 대개는 본 것들. 어쩌다 기회를 놓쳤을 뿐, 현재 가지고 있지 않아도 88년 이후 출간된 SF 중 못 읽어본 것은 극히 드문 것 같다. 한국에 출간된 SF의 총수는 500여권이 안 되는 것으로 알고 있다. 행사전 스타워즈 아동용 요약판을 보고 변사를 동원해 스크린 깔고 코스프레 복장으로 연기하면 재밌을 것 같다며 스태프들과 히히덕거렸다. SF 읽는 사람들과 SF 얘기 하는 것이 오랫만이라 즐겁다.

사용자 삽입 이미지

18:10 출발. 꽉꽉 막히는 차량 틈을 요리조리 통과해 신림역을 거쳐 가산디지털단지역에 다다랐지만 건너편 안양천변으로 가는 길이 보이지 않는다. 탐험주행이라 온 길로 가지 않으며, 돌아가는 길을 모른다 -- 때문에 요즘 OSM에 정진한다.

전철로와 평행한 좁은 도로를 따라 차량과 함께 구로역까지 올라가서 가까스로 안양천변에 다다랐다. 오금교에서 성산대교까지 고속주행했다. 성산대교를 건너 산책객들이 한가하게 돌아다니는 불광천을 따라 응암역까지 다다른 후, 다시 시내에서 차들과 나란히 달리며 집에 돌아왔다. 주행거리 55.6km, 2h49m 주행, 30m 휴식. 평속 19.7kmh. 제 속도다. 시내 주행 구간이 길던가 맞바람을 받으면 평속은 18-19kmh 사이가 된다.

주행 평가: 타이어에 충분한 공기가 없어 접지면적이 늘어나면 다리에 상당한 부하를 가한다. 안장에 체중을 실으면 절반 정도 짜부러드는 뒷 바퀴로 주행할 때 평균속도는 3kmh 저하되었다.
그 동안 시간이 없어 못하고 있던 OSM 도로 지도 제작을 하고 있다. 틈틈이 potlatch를 이용해 yahoo aerial map을 참고해서 서울 주요 도로를 만든다. 이 작업이 제대로 결실을 맺게 되면 트랙로그를 일일이 만들지 않고도 GPS 만으로 전국 주행이 가능하게 된다.

potlatch는 정교하거나 대량의 데이터를 다루는 작업에 적합치 않아 JOSM과 merkaartor를 같이 사용했다. 몇몇 사이트에 OSM을 소개한 후 자신이 가진 트랙로그를 올리는 사람들이 생겼다. 작년에 농조로 디지털 대동여지도 프로젝트를 하게 될 지도 모른다고 했는데, 정말 그렇게 될 가능성도 있다. 외국에서는 OSM 커뮤니티 활동이 활발하다. '아마추어 지도 제작자의 모임'이다.

한국 도로 지도 만들기 삽질 모임 같은 공공 프로젝트를 이끌고 싶은 생각은 없지만, OSM은 대단한 포텐셜을 지녔다. 그리고 매력적이다. 작년에 처음 알았을 때 wikipedia에 버금가는 이 대단한 공공 프로젝트가 왜 여태까지 항간의 소문으로 들어본 적이 없나 놀랐다.

일하다가 쉬는 시간이면 이런 저런 생각을 하다보니, 며칠 전 꿈을 꾸면서 OSM으로 지도를 어떻게 만들 것인가 전체 윤곽을 스케치하기도 했다. 심지어 사제 맥주를 들고 아마추어 지도 제작자들과 거나한 뒷풀이를 하는 꿈도 꾸었다. 우리는 UTC 시각과 경위도로 약속을 잡아 만난다!

* OSM에 사람들이 널리 참여할 수 있도록 하는 일이 우선되어야 하겠다. 트랙로그만 수집해 놓기만 하면 지도 편집은 지구 반대편에서도 할 수 있다.

* OSM 도로 지도는 다음, 네이버, 구글 한국 지도보다 나아질 가능성이 있다.
 - 다음, 네이버, 구글 지도는 사용자가 수정할 수 없다.
 - 업데이트 반영이 OSM처럼 실시간이 되지 못한다.
 - 해당 지역 주민은 그 지역에 관해 누구보다 잘 아는 사람이다.
 - OSM은 전세계를 아우르는 데이터베이스다.
 - 데이터베이스 뿐만 아니라 데이터베이스 구현(응용)도 공개되어 있다.
 
* 전국 주요 고속도로(highway)와 주요도로(primary road, trunk)를 확보한다. 지도 제작자들에게 매우 유용한 참고 지표가 된다. 아무래도 전국도로지도 책을 구해야 할 것 같다.

* 내비게이션 시스템이나 무료 공개지도보다 나은 훌륭한 응용 분야가 있다. 트래킹 트레일(footway)과 바이크 트레일(cycleway)이다. 파란 맵이 등산 지도를 제공하기는 하지만 그것보다 정교한 등산로 지도를 만드는 것이 가능하다. 또한 GPS를 사용하는 산악동호회와 자전거 동호회에 꽤 축적된 트랙자료가 있다.

* POI의 확보 방법: 네이버/다음/구글 지도 중 네이버 것이 POI가 가장 풍부하다. 그것과 yahoo 항공사진(2006년 판)과 구글 어스(2009년 판도 일부 있음)의 항공 사진을 참조해 POI를 수작업으로 만든다(별로 좋은 방법은 아니지만 아직은 유출된(?) 자료가 없으니까). 이중 가장 실용적이고 우선적으로 구축해야 할 POI는 기차역, 지하철/전철역, 버스터미널(이하 transportation)이다.

* POI의 구축은 현재로선 구글 어스 외에 방법이 없다. GPS waypoint로는 제한적이고, 아직 네이버 맵 오버레이를 이용한 ajax 소프트웨어를 내 손으로 만들 정도의 시간이나 실력은 없다. 누가 만들어줬으면 좋겠다.

사용자 삽입 이미지

그동안 황량했던 한국이 불과 며칠 사이에 몇몇 사용자들의 참여로 이렇게 변했다. 흡사 내 손으로 도시를 건설하며 문명을 일으켜 세우는 듯한 착각마저 든다. 작업 진행 후 결과물을 흡족하게 바라볼 때면 좋은 SF 읽은 후에나 찾아오는 포만감을 느낀다.  요즘 내가 하는 작업은 지하철/전철역 총정리다.

최근 읽은 넌픽션 중 가장 재밌는 책은 토니/모린 휠러의 '론리 플래닛 스토리'다. 나와 마찬가지로 토니 휠러 역시 이스라엘리 여행자들은 하나같이 지랄같은 놈들이라고 생각했다. 여행할 때 점잖고 좋았던 친구들은 내 경우, 하나 같이 독일인이었다. 그들은 말수도 적다. 영어를 못하는 작자면 '친절한 원주민' 분위기까지 나서 금상첨화다. 토니 휠러도 독일의 여행 문화가 가장 선진화되어 있다고 평가하는 것 같다. 독일 배낭 여행자들에게 딱 한 가지 안타까운 점이 있다면, 일광욕에 환장해 있다는 것. 어? 그런데 휠러가 그것도 똑같이 지적했다.

사용자 삽입 이미지
심바가 몇 년전 아내에게 선물한 것. 서재에 높이 걸려 있는 이 것을 볼 때마다 비비디 바비디 부가 생각난다.

론리 플래닛 스토리에서 가장 마음에 드는 문구는 환경 운동하는 사람들이 날마다 떠들어대는 것, '범지구적으로 사고하고 지역적으로 행동하라(Thinking Globally, Acting Locally)' -- 주변에서 자주 보는 흔한 문구다. 토니 휠러는 이 지구상에 존재하는 무수한 증오와 긴장을 완화시키기 위해 보다 많은 사람들이 여행을 가야 한다고 말했다. 그러게 말이다. OSM은 외국에 알려지는 첫번째 상세 한국 영문 지도가 될 가능성이 있다 -- 천연 비누 만드는 건 지루하고 귀찮다, 지도 만들기야 말로 범지구적으로 생각하고 지역적으로 행동할만한 경우다.

,

Open Street Map

GPS 2009. 2. 26. 20:07
이전 독립 GPS의 활용에서 만든 지형도(등고선 지도)에는 도로와 POI가 포함되어 있지 않다. 등고선 지도에 Open Street Map 지도를 합치면 GPS에 도로와 POI를 사용할 수 있다.

OSM(Open Street Map)은 전세계적인 도로 지도 제작 프로젝트다. 얼마전에 google에서도 google map maker를 만들어 사용자 참여로 구글 맵에 누락되거나 업데이트 되는 지도를 만들 수 있는 방법을 제공하기 시작했다. google map maker의 단점은, 사용자가 만들어 놓은 지도 데이터의 소유권이 구글에 귀속되며, 사실상 맵을 만들어서 구글맵 사용자 사이에 공유하는 것 외에 달리 써먹을 데가 없고 아직 GPS에서 사용할 도구가 없다.

OSM은 구글 맵 메이커에 비해 사용이 비교적 자유롭다. 여기서 만들어진 지도를 바탕으로 여러 가지 파생 프로젝트가 생겨났으며, 그중 대표적인 것이 GPS 디바이스에서 사용하는 도로 지도를 만드는 OSM Map On Garmin이다.
 
OSM에서 만든 자료를 변환해 routable map과 POI(point of interest) 데이터 베이스를 구축하고 이것을 Garmin GPS에서 업로드 해 사용할 수 있다. Garmin의 .img 포맷이 알려져 있고 OSM Tile file database access가 자유롭기 때문에 가능한 일이다.
 
Cloudmade에서 매주 업데이트 하는  국가별 지도 파일을 다운받을 수 있다. 다운 받은 파일을 GPS에 업로드하면 바로 사용 가능하다. 이중 한국의 서울과 일본의 도쿄를 비교:
사용자 삽입 이미지 사용자 삽입 이미지

아직은 한국 사용자들의 참여가 적어 한국 지도가 질적/양적인 면에서 다른 국가에 비해 상대적으로 어설프고 부족하다.

cloudmade의 자료는 이미 만들어진 파일이라 분리 후 다시 통합하기 어려우므로, computerteddy에  의해 매주 업데이트 되는 전 세계 지도 중 필요한 부분을 다운 받아 작업해야 한다.

전체 파일인 worlds.tgz의 압축된 용량은 1.42GB에 달하므로(압축 해제한 *.img 파일의 총 크기는 3.4GB) 별개 이미지로 나누어진 다운로드 디렉토리에서 필요한 파일만 다운받는 것이 시간을 절약할 수 있다. 이때, OSM 자료를 tile 별로 업데이트한 것이라(자세한 내용은 OSM 사이트 참조), 한국에 해당하는 타일을 가져오려면 위치에 해당하는 타일 파일명을 알아야 한다. Convert Coordinates to OSM Tile Numbers 참조.

울릉도를 제외한 대략의 타일 파일 이름은 다음과 같다.
 
63295024.img 63295025.img 63295026.img 63295027.img 63295028.img 63295029.img
63295204.img 63295205.img 63295206.img 63295207.img 63295208.img 63295209.img
63295384.img 63295385.img 63295386.img 63295387.img 63295388.img 63295389.img
63295564.img 63295565.img 63295566.img 63295567.img 63295568.img 63295569.img
63295744.img 63295745.img 63295746.img 63295747.img 63295748.img 63295749.img
 
이들 .img 파일을 sendmap 프로그램을 이용해 Korea topo 맵의 .img 파일과 합쳐 단일 gmapsupp.img를 만든다.

사용자 삽입 이미지 사용자 삽입 이미지
GPS에서 POI를 보면 OSM에서 한글 이름으로 만든 것은 글자가 깨져서 나온다. OSM에서 '영문이름(한글이름)' 식으로 입력하면 이런 문제가 사라진다. 두번째 화면에서는 지형도와 도로 지도가 함께 나타난다. 도로 지도만 나타날 뿐, routable map을 만드려면 computerteddy가 고맙게 올려주는 파일들로는 안되고, OSM 지도를 사용하는 다른 사람들처럼 별도의 작업을 벌여야 한다. 시간이 좀 나면 공부해서 만드는 방법을 좀 배워야 할텐데...

OSM 프로젝트는 Wikipedia 프로젝트와 흡사하므로, 계정을 만들면 누구나 도로 지도를 그려 올릴 수 있다. Potlatch는 web + flash로 온라인에서 작업하는 도구, JOSM, Merkaartor 등은 오프라인에서 작업할 때 주로 사용하는 툴이다. 작업 규칙과 방법에 관해서는 한국 사용자 모임 참조.
 
편집은 보통 자신의 GPS에 기록된 tracklog와 waypoint를 업로드한 후, 그 자료를 바탕으로 도로를 그리는 방법과, potlatch 같은 경우 web 상에서 yahoo map이 오버레이 된 상태에서 도로를 따라 그리며 작업하는 방법, JOSM 등의 프로그램에서는 지도 오버레이용 플러그인을 설치하여(예를 들면 google map plugin) 지도를 오버레이 한 상태에서 도로를 그리는 방법 등이 있다.

OSM 지도는 1주 마다 업데이트 되므로(아직 한국 지도는 거의 업데이트 되는게 없지만) 매번 지도 이미지 파일을 받기는 번거러워 GNU Tool 중 win32용 wget을 사용해(linux 배포본에는 보통 기본적으로 포함되는 유틸리티) 이들을 한꺼번에 받는 스크립트를 사용하면 작업이 덜 번거러워진다.


아울러 이렇게 만든 파일은 Garmin MapSource에서 도로를 볼 수 있는 상태가 아니므로 MapsetToolkit을 사용해 *.TDB 파일을 만들어줘야 한다. MapsetToolkit 사용법은 GPS 한국 지형도 만들기 참조.

사용자 삽입 이미지

Garmin MapSource에서 topo map과 함께 본 모습

,

독립 GPS의 활용

GPS 2009. 2. 20. 19:51
1. 서론
 
한국에는 전용(독립/단독) GPS 사용자가 많지 않다. 많이 늘었으면 좋겠다는 심정으로 이 글을 쓴다. 독립 GPS 사용자 대다수는 산악 트래킹 중 경로 파악을 위해 사용하고 최근의 자전거 붐으로 자전거 속도계 대신 다양한 기능을 할 수 있는 GPS를 사용하는 사람들이 조금씩 늘어가는 추세다. 일부는 조깅 중에 활용. 하지만 한국에서 판매되는 전용 GPS의 가격이 워낙 비싼데다 PDA나 PMP, 휴대폰 등에 GPS 칩이 탑재되는 일이 점차 일반화 되면서 전용 GPS 사용이 한국에서 쉽게 보편화될 것 같지는 않다. 오히려 점차 사라지지 않을까?
 

자전거에 Garmin Vista HCx를 마운팅한 모습. 사람들이 물으면 GPS라고 말하기 귀찮아서 속도계라고 대답하지만 :)
 
한글판 전용 GPS를 취급하는 Garmin 한국 공식 대리점(http://www.garmin.co.kr)에서 판매하는 기기는 Garmin 60CSx의 경우 100만원, 콜로라도 300의 경우 110만원 가량 한다. 이들은 한국 지형도와 도로 지도를 모두 포함하고 있다 -- 2009년 2월 20일 기준.
 
GPS 내비게이션이 가능한 PDA, PMP류는 20-30만원이면 구할 수 있으니, 굳이 전용 GPS를 구매할 사람이 있을까?
 
물론 있다. 전용 GPS는 시중에서 흔히 구할 수 있는 AA 전지 2개로 약 12시간에서 18시간 가량 사용할 수 있다. water proof가 되고, 기기 자체가 매우 튼튼하다. 애당초 전용 GPS를 사용하는 목적이 레크레이션 활동, 즉, 트래킹, 바이크 라이딩, 패러 글라이딩 따위에 주로 활용되기에 그런 방면의 요구 조건에 부합하는 성능과 특성을 갖추고 제작되었다. 별도의 전원 공급 없이는 길어봤자 4-5시간 사용 가능한 내비게이션 PDA, PMP와 달리 장시간 산악에서(때때로 목숨이 오락가락하는 상황에서) 신뢰성있는 작동을 보장해야 하기 때문이다.
 
GPS를 사용하면 레크레이션 활동이 좀 더 흥미로워 진다.
 
  • track, trackback: waypoint, route, 기록된 track을 통해 왔던 길을 되돌아 가거나 특정 지점으로 내비게이션. 최근 gps들은 track data를 일자별로 자동 저장한다. 2GB SD 카드 정도면 수 년 이상의 track data를 저장할 수 있다. 즉, 장기간 여행을 할 때 그 궤적 전부가 기록된다. 일 평균 기록량은 300-500kbytes.
  • feedback: GPS의 가장 일반적인 사용 용도. 고도 변화, 구간별 속도 변화, 평균 속도, google earth, google map 따위를 통해 이동 경로 파악 등등. 그래서 조깅 등의 운동에서 bio feedback 자료로 사용할 수 있다.
     
  • wikiloc.com : 전 세계 도시를 비롯하여, 온갖 산간 오지를 헤메며 그야말로 피땀(?) 흘리며 자전거 끌고 산길을 걸어 만든 온갖 트랙 데이터와 POI(point of interest)가 올라와 있다.
     
  • openstreetmap.org : 사용자 참여로 전세계의 routable map 제작 프로젝트가 벌어지고 있다. 예를 들어 후쿠오카에서 도쿄까지 자전거 여행을 하고 싶을 때 오픈 스트릿 맵의 일본 지도를 다운받아 GPS에 심어넣고 사용할 수 있다. wikiloc과 다른 점은, track이 아니라 routable map이란 점.
     
  • geocaching.com : gps를 이용한 세계적인 보물 찾기 사이트. 주말에 할 일 없을 때 시간 보내기 좋다.
     
  • geocoding: GPS와 카메라의 EXIF 정보를 연결하여 사진을 찍은 위치를 기록하는 것. panoramio.com 과 연결되어 google earth를 통해 보는 대부분의 사진들을 자동화.
내 경우 배낭 여행하다가 GPS 때문에 몇 차례 목숨을 구한 적이 있다. 한번은 이란 북동부 알리 사드르 동굴에 일본인과 동행 했다가 사막에서 눈보라 맞고 길을 잃어 버렸을 때, 이집트의 사막에 무작정 나갔다가 도무지 끝도 없이 막막한 사막을 걸어서 돌아올 때, 과떼말라 빠까야 화산에서 갑자기 들이닥친 비바람이 분화구에서 쏟아져 내려 거대한 수증기 기둥을 만들어 길을 찾을 수 없게 되었을 때. 그때 gps가 없었더라면... 흠.
 
몇 년 전에는 파타고니아 오지를 오직 GPS와 식량만 들고 탐험한 두 여행자가 화제를 모은 적이 있다. 인디아의 엄청 복잡한 바라나시 골목에서 소떼들에게 쫓기며 헤메는 것이나, 지도에도 없는 파키스탄 북부 산악 지대를 여행하거나, 울란바토르에서 몽골 북서부 러시아 접경 지역에 이르는 광대한 초원의 길없는 길을 말 타고 돌아다니는 여행자에게 GPS는 상당히 매력적인 가능성을 열어준다. 아니, 실제로 GPS 들고 그렇게들 여행한다.
 
돈 들인 오지 탐험 같은 경우엔(예를 들어 공룡 뼈를 주우러 고비 사막에 간다던지... 요즘 트리케라톱스 뼈다귀가 20억원이나 한다던데... ) GPS는 기본이고, 도요타 랜드로버에 태양전지와 Inmarset BGAN 단말기를 싣고 다니며 오지에서 위성 인터넷을 한다. 분당 14$이란 천문학적인 액수가 문제이긴 하다. 인마세트는 최근에 F3 위성을 런칭하면서 속도는 물론, 커버리지가 넓어진 듯.
 
독립 GPS 활용에 관해서는 http://cafe.daum.net/GPSGIS (다음 GPSGIS 동호회)를 참조하는게 도움이 된다.

삶을 좀 더 편하게 해 주는 게시물의 위치: http://cafe323.daum.net/_c21_/bbs_read?grpid=KSj8&fldid=Lrtt&datanum=396
 
2. 한국 지형도
 
routable map과 topo map이 포함되어 있다고는 하지만, 무려 100만원에 가까운 기기를 장만해서 사용하기엔 손이 떨린다. 한국 가민사에서 판매하는 같은 기계를 ebay에서는 약 300$(환율 1500원/$ 환산 약 45만원) 수준에서 구할 수 있다. 그보다 저렴한 Garmin Vista HCx 같은 것은 약 220$(33만원 가량)에 구입할 수 있다. 작년 환율 오르기 전에 구입해서 무척 흐뭇하다. 뭐 일단은 가민 계열에서는 획기적인 인터페이스의 콜로라도 시리즈가 대세다. 백만원짜리 사기 뭣하다면 적어도 지형도만이라도 갖춰보자.
 
다음의 GPSGIS 동호회를 비롯하여, 이미 여러 사람들의 노력이 더해져 DEM(digital Elevation Model)을 이용한 한국 지형도를 만드는 방법이 공개되어 있다. 지형도 만드는 방법은 웹을 뒤져 보던가, 아래를 참조.
 
 
만드는 과정이 복잡하고 시간이 많이 걸린다. 만들어진 데이터를 windows live 공개 웹 하드에 올려뒀다.
 
 
위 파일은 Garmin GPS용이다. 주의: 이 자료는 NASA의 위성에서 찍은 DEM 파일을 이용해 작업한 것인데, 실제 등고선의 해상도는 10m 급이 아니라 거의 30~50m 급에 가깝다. 따라서 등고선 정밀도가 많이 떨어진다.
 
이 지도로 두 가지 작업을 한다.
 
2.1. Garmin Mapsource에서 보기 위한 지형도
 
PC에 Garmin MapSource가 설치되어 있어야 한다. 설치 CD로 MapSource를 설치한다. MapSource는 보통 C:/Garmin에 설치된다. 설치가 끝나면 반드시 업그레이드를 해 준다.
사용자 삽입 이미지
업그레이드를 하면 MapSource 뿐만 아니라 Trip & WayPoint Manager v4라는 이름으로 기본 지도(Base Map)가 업데이트 된다. 이 자료는 C:/Garmin/TRIPWPT4에서 확인할 수 있다.
사용자 삽입 이미지
Base Map은 일반적으로 GPS 디바이스에 설치되어 있는 세계 지도보다 상위 버전이며, 가민에서 드물게 업데이트 한다. 업데이트 될수록 검색 가능한 POI와 도로가 늘어나고 지도 자체가 정밀해 진다.
 
다운로드 받은 KoreaTopo10m.part1.rar를 C:/Garmin/KoreaTopo10m에 압축을 푼다. 만일 디렉토리가 다르다면, Korea Topo 10m.reg 파일의 경로를 수정해 줘야 한다. Korea Topo 10m.reg를 더블 클릭하면 설치가 끝난다.
 
MapSource를 실행하여 메뉴바 아래 툴바의 콤보 박스에서 Trip And Waypoint Manager V4 아래에 Korea Topo 10m가 보이면 설치가 잘 된 것이다.
 
2.2. GPS 디바이스에 올리는 지형도.
사용자 삽입 이미지
sendmap20.exe를 실행한 후, 화면을 참조하여 파일을 추가한다. 이때, 같은 디렉토리에 있는 TRIPWPT4.img를 사용하거나, 만일 Trip & Waypoint Manager가 업그레이드 되었다면 업그레이드된 이미지를 추가한다.
 
여기까지 하고 나서, 다음 세 가지 작업을 할 수 있다.
 
2.2.1 Upload maps to GPS
 
GPS가 USB에 연결되어 있다면 설정한 이미지를 모두 올린다. 이때 GPS 내부에 있는 원래 지도 이미지에 덮어쓴다(원래 지도 이미지는 지워진다).
 
2.2.2 Create GMAPSUPP.IMG
 
GPS 없이 GMAPSUPP.IMG 파일을 만든다. 이 파일은 Garmin GPS를 외장 USB Storage로 연결하여 외장 USB Strage 드라이브의 /Garmin/GMAPSUPP.IMG를 대체할 수 있다. 2.2.1은 원래 GPS에 있던 이미지를 지워버리지만, 2.2.2는 원래 이미지를 백업받고 만들어진 이미지로 대체할 수 있는 기회가 주어진다.
사용자 삽입 이미지
2.2.3 Create EXE file
 
sendmap20.exe과 해당 이미지를 합쳐 독립적으로 설치 가능하고 배포 가능한 실행 파일을 만든다. 설치 파일을 실행하면 2.2.1과 마찬가지로 GPS에 있던 이전 이미지를 덮어 쓴다.
 
3. Geocoding
 
디지털 카메라와 GPS를 이용해 사진에 GPS 좌표를 기록해 놓는 것을 geocoding이라 한다. 몇몇 고급카메라는 GPS를 내장하고 있다. 또, Nikon D2X처럼 인터페이스 케이블을 이용해 GPS와 연결하여 사진 찍는 시점에 바로 geocoding 되는 기기들도 있다. 하나 같이 비싸다. 소니 CS1에 딸려오는 SW도 이런 기능을 한다. 하긴 한다. CS1이란 GPS 디바이스가 좀 아니라서 문제지.
 
독립 GPS로도 geocoding 작업을 할 수 있게 해 주는 프로그램은 많다. google에서 geocoding으로 검색하면 꽤 여러가지가 나온다. 개중 freeware이면서 사용이 간단한 것이 GPicSync이다.
 
goecoding을 하려면, 또는 하기 앞서, 만일을 위해, 사진을 본격적으로 찍기 전에, gps 시간과 카메라 시간을 맞춰 놓은 다음 GPS 트랙 로그를 기록하고, 사진을 찍는 것을 추천한다.
 
3.1 GPicSync의 옵션 설정
사용자 삽입 이미지
Picture foler: 사진이 저장된 디렉토리를 선택한다.
GPS file: gpx 파일을 선택한다 (gpx는 gps eXchange format으로 대부분의 프로그램이 지원)
 
Google Earth Icons: 아이콘을 picture thumb로 선택했다면 google maps export url을 함께 사용해야 한다. export url의 thumbs 디렉토리에 그림에 해당하는 섬네일 아이콘들이 저장된다. camera icon을 선택하면 구글이 지원하는 카메라 아이콘을 사용.
 
Google Earth Elevation: Clamp to the ground로 지정. 나머지는 항공사진용 옵션.
 
Google Earth with timestamp checkbox: 체크하면 파일명에 날짜가 따라 붙는다.
 
Google Maps export, folder URL: 자신의 홈페이지에 사진을 저장해 놓았다면 그 홈페이지의 사진이 담긴 디렉토리를 지정한다. 조금있다가 설명할 panoramio에 geocoding할 사진을 올려놓을 용도면 안 써도 그만.
 
Create a log file in picture folder: 변환 과정을 로그 파일로 남긴다.
 
interpolation: 가능한 체크해 둔다. gps tracklog의 시간과 카메라 시간이 언제나 정확하게 일치하는 것이 아니므로 트랙로그 자료를 전후 보간 해서 비슷한 시간에 맞춘다.
 
backup pictures: geocoding 할 때 원본 파일을 backup 디렉토리에 보관한다. 사진이 많을 경우 속도가 현저하게 느려진다.
 
add geonames and geotagged: 사진에 사진을 찍은 장소의 지정학적 위치명을 함께 기록해 주는데, 외국의 경우 꽤 쓸모가 있지만 한국에서는 이름이 조금 이상하게 나온다(구글 maps의 지명을 생각하면 됨). geocoding 진행 중 좌표에 해당하는 이름을 웹을 통해 가지고 오므로 속도가 느려진다.
 
UTC Offset: 한국의 경우 9를 지정(GMT+9), 만일 외국에서 찍은 사진이면 해당 국가의 UTC offset을 지정해야 한다.
 
geocode picture only if time difference...: 좌표가 일치하지 않을 때 허용 가능한 시간 차이를 지정. dfefault인 300이면 5분 차이인데, 이 정도 시간 차이가 나도록 좌표가 일치하지 않으면 사실상 geocoding이 엉터리로 될 가능성이 높다. 만일 tracklog가 너무 커서 GPS 도구에서 tracklog reduce 작업을 했다면 300초를 초과할 수도 있다.
 
3.2 Geocoding 시작
사용자 삽입 이미지
Options->Local time corrections 버튼을 누른다. 매우 중요하다. 카메라를 켜서 카메라의 시간을 위에 기록하고, GPS를 켜서 GPS의 시간을 아래에 기록하고 Apply correction 버튼을 누른다. GPS 시계는 매우 정밀하지만, 카메라 시계는 내버려두면 내장시계의 정밀도에 따라 drift가 존재한다.
 
사진을 찍기 전에 gps 시계와 카메라 시계를 맞춰 놓았더라도 확인해 보는 것이 좋다.
 
Synchronise! 버튼을 누르기 전에 원본 디렉토리를 통째로 백업해두는 것이 바람직하다. option 설정에서 backup pictures를 체크해 둬도 되나, 전자가 속도가 빠르다.
사용자 삽입 이미지
Synchronise! 버튼을 누르면 geocoding을 시작한다. 보시다시피 time difference는 10초 이내이고, 이 정도가 정상이다.
사용자 삽입 이미지
변환이 끝나면 Google Earth button을 눌러 사진을 확인해 볼 수 있다. 단, 이 때 Google Maps export가 체크되어 있고 url이 지정되어 있다면 사진을 참조하는 장소는 홈페이지의 사진이 담긴 디렉토리가 된다. 체크되어 있지 않으면 로컬 HDD 파일을 보여준다. 전자가 blog 따위에 자신의 이동경로와 사진을 함께 올리기에 편하다. 후자는 google earth를 통해 사회에 공여(?)하는 것이다. 용도에 따라 전자, 후자, 전/후자를 선택하면 되겠다.
 
3.3 Panoramio
 
geocoding된 파일을 panoramio에 올리면 google earth 사용자들이 언젠가 그 사진을 볼 수 있게 된다. 사진 링크하기도 편하다. 이미 geocoding된 사진이므로 업로드해서 mapping 안 하고 그냥 등록하면 된다.
사용자 삽입 이미지
등록된 사진은 별표가 표시된다. 별표가 표시되었다는 것은 google earth에서 채택되었다는 뜻이다. 채택이 되더라도 실제로 google earth에 사진이 나타나는 것은 한참 후의 일이다. '지도 상의, in Google Earth(KML)'을 클릭하면 구글 어스에서 당장 사용할 수 있는 kml 파일을 다운로드 받아 구글 어스로 링크된 이미지를 볼 수 있다. 즉, 구글 어스에 사진이 등록되기 전에도 친구들에게 사진을 보여줄 수 있는 url 인 셈이다.
 
4. Tracklog의 활용
트랙로그는 GPS를 켠 순간부터 GPS를 끌 때까지 GPS 내부에 기록되는 좌표 및 이동 정보다.

트랙로그는 Garmin MapSource, GPS Trackmaker, Google Earth 등의 프로그램을 이용해 GPS에서 직접 다운로드 받을 수 있다. 그외에도 GPS 자체적으로 일별로 트랙로그를 SD card에 기록하고 있는데, GPS를 USB Removable Disk로 인식하여 접속하면 이동식 디스크릐 루트 디렉토리에 적재된 gpx 파일을 볼 수 있다.

사용자 삽입 이미지
트랙로그는 프로그램에 따라 여러 가지 포맷으로 저장된다. 이들 포맷 간의 변환은 GPSBabel 프로그램으로 할 수 있다.

사용자 삽입 이미지

가장 호환성이 좋은 포맷은 .gpx이나, .gpx 파일은 XML text로 기록되어 파일 크기가 상당히 큰 편이다.

4.1 트랙로그의 평가
트랙로그를 평가하는 여러 종류의 툴이 있다. http://utrack.crempa.net/ 이 사이트에서는 .gpx 파일을 입력 받아 온라인으로 트랙로그를 평가해 준다. 그리고 그 결과를 pdf로 다운받을 수 있게도 해 준다. 샘플은 4시간 30분 동안 한강변을 자전거로 주행한 기록 http://www.pyroshot.pe.kr/tt/attachment/1333738485.pdf 로 확인 (m.s.l = meters from sea level)
 
4.2 wikiloc
 
wikiloc은 트랙로그를 공유하는 사이트이다. tracklog 파일을 사이트에 올려두면 다른 사용자가 리뷰 하거나 다운 받아 자신의 GPS에 다운로드하여 trackback할 수 있다. 상당히 유용한 기능으로, 비슷한 경로를 여행할 경우 많은 도움이 된다. 샘플:
 
사용자 삽입 이미지
5. Vista HCx

Garmin Colorado Series에 밀려 곧 역사 속으로 사라질 운명이긴 하지만, 독립 GPS의 샘플 운영 화면을 보여주기 위해 가지고 있는 Garmin Vista HCx의 화면을 캡쳐.

사용자 삽입 이미지 사용자 삽입 이미지

Cities & Satellite Page: 위성 수신 상황. 실내에서 잡은 거라 리셉션이 별로 좋지 않지만, Sirf III 에 비해 현저하게 빨라진 32채널 칩 사용으로, 산행 중에 주머니나 배낭에 넣어둬도 forest canopy(숲으로 뒤덮인 지역)나 골짜기에서도 위성을 놓치는 일이 거의 없다. 현재 위치에서 가장 가까운 '도시'를 찾는 페이지.

사용자 삽입 이미지 사용자 삽입 이미지

마그네틱 컴퍼스 내장. GPS 컴퍼스는 GPS 수신이 될 때만 작동하기 때문에 자기 컴퍼스가 꼭 필요하다. 바로 미터는 기압계 역할은 물론 기압에 따른 고도계 역할도 한다. 기압계는 급격한 날씨 변동을 모니터링하여 산악에서 발생하는 사고를 방지하는 효과가 있다.

사용자 삽입 이미지 사용자 삽입 이미지

Trip Computer, Map page: Trip Computer는 트래킹이나 바이크 라이딩할 때 가장 자주 보는 페이지. Map page에 Korea Topomap 10m를 적용한 화면. 야간이라 화면이 검게 나옴.

사용자 삽입 이미지 사용자 삽입 이미지

Calendar Page. 낚시하러 갈 날짜를 잡을 때 유용한 페이지.

사용자 삽입 이미지 사용자 삽입 이미지
Waypoint Find, Tracks Page: 기록된 waypoint 또는 POI를 검색하거나(가장 근접한 지점을 찾거나), 트랙을 선택해 trackback할 때 사용하는 페이지.


사용자 삽입 이미지 사용자 삽입 이미지
Sun & Moon, USB Mass Storage Connect Page: 해지는 시각, 해 뜨는 시각은 산악 트래킹할 때 아주 유용한 정보. 월령도 때때로 유용하다.

이외에도 Geocaching 관련 page, GPS를 이용한 게임, 계산기 따위 잡동사니를 포함해 많은 페이지가 있지만 생략. Vista HCx에 없는 것은 mp3 player, text viewer, 동영상 플레이어, 카메라, wifi 따위.
,

careless talk cost lives

잡기 2008. 9. 25. 14:05
블로그에 하루에 수십 개씩 스팸이 꾸준히 올라온다. Eolin Anti Spammer를 설치했더니 67% 정도 차단한다. 100개중 33개는 수동으로 삭제. 하는 수 없이 몇몇 정규(?) 스패머의 이름은 무조건 차단했다.

위기(危機)는 위험과 기회를 합친 말이란다. 서브프라임 모기지론 때문에 발생한 위험한 상황이 달갑지 않고, 돈이 없으니 기회도 없다. 뻔히 알고 있었으면서도 두 번이나 펀드 환매 타이밍을 놓쳤기 때문에 더더군다나! 아무 것도 안하고 가만히 있다가 망한 케이스랄까? 경우에는 안 맞지만 옛 격언이 있다; 악이 승리하기 위한 단 한 가지 필요 조건은 좋은 사람이 아무 것도 하지 않는(못하는) 것이다.

트랙로그를 분석하려면 여러가지로 귀찮다. GPS Trackmaker는 쪼개진 유관 track log를 merge하는 기능이 없어 Garmin Map Source에서 트랙 로그를 합쳐야 한다.
 
GPS 관련 프로그램이 워낙 많고 다양하다보니 뭐 하나 하려고 해도 과정이 참 복잡다단하다. 어디서 줏어온 *.img map 파일을 gps에 올리려면 mapwel을 사용 하고(또는 sendmap) shp 파일이나 dxf 파일을 img로 변환하려면 mapedit와 cpgsmapper, dem2topo, wintopo, idl 따위의 프로그램을 사용해야 한다.
 
포맷 변환은 gpsbabel을 많이들 사용. GPS Trackmaker는 Google Earth와 함께 사용하면서 route를 잡을 때 주로 사용. google earth에 naver 지도나 콩나물 지도를 overlay 해야 구글 어쓰에서 라우팅이 편해지는데 오버레이 맵은 아직 구하지 못했다. 어느 착한 분이 사이트로 만들어놓았던 예전 것은 사라졌고, 어떤 블로그에서 그 비슷한 것을 만들어 놨는데 구글 어스 용으로 변환하려면 스크립트를 짜야 하는게 귀찮아서 개기는 중. 기다리다 보면 누군가는 하지 않을까? 그러고 보니 전에 홍씨가 지리학과 출신이라 이런저런 그쪽 방면 얘기를 한 기억이 난다.

스크립트 짜기: (얼마 전에 업그레이드된) 네이버 맵의 open API를 사용.  네이버 맵만을 가지고 GPS용 트랙 로그를 작성해 gpx나 kml로 저장하면 써먹을 데가 많다.
 
더더욱 좋은 케이스는 구글 코리아에서 제대로 된 지도를 구글 맵에 올리고 구글 맵을 구글 어스에 오버레이하는 것이다. 구글맵 오버레이는 이미 나와 있으니 구글 코리아가 한국 지도를 확보하기만 하면 되는 것이다. -- 가만히 앉아 기다리기만 하면 된다.
 
자주 사용하는 Garmin Map Source나 GPS Trackmaker에서는 altitude profile이나 cartographical length 정도 외에 track에 관한 유의미한 통계를 뽑을 수 없어서 gpx를 파싱하는 프로그램을 하나 짤까 하다가 google 부터 뒤져봤더니 좋은 사이트가 이미 있다. uTrack - online GPX track report generator 여기서 2008/09/21 의정부를 거쳐 강북쪽 시가지를 지나는 56km 주행 궤적을 넣어봤다. 최고속도, 최저속도, 무엇보다도 평지 평균 속도와 구간별 속도 변화가 계산되어 나오는 것이 인상적. pdf 파일 출력을 지원한다(Garmin Map Source에서 gpx로 파일을 저장할 때 UTC offset이 적용되지 않는 버그를 발견했다.):
  • 고도 프로파일과 속도 변화 그래프를 겹쳐서 보여주면 더 좋겠고,
  • 웹 사이트이다 보니 작은 그래프 하나로는 자세한 정보를 얻기가 불편하다.
  • 주행 시간과 쉰 시간을 분리하는 것이 바람직해 보인다. gps에 찍힌 평균 속도는 19.3kmh 이나 사이트에서 계산한 평균 속도는 19.6kmh로 나왔다. 계산에서는 주행시간과 쉰 시간을 분리해 놓은 것이다.
  • 최고 속도 출력할 때는 gps의 글리치 때문에 생긴 오류를 걸러주는 것이 바람직해 보인다.
이상 여러가지 개선의 여지가 있음에도 불구하고 프로그램을 짤 일은 없을 것 같다. 다른 프로그램을 찾던가 저 사이트를 그냥 계속 사용할 것 같다.

1-2시간 자전거를 탈 때는 티가 안 났지만, 오랫만에 4시간 넘게 자전거를 타 보니 지구력이 현저하게 떨어진 것을 알았다. 뭐, 제작년에 5시간 20분 걸린 코스를 4시간에 왔으면 잘한거지 싶기도 하지만...

Google Earth에 Wikiloc이란 것이 보여 한국 지도에서 찾아봤으나 별로 없다. 자기가 돌아다닌 GPS 트랙을 등록/공개하는 사이트다. 가지고 있던 GPS의 트레일을 몇 개 등록했다.  Wikiloc에 donation한 것처럼 흐뭇하다. -- 그러고보니 위키록을 비롯해 지난 몇 년 동안 파노라미오, 구글 어스, 지오캐싱 등에 올려 놓은 것들이 이것저것 있구나...
사용자 삽입 이미지
새로 옮긴 사무실에서 바라본 음산한 바깥 풍경. 이전 사무실보다 환경이 열악해져서, 왜 사무실을 옮겼나 싶을 정도. 한 주 동안은 일이 거의 손에 잡히지 않았다. 더워서.

28도가 넘어야지만 중앙냉난방실에서 에어컨을 틀어주는데 천정이 높아 공기 순환이 안되는 탓에 사무실 내부의 체감온도는 29~30도 가량. 오후 6시가 넘으면 에어컨을 껐다. 사무실 옮긴 후 팀원들이 더위 때문에 다들 맛이 갔다. 사무실이나, 새로 옮긴 건물에는 샤워 시설이 없어 자전거 출퇴근을 접었다.

사용자 삽입 이미지
아이의 생장 과정을 궁금해하는 사람도 있어 올려두는, 그나마 잘 나온 사진. 아내와 내가 비슷하게 생각하는 것은, '애가 인물은 좀 아니다' 였다 -- 날이 갈수록 아내를 닮아간다.

아내는 내가 가끔 버럭 화를 내는 것을 몹시 싫어했다. 그 이전에 내가 왜 화를 내는지 물어본 적도 없고, 알고 싶어하는 것 같지도 않았다. 1. 한 말 또하게 하는 것, 2. 같은 실수를 무한히 반복하는 것, 3. 아무 짝에도 쓸모없는 카운터(무의미한 대들기). 1, 2 번은 내가 조심하고 있지만 3번은 많은 날이 지나도 별로 달라지지 않았다 -- 아내는 대다수의 여자가 지닌 논리적 오류를 반복했다. 범주화,  흑백논리, 순환논증, 부적절한 일반화, 논점이탈, 감정 및 권위에의 호소...

적어놓고 보니... 평소 내 관점과 일치했다; 여자는 별로 논리적이지 않다. 아울러 뚜렷한 인식과 비전을 지닌 여자는 인류 역사상 극히 드물었고 어쩌면 존재하지 않았을 지도 모른다. <-- 이런 견해들을 여성에 대한 편견이라고 말한다. 나도 하루 빨리 편견을 깨고 싶다 -- 여성과 한 세상을 같이 사는 건, 칼 세이건의 책 제목처럼, 요술과 악령이 지배하는 세상에 사는 것 같으니까.

행복을 바란 사람은 행복해지고, 불행을 원했던 사람은 불행해진다. <-- 맞는 말이다. 전적으로 물리적인 측면을 배제한 채; 행복해지려면 삶에 대한 기대를 낮추면 된다. 또는, 재수없는 기억을 지우고 닭대가리가 되면 된다. 하지만 수행자들은 스스로의 지능을 낮추는 일 없이 삶에 관해 '착각'하지 않음으로써 최저 에너지 준위를 자기도 모르게(어느새) 유지한다. 사실 자기에게 관심없는 우주와 꽃들에게 아무 것도 기대하지 않아야 상태가 나아진다 -- 대다수의 사람/사물/외계인/인공지능은 내 행복에 관심이 없다. 나도 내 행복에 (특별히) 관심이 없을 뿐더러, 뚜렷한 우주애나 자기 인식을 가지지 않은 것으로 알려져 있다(물론 어쩌다가 나한테 관심없는 우주나 꽃들을 사랑할 수는 있을지 몰라도).

아울러 행복을 추구하기 위해 치러야 하는 댓가로서, 비록 그 영향이 비록 미미하다 할 지언정, 엔트로피가 고려되어야 할 것이다. 에너지 보존 법칙과 비가역적, 비대칭적 시간의 흐름, 깨달음을 포함한 귀납추리, 엔트로피 등을 종합적으로 고려하면, 나는 내가 왜 복스럽게 존재해야 하는지 다분히 회의적이다. 당신의 (행복한?) 존재도 마찬가지고.

주씨가 날더러, 애 키우면서 딸아이가 행복해지길 바라지 않느냐? 고 물으면 명색이 깨달음을 취미로 추구했던 땅거지 입장에서 이상과 같은 저간의 배경을 설명하기가 난처해진다. 간신히 변명처럼 얼버부릴 수 있는 것이라고는, 양육은 자식의 행복이나 부모의 행복과 상관없지 싶다.  내가 바란다고 아이가 행복해지는 것도 아니다. -끝-

아이와  내가 느끼는 서로의 행복은 n초 짜리 현재에서 상호의존적 감정 교류의 환시와 지속에 바탕을 두고 있고, 굳이 아이와 나 사이가 아니라도 다수의 인류가 느끼는 행복의 상당 부분은 스스로의 편의에 따른 기억의 조작, 노스텔지어, 자아/존재(감)의 영속성 따위를 주성분으로 한다. 드물게 학습한 자가  억수로 행복해지는 또 다른 길이 있긴 한데... 이 세계에 대한 뚜렷한 인식과 이해를 얻는 것이다.  깨달은 자는 그래서 행복할 가능성이 있으나, 행복한지 행복하지 않은지 남이 그걸 객관적으로 평가할 방법은 없다.

인류가 멸망하고 지구가 녹아내리고 아이가 블랙홀 한 가운데 혼자 내팽개쳐져도 꾸준히 행복해지려면 그래도 깨달음을 얻어야 한다고... 굳이 생각했다. 그 깨달음이란게 누가 가르쳐 준다거나, 보리수 그늘 아래 한 30일 앉아 있다가 날로 먹는 건 아닌 것 같고. 쉬운 세 가지를 다시금 반복하자면, 1. 닭대가리가 되거나, 2. 기대 수준을 낮추거나, 3. 최면과 암시 등의 정신승리법, 존재감의 획득, 노스텔지어와 자기환시의 꾸준한 반복을 통해 행복감(고양감)을 얻는 것이 훨 쉽다 -- 함께 하면 좋은 사람이 있거나, 쉬려고 앉은 나뭇그늘 아래 들꽃을 바라보며 마침 불어오는 산들바람에 땀을 식힐 때, 좋은 책을 읽거나 괜찮은 그림을 보거나 마누라나 강아지가 기특하게 굴 때 '행복해 한다'.

물론 자연계에 존재하는 여러 힘들을 하나로 통합하여 설명하는 이론이 완성되면 엄청나게 행복해질 수도 있다. 또, 세계 증시 상황이 좋아지면 조금쯤 행복해질 것도 같다.

최근 Accelerando, Atrocity Archives, Jennifer Morgue, Glass House 등 Charles Stross의 책만 네 권을 읽었다. 말이 350p 짜리 소설이지 글자 크기가 워낙 작아서 이건 뭐 500p가량은 되어 보이는 정말 수다스러운 책들이라 네 권 읽는데 거진 한 달이나 걸렸다.

Atrocity Archives와 Jennifer Morgue는 컴퓨팅과 흑마술을 흥미진진하게 뒤섞어 놓았다. 튜링이 유니버셜 튜링 머신을 만들면서 동시에 프랙탈 차원 또는 플랑크 차원과의 수리적인 연결을 입증, 어떤 수식이나 알고리즘을 이용한 기어스(geas)를 사용하면 접혀 있는 플랑크 시공간의 악마를 소환할 수 있다는 기괴하고 별난 설정을 만들었다. 하나 더: observers are required to collapse the wave function. 그래서 아우슈비츠 학살은 나치가 아차원과 이 세계를 연결시키기 위해 인위적으로 파동함수를 붕괴시켰던 것이다 -_- 희대의 과학자들로부터(Today we performed Young's double-slit experiment upon Subject C, our medusa. The results are unequivocal; the Medusa effect is both a particle and a wave...) 온갖 종류의 별난 사람들이 수리적 한계를 논증하다가 발견하는 이러한 아차원 지옥을 막는 것이 주인공과 주인공이 소속된 첩보기관의 임무다 -- 간단히 말해 세계를 구하는 것.

워낙 배경이 별난 소설이기도 하지만, 소설 전반에 걸쳐 끊임없이 튀어 나오는 양아치 geek의 농담따먹기(didn't they know that the only unhackable computer is one that's running a secure operationg system, welded inside a steel safe, buried under a ton of concrete at the bottom of a coal mine guarded by the SAS and a couple of armoured divisions, and switched off?)가 꽤 골 때려서 시간 가는 줄 모르고 읽었다. 설정은 그렇다치고 정보기관의 관료주의와 부서간 알력, 정보기관에 고용되어 일하는 샐러리맨의 애환이 심금을 울린다.

엑셀러란도(김씨 말로는 아첼레란도라고 읽는게 맞단다. 아첼레란도든 엑셀러란도든 제목의 함의가 싱귤라리티를 향한 지수적 가속(?)이란 것에는 변함없음)와 글래스 하우스는 책 뒷편에 적힌 가드너 도조와 말대로 'where charlse stross goes today, the rest of science fiction follows tomorrow'에 걸맞는 훌륭한(읽으면서 지난한 SF 독자 인생에서 항상 부족했던 2%를 채워주는) 포스트 사이버 펑크물이다. 본격 싱귤라리티 시대의 태동과 싱귤라리티 이후 Urth(earth)를 떠난 인간의 이야기(Glasshouse)를 다룬다 -- 글래스하우스는 그닥 취향에 맞지 않았다.

책 두께와 분량이 점점 늘어나고 배경과 묘사가 복잡하게 얽혀버린(?) 요새 SF를 읽으려면 독자는 보다 많은 배경지식을 가지고 있어야 한다(안 그럼 지루할 수도?). 스트로스가 스크립트 키드 세대이고(컴퓨터 프로그래머 출신) 영유아시절부터 독실한 SF 신자였기 때문에 컴퓨터 공학과 양자역학, 그리고 현대 물리에 관한 배경지식이 없으면 읽다가 머리에 쥐가 날 수 있는 그런 소설을 썼다. 하다 못해 업계용어로 농담 따먹기하는 거 제대로 알아먹기도 힘들 것 같다.

SF를 읽는 평균적인 한국 독자에게 그렉 이건의 소설에 등장하는 코펜하겐 학설이 어렵게 느껴진다는 얘길 몇 차례 들었다. 그 따위로 일반화하긴 곤란하지만, 최근에는 LHC 때문에 (정작 호킹은 그 발견에 부정적인) 발생할 수 있는 호킹 블랙홀로 인해 지구가 멸망할 지도 모른다고 우려하는 사람들의 글이나 지구가 멸망한다고 생각한 나머지 살충제를 먹고 자살한 인도 소녀, cern의 과학자들을 협박하는 작자들의 얘기를 보고 들었다. 이건 뭐...

하여튼 상황이 그렇다보니 스트로스의 아트로시티 아카이브 같은 소설은 나같은 사람에겐 웃기자고 마음 먹고 쓴 흥미진진한 본격 개그소설이지만(스트로스가 설마 SF계의 테리 프라쳇을 꿈꾸는 것은 아닐까?), 종종 어떤 사람들에겐 그럴듯한 설득력(있을 수 있는 일이야!)과 미래와 현생 인류에 관한 멋진 인사이트를 갖춘 훌륭한 픽션이 될 수도 있다.

비근한 예로, 술자리에서 가볍고 로맨틱한 농담따먹기로나 할만한 얘기인 칼 세이건의 말, '이 우주에 오직 인간만이 존재한다면 그것은 심각한 공간의 낭비가 아닐 수 없다'를 정말 곧이 곧대로 받아들이고 (변수가 어설퍼서 확률 자체가 성립될 지가 의심스러운 숫자놀음이라는 생각이 드는) 드레이크 방정식을 들먹이며 외계인의 실재에 나름의 확신과 믿음을 갖는 사람들을 꽤 보았다.

안 그래도 인생 복잡한데, 다른 사람 이야기로 이 블로그를 오염시키는 것은 좀...
Initial D와 원작자가 같을 것으로 추측되는 완간 미드나잇, 애니판을 24편까지 봤다. 자막으로  '법 원리를 무시한 도로교통법 제 63조를 개정하라!'는 메시지가 가끔 떴다.  도로교통법 제63조가 뭔가 싶어 뒤져보니, 이런 일도 있었다.

도쿄 근처의 도로를 실제로 매핑한 것 같다. 완간 익스프레스(한국으로 치자면 강변북로, 올림픽 대로, 서울 외곽 순환 도로 및 자유로쯤 되려나?) 에서 새벽에 돈을 쏟아부은 튜닝카를 몰고 나와 시속 300km를 넘나드는 폭주질을 하며 즐기는 다양한 사람들의 얘기를 다룬다. 사실 왜 그렇게 달려대는지 정확히 이유를 모르겠는데, 달리는 작자들도 자기들이 왜 달리는 지 모른다. 자기가 왜 사는지 모르는 것과 마찬가지다.

사용자 삽입 이미지
'네 개의 거짓말'. 첫 두 편을 볼 때는 desperate house wives의 짝퉁인 줄 알았다. 40대 아줌마들의 사쿠라 연애 얘기. 전남편의 시어머니에게 딸을 양자로 보내고, 치매 걸린 아버지를 끌고 건널목을 건너며 자기를 기다리던 전 애인을 뒤돌아보는, 이 위험한 여자의 하루살이같은 인생의 소망은 자기와 같은 꿈을 꾸는 남자를 만나는 것이었다. 돌이켜 보건대 -- 찰스 스트로스의 이야기 때문에 생각했다 -- 이 세계에서 배역을 맡은 좀비와 진짜 인간을 구분하기 점점 힘들어진다.

사용자 삽입 이미지
망념의 잠드. 어째서인지 미래소년 코난이 연상된다.

사용자 삽입 이미지
Bonekicker 2화. 한 고고학자가 고증을 맡고 있지만 이뭐병 내지는 여병추 같은 주요 출연진의 오버액션에 정이 안가서 보는 맛이 점점 떨어진다. 뒤져보니 BBC에서 본키커가 시작될 당시의 높은 시청율은 회가 거듭될수록 떨어졌단다. 1화에서 기독교 순수주의자가 영국에 정착한 이슬람 이민자의 목을 자르는 장면이 하도 어이가 없어서 입이 쩍 벌어졌던 기억이 난다.

2화에서는 독립전쟁 당시 워싱턴과 함께 영국군과 싸웠던 자유 흑인 집단이 밀항해서 영국의 어느 섬에 정착해 살았다는 얘기와 그들의 후손인 미국의 흑인 대통령 후보가 등장. 그건 그렇고 오바마 연설하는 거 들어보면 왠지 시장통 약장수 같아 보였다. 미국은 과연 최초의 흑인 대통령을 뽑을 수 있을까?

사용자 삽입 이미지
Man Vs. Wild. 디스커버리 채널에서 인기리에 방영되던 다큐멘터리. 스위스 아미 나이프와 부싯돌 정도만 주어진 채 낙하산 타고 오지에 떨어진 전직 SAS 출신의 아저씨가 쌩야생을 통과하여  문명으로 살아 돌아오는 이야기.

모하브 사막의 45도 넘는 더위를 견디기 위해 티셔츠를 찢어 자기 오줌을 적신 후 머리에 뒤집어 쓰는 장면이 퍽 쓸모 있어 보였다. 아, 그렇게 하면 되겠구나! 감탄하면서 무릅을 쳤다. 근데 이왕이면 수통, 칼, 부싯돌 없이 던져 버리지. 야생에서 생존법을 가르치면서 사람들이 평소에는 들고다니지 않는 것들을 가지고 다니면 불공평하지 않나? 아쉬운 것은 주인공이 운이 너무 좋아 계속 살아 있다는 것.


,

디지탈 케이블 방송

잡기 2008. 3. 26. 00:39
연서시장
선거구로 은평을에 속하는 우리 동네에서 찍은 사진. 여기가 텃밭인 이재오에 대적하고자 문국현이 출마한다. 허경영은 옥중출마도 불사하겠다고 말한 바 있다. 2004년 4월에 했던 내 생애 첫 투표가 오로지 이재오 떨구려고 한 것이지만 뜻대로 되지 않았다. 이번에도 아내를 설득해서 저번 대선처럼 문국현을 찍을 것이다. 이 지역에서 부지런하고 일 잘한다는 평을 듣는 이재오는 최근 은평구민에게 민심을 잃었다.

3월 24일 부탄에서는 이대로 가면 인도, 중국에 밀린다고 생각한 국왕이 총선을 실시해 입헌군주제로 나라를 바꿨다. 부탄 국민은 '이런 걸 왜 하나' 심드렁하게 선거에 참가했다고 한다. 대만에서는 국민당의 마잉주가 당선되었다. 대만증시가 매력적이 되는 바람에, 한국증시에는 그다지 좋은 영향을 끼치지 않을 듯. 러시아에서는 예상대로 메드베데프가 대통령이 되었다. 미얀마는 민주화에 실패하고 많은 중들이 죽거나 두들겨 맞았다. 티벳인은 중국인에게 학살당했다. 후쿠다의 지지율은 꾸준히 추락하고 있다. 차기는 민자당의 오자와가 유력하지 않을까? 자민당이 그만큼 말아먹었으면 정권 교체 할 때도 되었지. 이라크에서는 죽어라고 폭탄이 터지고 있다. 파키스탄에서는 질라니 인민당 당수가 총리로 선출되었다. 팔레스타인은 내부 분열로 갈등이 해결될 조짐이 보이지 않는다.  이스라엘의 가자 봉쇄 해제는 기약이 없다. 언제 봐도 재수없는 딕 체니는 팔레스타인만 조지고 있다. 최근의 부시는 모래 구덩이에 머리를 박은 칠면조같다.

부활절에 비가 왔다. 올 부활절에는 찐계란을 얻어 먹지 못했다.

LGT의 기분존 알리미 기계를 사무실에서 빼내 집에서 써 보다가 다시 사무실로 가져가 쓰려고 하니 기분존 서비스를 사용할 수 없다고 나온다. LGT에 기분존 알리미 기계를 '재등록'하고 나서야 다시 사용할 수 있게 되었다. 안내양 말로는 그런 '재등록'은 한 달에 두 번 이상 할 수 없단다. 서비스 설명서를 제대로 안 읽은 탓인지 그런 문구는 금시초문. 사실 기분존 서비스의 정확한 정의도 아직 모르겠다.

아무튼, 내가 잘못 봤는지, LGT에서 기분존 서비스에 대한 자세한 정보를 얻지 못한 탓에, 평소부터 작동 방식이나 컨셉이 궁금했던 기분존 알리미 기계에 관한 예전 추측에 내멋대로 살을 붙였다.  휴대폰과 알리미가 블루투스 페어링을 한 다음, 휴대폰은 알리미에서 전송받은 고유 등록 번호(를 비롯한 일종의 다이제스트 코드 블럭?)와 함께 셀 기반 위치 정보를 LGT에 전달하고 이 정보를 바탕으로 기분존 서비스를 사용할 수 있다. 셀 위치 정보가 두 번 이상 달라지면 알리미 서비스를 중단한다.

요약하자면, 기분존 서비스는 휴대폰이 지닌 가장 중요한 장점인 이동성을 포기할 때 혜택을 입는 희안한(?) 서비스다. 의문은, 기분존 요금 및 서비스로부터 LGT가 어떤 이익과 단가 경쟁력을 얻길래 그런 요금제를 상품화할 수 있는가? 그리고 굳이 알리미 기계를 사용해야만 하는 이유는?

추측하기로, 특별히 하는 일도 없이 휴대폰의 블루투스 페어링 상태를 유지하기 위해 양쪽 기계 모두에서 쓰잘데기 없이 전기를 처먹는 알리미 기계가 굳이 필요한 이유는 블루투스 통달 거리를 기분존 서비스 반경으로 정하기 위해서다.

일이 바빠 SPH-M4650의 셋업은 우선순위에서 밀려 있다. 하루 3시간 가량 PDA로 글을 읽으면 배터리가 거의 다 떨어지는 것을 여전히 해결하지 않았다; 뭐 xcpuscaler로 다운클럭후 테스트해 보기.  한 가지, 블루투스와 전화기를 꺼놓고 PDA만 사용해도 전력소비량에 큰 변화가 없어 보인다. 역으로, PDA를 사용 안하고 전화기를 켜둔 채 방치해 두면 50시간 이상 버티는 것 같다. Palm 계열의 battery checker program도 하나 구해서 정확한 사용시간을 알아봐야 할 듯.

작년, 올초까지 케이블 방송에서 케이블 TV를 디지탈 방송 상품 교체하라고 귀찮게 굴었다. 특별히 교체할 이유가 없었지만 금액은 같고 채널 수를 더 늘려준다길래 그럼 그러라고 했다.

집 TV가 NTSC 시그널을 받는 아날로그 TV라 디지탈 방송으로 바꾼다고 화질이 현저하게 좋아지는 것도 아니고, 케이블 방송 채널 대부분이 아직 디지탈 컨텐츠를 제작하는 것도 아니라서 바꾼다고 특별히 좋아질 것은 없다.

5년 후 전면 디지탈 방송이 시행되면 지금 TV로는 디지탈 방송을 시청할 수 없게 된다던데, 아내는 그때쯤 되면 집에서 TV를 치우자고 말한다. 나야 밥 먹을 때 YTN 뉴스 정도나 볼 뿐 TV 볼 일이 없으니 있으나 없으나 상관없지만 아내가 TV 없이 잘 지낼 수 있을까?

저번 주 일요일 오후에 교체 작업/셋업을 하러 왔다. 셋업 박스를 설치하고 케이블 모뎀도 교체했다. 인터넷 속도가 느려지지 않는다고 기사가 말한다. 인터넷 속도 느려지는 것하고 디지털 케이블 방송하고 무슨 상관이지?

양군에게 물어보니 IPTV 설치하면 인터넷이 느려진단다. 그런가? 디지털 방송은 원래 TV의 NTSC 대신에 시그널링을 디지털로 해서 방송을 송출하는 것이니 당연히 밴드가 다른 인터넷 전송선로에 영향을 끼치지 않는다. 그런데 IPTV는 기존의 인터넷 망을 통해 VOD를 전송하기 때문에 VOD 방송을 보고 있으면 인터넷이 느려진다는 것이다. 그래서 기사가 부러 IPTV와는 다르다는 것을 강조하기 위해 인터넷이 느려지지 않는다고 말한 것이구나... 왠지 좀 괴상한데...

국내는 상관없지만, 요즘 들어 외국 접속해서 다운 받는 속도가 현저하게 떨어졌다. 케이블 모뎀 교체 후에도 나아지지 않았다.

단순히 디지털로 전송만 해주는 줄 알았는데(전송 포맷은 MPEG2) IPTV처럼 Video On Demand 기능이 포함되어 있다. 그 때문에 땡 잡은 기분이 든다. 디지탈 방송을 처음 써보고(주변에 써본 사람도 없고) 좋은 TV를 써본 적이 없어 디지털 케이블 방송으로 바꾸면서 개인적으로 흥미로웠던 기능들:
  • 채널 검색: 가나다 또는 알파벳으로 키워드 첫 글자를 입력하면 전 채널의 현재 방영중인 프로그램을 검색해서 표시해준다.
  • 방송일정표: EPG 정보가 화면에 나타난다. 즉 지금 시청중인 프로그램 이후 방송을 리스트업할 수 있다.
  • 채널 예약: EPG중 Ok 버튼을 눌러 채널 예약해 두고 다른 방송 시청하고 있으면 예약된 시간에 맞춰 팝업 윈도우가 떠서 채널 전환할 것인지 묻는다.
  • 셋탑 박스 리모컨: 집 TV 제조 메이커가 망했고 중소기업이라 리모컨 구할 일이 난감했는데(유니버셜 리모컨도 제각각이라 어떤 것을 골라야 할 지 알 수 없다) 셋탑 박스의 리모컨에서 그냥 잡힌다.
  • VOD: 밀려서 못 본 드라마를 볼 수 있다. 나하고는 상관없지만. 리모컨으로 REW, FF를 쓸 수 있다. REW, FF 없이는 TV로 프로그램 보는게 영 지루하다. 게다가 PC HDD를 쓰는 것도 아니고.
아쉬운 점

  • 셋탑 박스의 부팅 속도가 (참 거지같이 만들어놨다는 생각이 절로 들 정도로) 매우 느리다. (뜬금없이) 삼성에서 만든 거라서 그런가?
  • 셋탑 박스에 이더넷 포트가 있는데 PC와 연결해 MPEG2 엔코딩된 것을 PC의 HDD에 녹화할 수 있도록 해 주거나, 반대로 HDD에 있는 파일을 재생할 수 있게 해줬더라면 정말 좋았을 것 같다.
  • 인터넷은 왜 안 되는 거야?
  • 아날로그 케이블 방송에 비해 볼만한 채널 수가 줄었다.
VOD 채널이 항상 비어 있어 테스트를 못해 봤다. 기사 말로는 시스템 상의 오류이므로 고쳐준다더니 그네들 시스템 리셋만 해 보고 일주일이 지나도 상태가 그대로다. VOD야 볼 일이 거의 없으니 그렇다쳐도 일반 방송이 잘 나오다가 자주 멎었다(black out/no signal). 담주에 기사를 불러야 할 것 같다.

한강변 자전거 주행: GPS 장착
올해 들어 처음으로 자전거를 타러 나갔다. 독바위 역 앞에 있는 자전거 펌프는 전원이 꺼져 있었다. 가볍게 워밍업 한다는 생각으로 2시간 30분 동안 한강 고수부지 일대를 돌아다녔다. 그중 실 주행시간은 2시간 남짓.

자전거의 보전 상태가 양호해 핸들바의 먼지만 닦고 탔다. 체인이 조금씩 튀어서 신경이 거슬린다. 또, 앞 디레일러의 이격이 정확히 맞지 않아 2->3단 전환은 잘 되지만 3->2단 전환이 잘 되지 않는다.

Garmin Vista HCx를 처음 마운팅해 본다. 액정의 가독성은 생각보다 양호하다. GPS로 재보니 이동평균속도가 18.4Kmh로 나왔다. 예전 GPS로 18kmh와 지금 GPS의 18kmh는 의미가 다르다. 예전 것은 정지되어 있는 동안에도 속도 평균을 계산하므로, 평균값을 까먹었다. 하여튼 겨울 동안 뱃살이 손에 잡힐 정도로 붙었고, 그간 운동이 부족했다. 시내 주행을 빼고 걸리적거리는게 없는 평지라면 올해는 이동평균이 25kmh 정도는 나와줘야...

고수부지에 있던 많은 수의 매점들이 사라졌다. 이젠 고수부지 갈 때 미리 간식꺼리를 준비해야 하는건가? 자전거 타다가 매점 앞에 앉아 컵라면 먹는게 낙이었는데... 언젠가 뉴스에서 본 예정대로 매점은 대부분 철거한 것 같은데, 세븐 일레븐은 컨테이너를 들여놓고 영업 중이다.
어쨌든 매점이 사라져 생수를 살 데가 없어서 한강변의 생명수인 아리수라도 마시려고 찾았지만 동절기 동안 수도꼭지를 막아놓는다는 안내문만 달랑 붙어있어 물 한 모금 마시지 못하고 매우 건조한 상태로 집에 돌아왔다.

점퍼
스티븐 굴드의 소설을 영화화한 Jumper. 주인공은 피지에서 서핑을 마치고 스핑크스 머리 위에서 점심 식사를 한다. 옛날 프랑스군 점령 시절 사격연습 한답시고 코를 뭉개놓은 그 스핑크스. 화면 중앙은 기자 피라미드 중 카프레의 것. 의아한 것은 스핑크스 옆이 출구라 관광객들이 우글거리는데 스핑크스 대가리에서 어떻게 한가하게 식사를 할 수 있을까?

점퍼
로마의 콜로세움에서 여자친구에게 잘난척 하려는 씬을 찍는 류의 촬영 허가가 났다는게 대체로 신기했다. 점핑해서 간 곳들은 몇 안되면서 생각없는 십대가 나와 설쳐서인지 영화는 부족하고 아쉬웠고 그래서 재미가 없다. 결투는 삥마용에서, 점심은 티칼에서, 파도는 그레이트 리프에서, 저녁에 맥주 한 잔 하기는 고아가, 별장은 겐팅 하일랜드나 치앙마이에 두고 긴급 대피처는 아파미아나 포카라가 바람직해 보인다. 십대 관광지 정도나 나올법한 애들 판타지에 뭘 기대할 수 있겠냐만은, 영화도 그 지경이면 좀...

사용자 삽입 이미지

Mindgame

마인드 게임, 유아사 마사아키의 애니메이션. 클레이모어 애니판 3화쯤 보다가 기분을 잡쳐서 뭐 재밌는 애니 없을까 뒤지다가 우연히 눈에 띄었다. 실은 예전에 못 본 것 같아서 그냥 다운받아 보았다.

Mindgame
사랑 고백하는 장면. 씬에 낭비가 없어서 정신 차리고 애 재우고 제대로 감상 시작.

Mindgame
여자친구가 강간 당할 처지인데 구석에서 벌벌 떨다가 똥고에 총 맞고 비참하게 죽은 주인공. 친절한 자막.

Mindgame
얼마나 낯 뜨겁게 죽었는지 입체적으로 주인공의 죽음을 보여준 신.

Mindgame
새 삶을 살게 되자 마자 고래 뱃속에 갇혔다가 빠져 나오기 위해 갖은 발버둥을 친다. 이 부분부터 클라이막스. 훌륭한 시퀀스.

Mindgame
용기를 내서 살라는 평범한 교훈을 담은 2004년 작. 극이 끝나가면서 도무지 뭘 보여주겠다는 것인지 이해가 안 가던 극의 도입부를 미세 변주 리플레이하면서 '이 극화는 결코 끝나지 않는다' 라고 마무리 짓는다. 작화가 어째 철콘 근크리트와 비슷하다고 생각했지만 아닌 것 같다.

Mindgame
어, 그런데 이 장편 애니 장난 아니다. 정신이 번쩍 든다. 이런 류를 단편으로 만드는 건 식상하다 싶을 정도로 봤지만 장편이면 얘기가 달라진다. 버릴 것 없고 지방끼 없이 날씬한 씬들이 리드미컬하게 줄줄이 이어진 장편이다. 감독을 맡은 유아사 마사아키로 뒤져보니, 이노센스, 스팀보이, 하울의 움직이는 성 등 당해 거장들(?)의 작품을 제치고 제 8회 문화청미디어 예술제 대상 수상했단다. 언급된 세 작품 모두 경쟁상대라고 보기엔 영 찌질스러운 것들 뿐이라 마인드게임이 상 받는 것은 당연하다.


,

라면 끓여먹기

잡기 2008. 2. 21. 02:19
밀가루값 폭등으로 25일부터 라면값이 오른다길래 농심 신라면 한 박스(개당 507.5원)와 삼양 맛있는 라면 한 박스(개당 662원)를 샀다. 아내는 신라면'만' 먹었다. 신라면이 맵고 짜서 끓일 때는 스프의 5/6에서 2/3만 넣었다. 삼양의 '맛있는 라면'은 낚시질이라 믿고 시험삼아 얼마 전 구입했는데 정말로 맛있다. 짜지도 맵지도 않고 대충 끓여도 면발이 쫄깃하다. 신라면보다 가격이 비싼 편. 누군가 라면에 MSG 첨가하지 않는다고 말해서 포장지를 살펴보니 정말 그랬다. 여태까지 MSG도 없는 맛없는 라면을 먹어왔단 말인가? :)

라면 주문한 후 며칠 지나서 신문에 라면 사재기 기사가 실렸다.

내가 '신'라면'만' 맛있게 끓이는 방식: 양은 냄비에 1인분만 끓일 때가 경험상 가장 맛있다. 봉투에 적힌 대로 딱 그 분량의 물+20~40cc 정도 더 넣어 가스렌지의 화력을 최대로 해서 물이 팔팔 끓으면 건더기와 스프를 먼저 넣고 라면을 딱 이등분해서 잘라 넣는다. 50초~1분쯤 지나 라면이 슬슬 풀어지면 젓가락으로 라면가락을 들었다 놓았다 공기 중에 노출시켜 '온도차'를 준다 -- 면발이 쫄깃해진다. 계란은 미리 풀어놓았다가 한 번에 붓고 젓가락으로 젓지 않고 내버려 둔다. 계란을 미리 풀어 넣으면 지나치게 짜고 매운 맛이 덜하면서 계란 덩이 때문에 계란 먹을 때 뒤끝이 텁텁해지지 않고, 휘젓지 않고 넣어 라면 국물이 탁해지지 않는다. 약 30초 후 라면이 익으면 뚜껑을 덮고 불을 끈 후 10초쯤 내버려 두었다가 뚜껑을 열고 먹는다. 부재료는 사용하지 않는다.

오리지날 빨간색 삼양라면이 신라면보다 맛있다고 생각하는데, 삼양라면 끓일 때는 찬 물에 마늘 한 쪽 넣어두고 끓이면 약간 덥덥한 삼양 특유의 쇠고기 국물 뒷맛이 깔끔해진다. 라면 끓일 때 부재료 어설프게 넣으면 원래 라면 맛만 망가지는 것 같고 마누라나 나는 라면을 그냥 봉투에 적힌 요리법 정석대로 끓일 때가 가장 맛있다고 여겼다. 아내와 식성이 일치하는 것은 동네 짜장면과 라면 뿐이다. 생각해보니, 와... 우리 부부한테도 공통점이 있긴 있구나...

Reaper -- Kevin Smith가 만든 드라마. 부모가 악마에게 영혼을 팔아넘긴 아이가 부채를 값기 위해 지옥을 탈출한 영혼들을 잡아들인다. 캐빈 스미스가 만들었기 때문에 수퍼마켓에 죽치고 사는 88세대 개그물이 되었다. Cloak, Cloak 2, Mallrat 등 이 작자가 만드는 영화는 맨날...

Weeds 3기가 나온 줄 모르고 있었다. 보기 드물게 주인공을 비롯한 출연자 태반 배역이 더럽고 치사한 이기주의자에 메스꺼운 위선자들인(애들은 빼고) 드라마다. 값비싼 생계를 유지하기 위해 백인 중산층을 대상으로 풀 장사를 시작하여 잘 나가는 아줌마의 이야기. 굉장히 재수없는 드라마지만 적절한(더도 덜도 아닌 알맞은) 사르카즘과 자의식을 지니고 있다. 70년대 히피 스타일의 타이틀송이 매력적이라 몇년 전에 보기 시작.

Weeds
이 마을을 잡아먹은 윗 마을에서 훔친 십자가로 조명을 밝혀 정성스레 풀을 재배한다. 주인공을 망가뜨리지 않고 적당한 선에서 3기를 마무리지었다. 시즌 엔딩 마저도 그렇게 메스껍다.

몸살로 힘겨운 주말을 보냈다. 토요일 저녁에 피자와 로제와인을 먹다가 갑자기 오한이 끼쳤다. 감기몸살의 순간을 어디 그처럼 정확하게 알아챌 수 있을까? 온 몸이 쑤셔 애가 먹다 남은 해열제로 버티다가 마누라가 동네 약국에서 감기약을 사다줬다. 이틀 후 시간날 때 검색해보니 하나는 의약품 목록에 나타나지 않는 건강보조제였고, 다른 하나는 인터넷 언저리에서 간신히 성분대조해서 찾을 수 있었던 영양제였다. 그럼 그렇지. 진찰 받지 않고 의약품을 판매하진 않겠지 설마.

월요일에는 판매한 GPS를 우체국 택배로 부치고(4950원) 병원에 들러 한 시간을 기달려 간신히 감기약을 처방 받았다. 사실 감기약 정도면 나라도 처방하는데 굳이 의사 진단이 필요할까 싶다. 액티피드, 지르텍, 아세트 아미노펜이나 이부프로펜 정도?

용산에 가서 오래된 부속을 처분하고(AMD Venice 3000+ 6000원, Asrock 939 Main board 15000원, Samsung PC3200 512MB x 2 = 30000원) 사무실에서 사용할 컴퓨터 부속을 구입했다(AMD 브리즈번 4200+ 61000원, Asrock Alive NF7G-HD720P R1 53000원, Samsung DDR2 PC6400 1GB x 2 = 42000원). 부품이 없을 경우를 대비해 다나와에서 세 군데 업체의 견적을 뽑아갔는데, 세 군데 모두가 낚시였다. 저번에 16포트 허브 사러 용산 갔을 때도 그렇고, 이번도 그렇고 용산 낚시질이 좀 심하다 싶다. 다나와 없던 시절처럼 몇 군데 견적받으러 돌아다녔더니 시간 잘 갔다.

GPS와 중고 처분으로 새 보드 살 돈 중 2/3를 마련. 감기몸살에 맛간 몸으로 장장 6시간 가량을 여기저기 싸돌아다니니 죽을 맛이다. 감기몸살인 줄 알았는데 월요일, 화요일 이틀 먹은 약이 안 듣길래 이상하다 싶어 출근한 후 다른 병원에서 진단 받아보니 인후염이었다. 작년부터 병원만 찾아갔다 하면 첫 진단은 항상 오진인게 왜 이렇게 재수가 없는지 모르겠다. 의사들 잘못이라고 생각지는 않았다. 밀려오는 환자떼에 환자당 3-4분 정도의 시간 동안 간단한 문진으로 감기몸살 외에 다른 진단이 나올 것 같지도 않는 상황이었다.

처방전#1: 감기약으로써 배합은 거의 전방위 종합감기약 수준이었는데... 진통제 만큼은 빼주셔서 화요일 밤에는 목이 아파 제대로 잠도 못 잤다.

  • 세파트린정 (Cefatrizine) 인두염,편도염. 아침 약에만 코딱지 만큼 들었음
  • 코데닝정 (...) 진해거담/기침감기약
  • 볼맥스서방정 (Salbutamol Sulfate) 기관지확장제
  • 타리온정 (Bepotastine besilate) 항히스타민제
  • 레더코트정 (Triamcinolone) 부신피질호르몬 천연/합성 코르티코스테로이드
  • 스티렌정 - 소화성궤양용제
두번째 찾아간 병원에는 PDP display에 Patient Waiting System이란 걸 깔아놓아, 멍청한 기계음으로 진찰받을 사람 이름을 호명해 줘서(나름 첨단이랍시고 설치한 것 같지만) 혐오감을 자아냈다. 카운터 옆의 혈압 측정기도 큰 소리로 어떤 처녀의 고혈압 증세를 떠벌렸다. 그 따위로 만드니까 IT가 인도에 밀리지.

처방전#2: 의사한테 인후염이 의심스럽다고 말하고 받은, 어쩐지 한국스러운 3콤보(소염/진통/항생제) 처방전.
  • 아리제정 (Serratiopeptidase) 소염효소제
  • 그린세파클러캡슐 (Cefaclor) 페니실린계 항생제(폐렴,인후두염)
  • 바이오아세트에프정(Acetaminophen) 진통제
정말 징하다. 최근 자주 아팠다. 매번 오진으로 1주일~한달씩 고생하고 평소에는 간헐적으로 두통에 시달리고, 이젠 술은 소주 한 병 이상 마시지 못한다. 의료보험 없으면 비꺽이는 이 몸으로 어떻게 살아갈 수 있을까?

마누라는 책상에 올려두었던 내 종합검진표를 대체 어디에 치워놨을까? 이번에는 수면 내시경 검사를 맘 먹고 한 번 받아봐야겠다.

저번주에 다음 GISGPS 동호회에 GPS 중고 판매건을 올렸지만 입질이 잘 오지 않았다. $106에 판매되는 새 제품을 7만원에 살 사람이 있을까? 시간이 지나도 가치가 하락하지 않는 튼튼한 명품이라 호가를 7만원 부르는데 주저하지 않았다.

한 아저씨는 매일 문자질로 6만원에 판매해 달라며 충전기, 충전지, 매뉴얼, 시리얼 케이블 따위가 포함되는지 물어보았다. 6만원으로 한 살림 장만할 생각인가? 정중하게 우회적으로 판매를 거절했지만 전혀 눈치채지 못했는지, 딴엔 네고하는 재미에 시간 가는 줄 모르시는 듯. 내 나름대로 합리적인 가격을 제시한다고 믿기 때문에 중고 매물 거래에 가격협상 안 한다. 알만한 사람들이 들락거리기 때문에 믿었던 다음 GIS 동호회에 올린 것은 실수였지 싶어 마음을 바꿨다.

다나와와 클리앙에 게시물을 새로 올렸다. 2시간이 안 되어 원하던 대로 7만원에 팔라는 메시지가 왔다. 직거래였다면 6만5천원에 해줬을 것이다. 택배 우송료 때문에 5천원을 더 붙였던 것이다. 말 안해도 매뉴얼 깨끗이 프린트해 제본해 주고, 새로 만든 자작 시리얼 케이블(싯가 30$ 가량) 포함하고, GPS에 새 알칼라인 전지 2개를 넣어주었다.

중고 판매할 때 여러 시간에 걸쳐 전 기능을 테스트하고 깨끗이 닦고 잘 포장해서 내가 택배비를 내서 보내준다. 여태까지 그래왔다. 심지어 엊그제 중고 보드를 업자에게 판매할 때도 그랬다. 단순히 닦는 수준이 아니라 정비 수준이다. CPU팬에 방열그리스도 새로 칠했다. 가져가니 업자가 새 보드냐고 물을 정도였다.

어쨌든 목숨을 여러 번 살려줬고 오랜 시간을 함께 보낸 GPS를 새 보드를 사기 위해 처분했다. 마누라 말마따나 내가 사람에게 정을 잘 주지 않는 것처럼, 기계에게도 정을 주지 않았다. 정산이 있을 따름이다:
  • GPS 7만원에 판매
  • 구형 보드,CPU single 3000,RAM(1GB PC3200) 5만 1원에 판매
  • 새 보드, CPU dual 4200, RAM(2GB PC6400) 15만 6천원에 구입
평가: 선방한 한 주.
,

Clan, Clave, RPG

잡기 2008. 2. 14. 23:58
설날 처가집에 내려갔다가 처음 보는 친척이 제대로 인사해야 한다며 복날 개 잡을 때 쓰임직한 '야외 큰 솥 세트'에서 밧줄을 꺼내 내 발목을 묶어 매달았다. 마누라는 자기와는 상관없다며 옆 방에서 희희낙낙 놀고 있었다. 아이가 울고 장모님이 화를 내서 발목에 심한 멍이 들기 전에 끝났다. 화가 나거나 기분 나쁘지는 않았다. 발목이 조금 까졌다.

진중권 "숭례문이 불우이웃이냐? -- 그러게 말이다.

마누라와 아이가 소리를 꽥꽥 지르며 비이성적인 언쟁을 할 때는 흡사 원숭이 행성에 있는듯한 기분이 들었다. 마누라가 아이 다루는 거에 큰 불만은 없지만, 아이를 혼낸다고 어둠 속에  울게 내버려 두는 것이나 먹기 싫은 음식을 억지로 먹이는 것은 좋은 방법으로 여겨지지 않는다. 전자는 아이 대뇌피질이 아직 덜 발달되어 있는데다 자기가 무슨 잘못을 했는지 알 수 없으니 어둠과 분리는 소뇌에 깊숙이 짱박히는 공포로 프로그래밍 되어 장기간 영향력을 행사할 것 같기 때문(경험에 비춰볼 때 그런 종류의 공포를 극복하기 위해 장기간의 의식적인 노력이 필요했다).

후자는 그런 때문에 아이의 개성이 현저하게 발달되어 버렸다. 벌써부터 의사 표현이 분명하다. 애비를 닮아서 그렇다는 얘기는 무의미하다. 이럴 때 빠지지 않고 나오는 일란성 쌍둥이 실험(?)에 따르면, 동일 유전자를 공유하는 두 아이의 성격은 각각 다르다. 개성은 유전되지 않는다가 요지다.

처가에서 KTX 입석을 타고 서울로 올라와 이틀쯤 잠을 푹 잤다. 마누라, 놀아달라고 울먹이는 애가 없으니까 푹 자고 푹 쉬게 된다. 몇 주 만에 잘 쉬었다는 기분이 들었다.

편안히 의자에 앉아 하릴없이 드라마를 보는데, 갑자기 화면이 지지직 거리며 컴퓨터가 맛이 갔다. 살펴보니 그래픽 카드의 캐패시터가 터졌다. 노트북으로 pc에 접속해보니 그래픽 카드만 고장 났을 뿐, pc는 정상 동작한다. 그래픽 카드를 갈아 끼웠지만 왠지 찜찜하다. 그래픽 카드를 새로 장만할 돈이면 메인보드와 cpu를 교체하고 내장 그래픽 카드를 사용하는게 낫겠다. 돈 깨지는 소리가 들린다.

일단 불편한대로 노트북에 스피커를 연결해 관람을 계속했다.

황금 나침반 - 원작과 비교하면, 내용을 그럭저럭 잘 살린 편. 다소 불만은 앞부분 20분을 적당히 잘라버리고 마녀, 짚시, 아이스베어 등의 주변부에 좀 더 할애하는게 낫지 않았을까 싶은데 감독 생각에는 풀먼의 원작 1편에 등장하는 방대한 내용을 주마간산 격으로 읆다가 조지는 것보다는 낫다고 판단한 듯.

주인공 여자애의 인상이 너무 강해(잘한 캐스팅이지만) 스토리에 강한 양념이 된 것 같다. 풀먼의 소설을 처음 보았을 때는(전 3권을 거의 6년에 걸쳐 읽은 셈) 애들 보는 동화도 아니고 성인소설도 아닌 아주 애매한 영역의 소설 부류라 생각했는데 해리 포터를 들춰 보다가 요즘 아이들의 독서 능력(이해력)을 과소평가했구나 하고 반성한 기억이 난다. 내 경우 중학교 졸업할 때까지, 헨리5세나 주홍글씨, 제인 에어의 배경을 전혀 이해하지 못했다.

주여, 스스로를 속일 만큼의 지능이 있는 젊은이를 (전쟁터로) 보내주십쇼. Space: Above & Beyond의 한 장면. 주인공들은 극이 다 끝나갈 때까지 별로 군바리처럼 보이지 않을 뿐더러 스스로를 속일 만큼의 지능은 없어 보인다. 해병대라기 보다는 special ops쯤 되는 병사들이지 싶은데, 편대 비행 소대 인원도 아닌 것 같고, op 1, demo 1, comm 1, armo 1 이런 유닛도 아니고 a team 처럼 9명도 아니고 13명도 아닌 좀 이상한 구성의 팀원들.

설날 연휴 동안 어쩌다 우연히 발견해서 보기 시작. 첫 편의 10여분을 보고 다음 편은 안 봐도 되겠다 싶었는데, 1시간 30분 중 40분 동안 우주 전투를 메들리로 보여주는 괴력에 감탄해서 2편, 3편 살금살금 보다가... 끝까지 봤다.

chig인지 chicken인지 하는 외계인 종족은 시체를 두려워해서 적을 살해한 후 분해한다. 무덤까지 파헤쳐서 신체를 조각내야 안심한다.

chig라는 외계인과 박터지게 싸우는 스페이스 오페라(장장 23편 중 신파극 몇 편을 제외하고 처음부터 끝까지 줄기차게 싸워댄다). 배틀스타 갤럭티카와 비슷한 포맷인데 나온지 오래되어 CG는 구질구질하고 캐릭터도 그저 그랬지만 주관적으로 업계 최저(최악) 수준인 SG, BG 보다 좀 사정이 나았다. 특히 BG는 회를 거듭할수록 훌륭한 연출에도 불구하고 정신나간 시나리오에 맞장구치는 한심한 내면연기와 정신분열 과학자, 스타벅이란 년이 감정 연기 하거나 술 처먹고 주정 부리는 종류의 수작 빼고는 진전이란게 도무지 보이질 않는 쓰레기 중에 왕쓰레기 라고 확신하게 되었다.

우주선이 참 정이 안 가게 생겼고, 캐릭터도 낙제점 부근에서 오락가락 하는 사정에  사운드는 재앙에 가까울 정도로 촌스럽다. 여기 등장하는 주인공 해병 다섯은 의전 에스콧 서비스부터 공수여단식 강습, 침투/정찰, 초능력 사용, 심지어 전투기도 모는 등 여러가지 하는 수퍼맨들이다. 그래서 제목도 종횡무진(space above & beyond)이다. 타이틀 나레이션에서 '부르기만 하면 우주,땅, 바다 어디든 달려가 싸운다'고 말씀하셔서 의문의 여지를 없앴다. 그거면 됐다.

CGI는 1995년임을 감안하면 그럭저럭 볼만하지만 전반적으로 극화가 하도 촌스러워 보고 있으면 눈물이 주르륵 흘러내릴 지경이지만, '재밌어서 번역했다'는 자막의 부연처럼, 재밌다!
 
생각나서 적어둠: 얼마 전에 읽은 John Ringo의 Hymn before battle는 대체로 황당했다. 군 편제에 관해 잘 모르는 관계로 계급장 따먹기 놀이 하는 동안 엄청 헤멨지만 애로가 꽃피는 군 생활과 개떼처럼 몰려드는 외계인과의 전투씬이 섞였다. 여러가지로 괴상한 외계종족들이 등장하고 평화를 너무 사랑한 나머지 전쟁을 벌이기 보단 멸종의 길을 택한 다른 외계종족들을 위해, 흡사 자유주의를 수호한답시고 실은 앵벌이하러 베트남에 팔려간 한국군처럼 대리전을 치룬다. 곧 외계인들이 쳐들어 올 지구는 준비가 안되었고 동맹외계종족은 외상으로 찔끔찔끔 무기를 빌려줬다(그 외계종족은 채식주의자들이라는데 이빨이 튼실했고 협상중인 지구인을 종종 잡아먹는듯). 일찌감치 '준비되어 있던' SF작가들을 그러모아 외계전을 준비하고 지구에서 소집된 베테랑 군인들은 팬저 그래네이더 따위로 적의 레이저포와 싸우다가 파견군의 80%가 전사했다. 적군은 수백만 단위로 중공군처럼 밀려온다. 지상전에서 죽음의 규모가 참, 장쾌하다. 시종일관 아머드 수트가 맹활약을 하고 마지막이 맹숭맹숭하게 끝나 이상했는데 시리즈물인가 보다. 더 봐야될지 모르겠다.  하지만 이런 종류의 평범한 미드티어 매니저들이 날뛰는 얘기를 좋아하지 않았던가?

Space: Above and Beyond
S:AAB의 장면; black forest(공중 지원 없음), red sea(추가 지상 병력 지원 없음) 이란 무선을 받고 어안이 벙벙해서 멍한 표정을 짓고 있는 58소대원들. 10주 동안 굶주린 채 쫓겨다니던 25000명의 해병대 중 23000명이 이 행성 탈환전에서 사망.

Space: Above and Beyond
마지막 장면. 전세가 역전되었던 과달카날에 비유되는 스윙해머 작전 D-1(시리즈 전체에 걸쳐 수많은 전쟁사가 나열되는게 어지간한 전쟁사오타쿠(밀리 오타쿠하고는 다름)가 각본을 잡은 듯). S:AAB 역시 저주받은 컬트 시리즈가 되어 버렸다. 1995년부터 1996년까지 대략 1년 동안 1기가 폭스TV를 통해 방영되었는데 수퍼볼 따위에 밀려 시청율이 형편없어 원래 계획했던 5시즌 분량의 드라마는 달랑 1기로 마무리되었다. 13년이 지난 지금까지 2기 제작 루머가 회자될 정도로 일부 팬들에게 인기가 있지만 제작자 둘은 저작권을 포기했고 2기 제작은 영원히 이뤄지지 않을 전망. 5기까지 너끈히 나올만한 구성인데 아쉽다. 장면 좌측은 Invitro라 불리는 AI전 때 만들어진 클론 닭대가리. 둘을 제외한 소대원 전멸.

설날 연휴가 끝나자 마자 정신없이 바빠졌다. 책 읽을 시간도 없고 회의에 쫓아다니며 설계서 따위를 작성하다 보니 하루가 어떻게 가는지 모르겠다. 날더러 50살 되서도 프로그램 짜겠냐고 묻는다. 아마도 필드 프로그래밍을 접더라도 설계서는 작성하지 않을까?

GPS의 지도 데이터를 구하기 위해 꽤 애썼지만 성과는 아직 보잘 것 없다. 한국에서는 구할 수 없는(엄청 돈이 드는) DEM 지도를 NASA에서 구했다. 도로 선도, routable path, 폴리곤, POI따위를 어떻게 입수할 수 있으면 GPS용 지도를 만들어 볼텐데... 인터넷을 돌아다녀 보니 취미생활로 디지털 지도 제작하는 사람들이 꽤 많았다. 이김에 디지탈 대동여지도를... -_-;



,

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
,