EXIF 정보
디지털 카메라로 찍은 사진파일에는 메타정보(EXIF)가 포함되어 있습니다. 사진의 EXIF 정보는 사진의 촬영시간 및 사진촬영기기와 촬영시 카메라의 설정 사항, 컬러 조정에 관련된 내용 등이 포함되어 있습니다. 이외에도 사용자가 사진에 대한 설명 저작권등을 포함시킬수도 있으며, GPS 와 관련하여 사진촬영당시의 위치정보와 GPS 시간 등의 기록이 가능합니다.
이러한 EXIF 정보는 사진에 대한 다양한 정보를 저장하고 있고 저장할 수 있고 사진과 함께 통합하여 관리할 수 있다는 장점이 있으나 이를 읽고 적기 위해서는 별도의 프로그램이 필요합니다. 특히 GPS 관련 정보는 일부 카메라에서 지원하고 있으나 별도의 추가적인 장비가 필요합니다. 하지만 GPS 기기를 갖고 있는 경우라면 별도로 이러한 장비를 사야할 필요가 있을 까요? -_-;;; 제 생각엔 없을 거 같은데요..
프로그램 개발
GPS 관련 정보가 사진에 포함된 경우 이를 지도의 위치와 관련하여 관리할 수 있는데 몇몇 관련 프로그램 들이 나와 있으나 사진이 많은 경우 처리속도가 매우 느리고 인터넷을 이용해야만 하는 불편한 점들이 있습니다. 아마도 앞으로 다양한 방법으로 관리할 수 있는 방법이 제공되리라고 생각되지만 GoogleEarth 와 같은 프로그램에서 관리를 할 수 있다면 좋을 것입니다. 특히나 여기 저기 많이 돌아 다니는 출장에서 사진을 많이 찍어 왔다면 어디서 찍은 것인지 헷갈리게 되는 경우가 많습니다. 이러한 점을 보완하기 위해 이 프로그램을 만들게 되었습니다.
이에 사진의 GPS 정보를 이용하여 KML 파일로 자동 제작하여 사진자료를 GoogleEarth 에서 위치별로 조회할 수 있도록 해주는 프로그램을 만들게 되었습니다. 이것은 현장조사 자료의 정리 및 관리 등에 활용하기 위함입니다.
현재 개발된 프로그램에는 네가지 기능이 포함되어 있습니다.
- 첫번째 기능은 사진의 시각을 조정하는 기능입니다. 사진촬영시 카메라의 시각을 GPS와 정확히 일치시키지 않으면 이후 GPS 자료를 이용하여 위치정보를 추적할 때 잘못된 위치를 추적할 수 있습니다. 만약 사진 촬영이후 이러한 사실을 발견하게 된다면 사진의 촬영시각이 모두 잘못되었다는 것을 알게 된 것이고 따라서 정확한 시각으로 수정해 주어야 할 것입니다. 이에 프로그램에서는 GPS 시각(GPS위성의 원자시계로 부터 수신되는 정확한 시각)과 카메라 시각의 차이를 보정해주는 기능을 포함하였습니다. 윈도우즈 XP 이상의 버젼에서는 컴퓨터 시각을 정확하게 유지해 주는 기능이 있으므로 GPS 시각의 기준은 컴퓨터 시각으로 합니다. 물론 차이가 있을 경우 약간의 수정이 가능합니다. 그리고 카메라의 시각과의 차이를 이용하여 선택된 사진을 보완하여 새로운 디렉토리에 저장합니다.
- 두번째 기능은 GPS 로그를 이용하여 사진의 위치정보를 추적하는 기능입니다. 대부분의 GPS 기기에는 GPS에서 수신된 내용을 그대록 로그로 기록할 수 있는 기능 들을 갖고 있습니다. 대부분의 GPS 로그는 NMEA 포맷을 따르고 있으므로 NMEA 포맷을 준수하는 GPS 의 로그라면 모두 사용이 가능합니다. 따라서 별도의 카메라용 GPS 기기의 로그를 사용하실 필요는 없습니다. 단 $GPRMC 코드가 제공되어야 합니다. 이는 현재 버젼에서는 $GPRMC 레코드만을 분석하여 사용하기 때문입니다. 파일을 열어서 $GPRMC 로 시작하는 라인이 존재하는지 확인해 보십시오.. ^^ 존재하고 있고 적절한 값들이 포함되어 있다면 사용이 가능합니다.
GPS 로그에 의한 사진의 위치추적은 사진이 촬영된 시각과 가장 가까운 GPS 로그기록을 선택하여 해당 위치를 사진의 위치로 선택하는 방법을 사용하고 있습니다. 이에 기록된 로그와 1분 이상의 시간 차이가 난다면 사진을 촬영한 위치를 결정할 수 없게 됩니다. 사진과 GPS 기록에 의한 시간 차이는 위치 결정결과로 나타나는 메시지들을 참조하십시오.
위치를 찾는 방법은 이후 더 좋은 알고리즘이 있다면 보완해 나갈 것입니다.
- 세번째 기능은 사진에 포함된 GPS 정보를 이용하여 GoogleEarth에서 읽을 수 있는 KML 파일 형태로 만들어주는 것입니다. 만들어진 KML 파일을 GoogleEarth에서 읽어 들일 경우 지도위에 사진을 촬영한 지점들이 나타나며, 촬영지점을 클릭하면 해당 지점에서 촬영한 사진이 풍선도움말 형태로 나타납니다. KML 파일을 생성할 때 사진과 KML 파일이 동일한 디렉토리에 있다면 사진의 상대위치가 KML 파일에 기록됩니다. 하지만 사진과 KML 파일이 동일한 디렉토리에 존재하지 않는다면 KML 파일에는 사진의 절대위치가 기록됩니다. 이에 디렉토리의 변경 등에 의해 제대로 작동하지 않을 수도 있습니다. 그러한 경우 KML 파일을 새로 만들어주십시오.
- 네번째 기능은 사진에 포함된 GPS 정보를 텍스트 파일로 추출하는 기능입니다. 현장 출장 결과 등을 보고서에 포함해야 할 때나 구글어스가 아닌 다른 GIS 프로그램 상에 이들을 표시해야 할 경우 유용합니다.
프로그램은 닷넷2.0을 기반으로 작성되었으며, ClickOnece 배포기능을 이용해 배포됩니다. 따라서 인터넷을 통해 설치가 가능하고 인터넷을 통한 자동업데이트 기능을 내장하고 있어 인터넷에 연결되어 있는 한 언제나 최신 버젼을 설치하여 사용할 수 있습니다.
향후 계획
향후 필요한 기능들에 관련된 아이디어를 수집하여 조금씩 보완해 나갈 계획입니다.
현재까지 소스에 대한 별도의 공개 계획은 없습니다. 아직은 좀 지저분해 보이는 군요. 좀 깔끔해지면 공개할 마음이 생길지도 모르겠습니다. 추가적으로 필요한 내용들을 댓글로 달아주시면 시간이 날 때 좀 추가해 볼까요...=_= ;;
프로그램 라이센스
해당 프로그램에 대한 모든 권리는 제작자에게 있습니다.
공개된 버젼에 대해서 상업적인 이용이 아니라면 누구나 설치하여 사용할 수 있습니다.
상업적인 이용에 대해서는 저작권자 및 저작기관과 별도의 협의가 있어야 합니다.
프로그램 사용으로 인해 발생하는 금전적인 손실이나 보상에 대해 제작자에게 책임을 물을 수 없습니다.
프로그램 배포 및 설치
다음 링크를 통해 사용자의 컴퓨터에 프로그램 설치할 수 있습니다.
별도의 CD나 패키지 형태의 설치는 지원하지 않습니다.
프로그램의 구동을 위해서는 닷넷2.0이 설치되어 있어야 합니다. 만약 사용자의 컴퓨터에 닷넷2.0이 설치되지 않았다면 설치페이지에서 닷넷2.0을 설치할 수 있는 페이지를 안내할 것입니다. 설치 버튼을 누른 후 안내하시는 대로 따라 하시면 됩니다.
프로그램 설치로 바로가기
게시된 내용은 프로그램 개발 진행상황에 따라 바뀔 수 있습니다.
혹시나 관련된 문의 사항은 댓글로 달아주시길...
판올림 내용
1.0.0.13(2008/02/07)
- GeoTagging 되어 있는 사진들의 좌표 목록 파일 작성기능 추가
- 급히 작성하여 추가하였기 때문에 도움말파일은 수정되지 않았습니다.
1.0.0.12 (2007/07/24)
- 간단한 도움말 파일에 Mappy GPS 데이터 로깅 방법 추가
- Gps 위치 Exif 속성 보강
경도와 위도에 대해 동경, 서경, 북위, 남위 등의 속성 추가 기록
GpsExif 버젼 설정 2,0,0,0
- 전역 속성으로 Copyrights 구문을 설정 할 수 있도록 도움말 내에 옵션 설정 부분 추가
Copyrights를 자동으로 넣으면 좋겠다는 의견을 반영해 보았습니다.
옵션에 설정해 두시면 GPS 위치 속성을 넣을 때 자동으로 Copyrights 부분에 문자열이 추가됩니다.
- 일부 클래스에서 널 문자열 파싱시에 발생되던 오류 수정
※ 차기 버젼 준비중이라 판올림이 늦습니다. -_-;; 지송..
그래두 문제 있는 부분은 알려주시면 바로 수정들어 갑니다.
추가되어야 할 내용들은 다음 버젼으로.. 토스.. 하구요..--;;
1.0.0.11 (2007/07/16)
- 간단한 도움말 파일 추가
관련된 정보를 조금 모아서 도움말 파일로 만들어서 추가합니당. ^^;;
1.0.0.10 (2007/07/11)
- GPS 로깅 내용이 없을 때 강제 설정시 모두 최초위치로 기록되는 오류 수정
이후시간일 경우 마지막 로깅위치로 기록
- Exif 정보가 없는 사진에 대해 위치설정할 경우 발생하는 오류 처리 수정
1.0.0.9 (2007/07/10)
- GPS 가동 초기시간에 로깅이 없는 경우 사진위치를 GPS 로깅 최초위치로 강제 설정 기능 추가
- 작업도중 창을 닫더라도 계속 작업이 진행되던 오류 수정
- 사진촬영시각 교정 메뉴를 이해하기 쉽도록 수정
- 사진촬영시각 교정 중 Dizitized 시각도 같이 수정되도록 변경
1.0.0.8 (2007/07/10)
- 시간 오차 보정시 입력되는 시간차와 반대로 사진시각이 기록되던 부분을 수정
- 작업로그 저장기능 추가
1.0.0.7 (2007/07/09)
- 시간 오차 보정시 분단위 오차 보정이 안되던 부분 수정
- EXIF 정보 엑세스 속도 개선
(KML 만들기의 경우 기존의 약 10배 이상(?)의 속도로 작업) 해보면 압니다... -_-;;
1.0.0.6 (2007/07/08)
- 카메라 시간의 오차를 사후에 보정해 줄 수 있는 기능 개발
- 작업 중 화면의 깜박임 줄임(더블버퍼링 사용)
- KML에서 사진촬영일시가 잘못나오던 오류 수정
(DateTime 정보를 사용하던 것을 DTorg 정보를 사용하도록 함) DateTime은 파일 생성시각 같은 거네요..-_-;;
1.0.0.5 (2007/07/07)
- GPS 로그 파일을 확인하여 사진에 GPS 위치 기록을 추가시킬 수 있는 기능 개발
- 개별 클래스들의 이름 및 네임 스페이스 조정
- 작업중 메모리 사용량이 계속 증가하던 것을 증가하지 않도록 수정
1.0.0.4 (2007/07/06)
- 버튼 방식에서 메뉴 방식으로 인터페이스 개선
- 배포에 사용되던 테스트인증서를 한국건설기술연구원 수자원연구부 사설인증서로 교체
1.0.0.3 (2007/07/05)
- 작업 도중 다른 부분의 기능이 중지되는 부분 개선
1.0.0.2 (2007/07/04)
- KML 내 이미지 파일 디렉토리 설정 오류 부분 수정
1.0.0.0 (2007/07/03)
- 사진의 GPS 정보를 이용하여 KML 파일을 만들어 주는 기능 개발
EXIF 정보
디지털 카메라로 찍은 사진파일에는 메타정보(EXIF)가 포함되어 있습니다. 사진의 EXIF 정보는 사진의 촬영시간 및 사진촬영기기와 촬영시 카메라의 설정 사항, 컬러 조정에 관련된 내용 등이 포함되어 있습니다. 이외에도 사용자가 사진에 대한 설명 저작권등을 포함시킬수도 있으며, GPS 와 관련하여 사진촬영당시의 위치정보와 GPS 시간 등의 기록이 가능합니다.
이러한 EXIF 정보는 사진에 대한 다양한 정보를 저장하고 있고 저장할 수 있고 사진과 함께 통합하여 관리할 수 있다는 장점이 있으나 이를 읽고 적기 위해서는 별도의 프로그램이 필요합니다. 특히 GPS 관련 정보는 일부 카메라에서 지원하고 있으나 별도의 추가적인 장비가 필요합니다. 하지만 GPS 기기를 갖고 있는 경우라면 별도로 이러한 장비를 사야할 필요가 있을 까요? -_-;;; 제 생각엔 없을 거 같은데요..
프로그램 개발
GPS 관련 정보가 사진에 포함된 경우 이를 지도의 위치와 관련하여 관리할 수 있는데 몇몇 관련 프로그램 들이 나와 있으나 사진이 많은 경우 처리속도가 매우 느리고 인터넷을 이용해야만 하는 불편한 점들이 있습니다. 아마도 앞으로 다양한 방법으로 관리할 수 있는 방법이 제공되리라고 생각되지만 GoogleEarth 와 같은 프로그램에서 관리를 할 수 있다면 좋을 것입니다. 특히나 여기 저기 많이 돌아 다니는 출장에서 사진을 많이 찍어 왔다면 어디서 찍은 것인지 헷갈리게 되는 경우가 많습니다. 이러한 점을 보완하기 위해 이 프로그램을 만들게 되었습니다.
이에 사진의 GPS 정보를 이용하여 KML 파일로 자동 제작하여 사진자료를 GoogleEarth 에서 위치별로 조회할 수 있도록 해주는 프로그램을 만들게 되었습니다. 이것은 현장조사 자료의 정리 및 관리 등에 활용하기 위함입니다.
현재 개발된 프로그램에는 네가지 기능이 포함되어 있습니다.
- 첫번째 기능은 사진의 시각을 조정하는 기능입니다. 사진촬영시 카메라의 시각을 GPS와 정확히 일치시키지 않으면 이후 GPS 자료를 이용하여 위치정보를 추적할 때 잘못된 위치를 추적할 수 있습니다. 만약 사진 촬영이후 이러한 사실을 발견하게 된다면 사진의 촬영시각이 모두 잘못되었다는 것을 알게 된 것이고 따라서 정확한 시각으로 수정해 주어야 할 것입니다. 이에 프로그램에서는 GPS 시각(GPS위성의 원자시계로 부터 수신되는 정확한 시각)과 카메라 시각의 차이를 보정해주는 기능을 포함하였습니다. 윈도우즈 XP 이상의 버젼에서는 컴퓨터 시각을 정확하게 유지해 주는 기능이 있으므로 GPS 시각의 기준은 컴퓨터 시각으로 합니다. 물론 차이가 있을 경우 약간의 수정이 가능합니다. 그리고 카메라의 시각과의 차이를 이용하여 선택된 사진을 보완하여 새로운 디렉토리에 저장합니다.
- 두번째 기능은 GPS 로그를 이용하여 사진의 위치정보를 추적하는 기능입니다. 대부분의 GPS 기기에는 GPS에서 수신된 내용을 그대록 로그로 기록할 수 있는 기능 들을 갖고 있습니다. 대부분의 GPS 로그는 NMEA 포맷을 따르고 있으므로 NMEA 포맷을 준수하는 GPS 의 로그라면 모두 사용이 가능합니다. 따라서 별도의 카메라용 GPS 기기의 로그를 사용하실 필요는 없습니다. 단 $GPRMC 코드가 제공되어야 합니다. 이는 현재 버젼에서는 $GPRMC 레코드만을 분석하여 사용하기 때문입니다. 파일을 열어서 $GPRMC 로 시작하는 라인이 존재하는지 확인해 보십시오.. ^^ 존재하고 있고 적절한 값들이 포함되어 있다면 사용이 가능합니다.
GPS 로그에 의한 사진의 위치추적은 사진이 촬영된 시각과 가장 가까운 GPS 로그기록을 선택하여 해당 위치를 사진의 위치로 선택하는 방법을 사용하고 있습니다. 이에 기록된 로그와 1분 이상의 시간 차이가 난다면 사진을 촬영한 위치를 결정할 수 없게 됩니다. 사진과 GPS 기록에 의한 시간 차이는 위치 결정결과로 나타나는 메시지들을 참조하십시오.
위치를 찾는 방법은 이후 더 좋은 알고리즘이 있다면 보완해 나갈 것입니다.
- 세번째 기능은 사진에 포함된 GPS 정보를 이용하여 GoogleEarth에서 읽을 수 있는 KML 파일 형태로 만들어주는 것입니다. 만들어진 KML 파일을 GoogleEarth에서 읽어 들일 경우 지도위에 사진을 촬영한 지점들이 나타나며, 촬영지점을 클릭하면 해당 지점에서 촬영한 사진이 풍선도움말 형태로 나타납니다. KML 파일을 생성할 때 사진과 KML 파일이 동일한 디렉토리에 있다면 사진의 상대위치가 KML 파일에 기록됩니다. 하지만 사진과 KML 파일이 동일한 디렉토리에 존재하지 않는다면 KML 파일에는 사진의 절대위치가 기록됩니다. 이에 디렉토리의 변경 등에 의해 제대로 작동하지 않을 수도 있습니다. 그러한 경우 KML 파일을 새로 만들어주십시오.
- 네번째 기능은 사진에 포함된 GPS 정보를 텍스트 파일로 추출하는 기능입니다. 현장 출장 결과 등을 보고서에 포함해야 할 때나 구글어스가 아닌 다른 GIS 프로그램 상에 이들을 표시해야 할 경우 유용합니다.
프로그램은 닷넷2.0을 기반으로 작성되었으며, ClickOnece 배포기능을 이용해 배포됩니다. 따라서 인터넷을 통해 설치가 가능하고 인터넷을 통한 자동업데이트 기능을 내장하고 있어 인터넷에 연결되어 있는 한 언제나 최신 버젼을 설치하여 사용할 수 있습니다.
향후 계획
향후 필요한 기능들에 관련된 아이디어를 수집하여 조금씩 보완해 나갈 계획입니다.
현재까지 소스에 대한 별도의 공개 계획은 없습니다. 아직은 좀 지저분해 보이는 군요. 좀 깔끔해지면 공개할 마음이 생길지도 모르겠습니다. 추가적으로 필요한 내용들을 댓글로 달아주시면 시간이 날 때 좀 추가해 볼까요...=_= ;;
프로그램 라이센스
해당 프로그램에 대한 모든 권리는 제작자에게 있습니다.
공개된 버젼에 대해서 상업적인 이용이 아니라면 누구나 설치하여 사용할 수 있습니다.
상업적인 이용에 대해서는 저작권자 및 저작기관과 별도의 협의가 있어야 합니다.
프로그램 사용으로 인해 발생하는 금전적인 손실이나 보상에 대해 제작자에게 책임을 물을 수 없습니다.
프로그램 배포 및 설치
다음 링크를 통해 사용자의 컴퓨터에 프로그램 설치할 수 있습니다.
별도의 CD나 패키지 형태의 설치는 지원하지 않습니다.
프로그램의 구동을 위해서는 닷넷2.0이 설치되어 있어야 합니다. 만약 사용자의 컴퓨터에 닷넷2.0이 설치되지 않았다면 설치페이지에서 닷넷2.0을 설치할 수 있는 페이지를 안내할 것입니다. 설치 버튼을 누른 후 안내하시는 대로 따라 하시면 됩니다.
프로그램 설치로 바로가기
게시된 내용은 프로그램 개발 진행상황에 따라 바뀔 수 있습니다.
혹시나 관련된 문의 사항은 댓글로 달아주시길...
판올림 내용
1.0.0.13(2008/02/07)
- GeoTagging 되어 있는 사진들의 좌표 목록 파일 작성기능 추가
- 급히 작성하여 추가하였기 때문에 도움말파일은 수정되지 않았습니다.
1.0.0.12 (2007/07/24)
- 간단한 도움말 파일에 Mappy GPS 데이터 로깅 방법 추가
- Gps 위치 Exif 속성 보강
경도와 위도에 대해 동경, 서경, 북위, 남위 등의 속성 추가 기록
GpsExif 버젼 설정 2,0,0,0
- 전역 속성으로 Copyrights 구문을 설정 할 수 있도록 도움말 내에 옵션 설정 부분 추가
Copyrights를 자동으로 넣으면 좋겠다는 의견을 반영해 보았습니다.
옵션에 설정해 두시면 GPS 위치 속성을 넣을 때 자동으로 Copyrights 부분에 문자열이 추가됩니다.
- 일부 클래스에서 널 문자열 파싱시에 발생되던 오류 수정
※ 차기 버젼 준비중이라 판올림이 늦습니다. -_-;; 지송..
그래두 문제 있는 부분은 알려주시면 바로 수정들어 갑니다.
추가되어야 할 내용들은 다음 버젼으로.. 토스.. 하구요..--;;
1.0.0.11 (2007/07/16)
- 간단한 도움말 파일 추가
관련된 정보를 조금 모아서 도움말 파일로 만들어서 추가합니당. ^^;;
1.0.0.10 (2007/07/11)
- GPS 로깅 내용이 없을 때 강제 설정시 모두 최초위치로 기록되는 오류 수정
이후시간일 경우 마지막 로깅위치로 기록
- Exif 정보가 없는 사진에 대해 위치설정할 경우 발생하는 오류 처리 수정
1.0.0.9 (2007/07/10)
- GPS 가동 초기시간에 로깅이 없는 경우 사진위치를 GPS 로깅 최초위치로 강제 설정 기능 추가
- 작업도중 창을 닫더라도 계속 작업이 진행되던 오류 수정
- 사진촬영시각 교정 메뉴를 이해하기 쉽도록 수정
- 사진촬영시각 교정 중 Dizitized 시각도 같이 수정되도록 변경
1.0.0.8 (2007/07/10)
- 시간 오차 보정시 입력되는 시간차와 반대로 사진시각이 기록되던 부분을 수정
- 작업로그 저장기능 추가
1.0.0.7 (2007/07/09)
- 시간 오차 보정시 분단위 오차 보정이 안되던 부분 수정
- EXIF 정보 엑세스 속도 개선
(KML 만들기의 경우 기존의 약 10배 이상(?)의 속도로 작업) 해보면 압니다... -_-;;
1.0.0.6 (2007/07/08)
- 카메라 시간의 오차를 사후에 보정해 줄 수 있는 기능 개발
- 작업 중 화면의 깜박임 줄임(더블버퍼링 사용)
- KML에서 사진촬영일시가 잘못나오던 오류 수정
(DateTime 정보를 사용하던 것을 DTorg 정보를 사용하도록 함) DateTime은 파일 생성시각 같은 거네요..-_-;;
1.0.0.5 (2007/07/07)
- GPS 로그 파일을 확인하여 사진에 GPS 위치 기록을 추가시킬 수 있는 기능 개발
- 개별 클래스들의 이름 및 네임 스페이스 조정
- 작업중 메모리 사용량이 계속 증가하던 것을 증가하지 않도록 수정
1.0.0.4 (2007/07/06)
- 버튼 방식에서 메뉴 방식으로 인터페이스 개선
- 배포에 사용되던 테스트인증서를 한국건설기술연구원 수자원연구부 사설인증서로 교체
1.0.0.3 (2007/07/05)
- 작업 도중 다른 부분의 기능이 중지되는 부분 개선
1.0.0.2 (2007/07/04)
- KML 내 이미지 파일 디렉토리 설정 오류 부분 수정
1.0.0.0 (2007/07/03)
- 사진의 GPS 정보를 이용하여 KML 파일을 만들어 주는 기능 개발
'dev, tech > navigation' 카테고리의 다른 글
NMEA-0183을 이용한 GPS 애플리케이션 제작 (0) | 2008.09.01 |
---|---|
자작 GPS 동체추적프로그램 (0) | 2008.09.01 |
GPS Track분석은 무슨 프로그램으로....... (0) | 2008.09.01 |
맵 매쉬업관련 사이트 - 플래시 위주 (0) | 2008.09.01 |
GPS 데이터 구글맵 연동 (0) | 2008.09.01 |
댓글