[分享] MyGeoPhotos - 為照片標記地理座標

歡迎測試,前往下載網頁

開發緣由:我擁有一顆 Sony GPS-CS1 的 GPS 軌跡紀錄器,但是它內附的軟體無法處理照相機的 RAW 圖形檔案,幸好網路上有一些免費工具可以利用:GpsBabel 可以將 NMEA 0183 規格的軌跡轉檔為 GPX 格式;ExifTool 可以處理 RAW 圖形檔案的 EXIF 等 metadata。所以我(為自己)設計了 MyGeoPhotos,它提供一個圖形介面,讓使用者能輕鬆運用這些免費工具來標記照片的地理座標。

這樣一來我的照相工作流程就可以:
  1. 帶著 GPS 軌跡紀錄器出外拍照
  2. 回家用 MyGeoPhotos 匯入 GPS 軌跡
  3. 用 MyGeoPhotos 匯入 RAW 照片,自動標記座標
  4. 用 MyGeoPhotos 手動標記沒有對應到座標的照片 (因為可能是在室內照了這些照片,沒有衛星訊號)
  5. 將 RAW 檔案匯入 Lightroom,編輯圖檔。也可以輸入 Title 及 Caption。
  6. Lightroom 匯出包含地理位置的 JPEG 圖檔。
  7. 用 MyGeoPhotos 製作 KML / KMZ 檔案,留下回憶。

主要功能
  • 匯入 GPS 軌跡檔:從 GPS 記憶裝置搬移軌跡檔到本機,並轉換格式 (可以自訂使用 GpsBabel 支援的格式)。

  • 匯入照片:從記憶卡複製照片到硬碟,並且依照 GPS 軌跡 (必須是 GPX 規格) 自動標記地理座標。

  • 自動標記照片地理座標:依照片拍攝時間,對應到 GPS 軌跡檔的內容 (必須是 GPX 規格) ,標記地理座標於照片的 EXIF 資料。

  • 手動標記照片地理座標:可以手動輸入照片的地理座標;或是使用其他照片的地理座標;或是使用 Google 地球取得座標。

  • 支援 RAW 檔案:借助 ExifTool 的能力,MyGeoPhotos 可以處理 Nikon 及 Canon 的 RAW 檔案及Adobe DNG。(當然還包含 JPEG / TIFF / PSD 等圖檔格式)

  • 匯出照片的 KML 檔案:將有標記地理座標的照片匯出一個 KML 檔案,以便用 Google Earth 瀏覽照片。

  • 匯出照片的 KMZ 檔案:將有標記地理座標的照片匯出一個 KMZ 檔案 (包含照片的圖示與縮圖),以便寄送給其他人用 Google Earth 瀏覽照片。

  • 檢查網路是否有更新版:為了避免恐慌,所以現在使用者必須手動點擊檢查更新功能,待以後大家相信這個軟體無害,再改為自動檢查更新 :-)


需求

使用方法:解壓縮以後,直接執行裡面的 MyGeoPhotos.exe。其他說明,請見程式的輔助說明

注意:本軟體是免費工具,我雖然盡量減少軟體臭蟲,但是不保證本軟體不會損壞你的電腦或檔案,使用者必須自負使用本軟體造成結果的責任。建議使用前備份你的照片及 GPS 軌跡檔。
很棒的工具程式,謝謝shlinho兄惠我良多.

有個問題請教.
是不是如果NEF檔經過Nikon Capture Edit調整過後,就無法標示相片座標.
我試過,程式會顯示詳細進度,有處理的檔名,經緯度,處理完畢.
但是就是沒有寫入座標.如果NEF檔沒有經過調整過儲存,寫入標示相片座標就會很正常.

因為拍攝的檔案都已經有段時日,許多NEF檔已經調整過,不知有何方法解決.
謝謝.
我用WBT-201在Time Machine X 新版功能中,可以寫入單張的NEF檔(不管有否調整過).可惜他無法整批寫入.只好另尋其他工具.


tom2531 wrote:
很棒的工具程式,謝謝...(恕刪)


我是 Canon 的用戶,所以會去向朋友借檔案來測試一下。根據 ExifTool 的文件,它是可以處理 Nikon 的 NEF,現在我很後悔沒有把 ExifTool 的 output 顯示出來 :(


有些修圖工具 (例如 Lightroom) 自己有 cache 一份 metadata,不會每次開檔時重新讀圖檔的 EXIF 資料,這樣處理起來的速度才會快。以 Lightroom 而言,它必須選取照片,手動叫它重新讀取圖檔裡面的 EXIF 資料才可以。


你也可以幫忙測試一下:


  1. 用軟體附的 Exiftool 圖形介面程式檢查你所說的無法標記的檔案,確定沒有 GPSLatitude 與 GPSLongitude 的 tag。
  2. 用檔案總管備份一個經過 Nikon Capture 調整過的檔案。我們用它來測試。
  3. 打開命令提示字元視窗,切換到 exiftool-7.08 目錄 (在 MyGeoPhoto.exe 的下一層),裡面有 exiftool.exe,輸入下面的指令:

exiftool.exe -GPSMapDatum="WGS-84" -GPSImgDirection="0" -GPSImgDirectionRef="T" -GPSDateStamp="2007:12:31" -GPSTimeStamp="13:00:00" -GPSLatitude="24" -GPSLatitudeRef="N" -GPSLongitude="121" -GPSLongitudeRef="E" -GPSAltitude="0" -GPSAltitudeRef="Above Sea Level" "{完整路徑檔名.NEF}"


(礙於編輯器的限制,以上是一行指令。除了圖檔名稱以外,其餘複製到剪貼簿,然後用命令提示字元視窗左上角的控制方塊,選擇編輯->貼上,最後把圖檔從檔案總管用滑鼠左鍵拖到命令提示字元視窗,完成完整的命令行,記得"Above Sea Level" 與圖檔名稱之間要有一個空白。)


按下 Enter 執行以後,看看 ExifTool 顯示結果為何,將結果用命令提示字元視窗左上角的控制方塊,選擇編輯->標記,用 Shift + 方向鍵選取文字以後按下 Enter 鍵將文字複製到剪貼簿,然後回文到本頁,再來討論看看如何解決。

謝謝.
測試結果:

1.# 用軟體附的 Exiftool 圖形介面程式檢查你所說的無法標記的檔案,確定沒有 GPSLatitude 與 GPSLongitude 的 tag。 沒有

2.
Warning: [minor] Entries in IFD0 were out of sequence. Fixed. - AA.NEF
Error: [minor] NikonScan IFD has zero entries - AA.NEF
0 image files updated
1 files weren't updated due to errors

AA.NEF 是修改過的檔案.
同樣的指令,用在沒有修改過的NEF,成功寫入.

我把同一個檔案,分成一個沒有改過,一個用Nikon Capture Edit調整,放在網頁上,煩請兄臺測試一下.

有改過的檔案
http://tomwang.com/download/AA.NEF
沒改過的檔案
http://tomwang.com/download/BB.NEF
檔案有點大一個有8M,請多包涵.
Nikon Capture 處理過的檔案產生了兩個警告/錯誤:
1. Warning: [minor] Entries in IFD0 were out of sequence.
NEF 是屬於 TIFF-based 規格的檔案,TIFF 要求 IFD 所擁有的 Tag 必須依照數字排列。Exiftool 單純提出警告。

2. Error: [minor] NikonScan IFD has zero entries
Nikon Capture 寫了一個 NikonScan IFD,但是沒有屬於該 IFD 的 Tag。這應該可以加上 -m 參數,要求 Exiftool 忽略這種小錯誤。

麻煩請再試一次這個指令:
exiftool.exe -m -GPSMapDatum="WGS-84" -GPSImgDirection="0" -GPSImgDirectionRef="T" -GPSDateStamp="2007:12:31" -GPSTimeStamp="13:00:00" -GPSLatitude="24" -GPSLatitudeRef="N" -GPSLongitude="121" -GPSLongitudeRef="E" -GPSAltitude="0" -GPSAltitudeRef="Above Sea Level" "{完整路徑檔名.NEF}"

我試過,成功寫入座標,修改後的圖檔可以用 Lightroom 與 Paint Shop Pro 打開。但請你也試一下,看有沒有什麼副作用。可以的話,我會盡速修正軟體。新年快樂。

PS. Microsoft RAW Image Viewer 也無法預視你的 AA.NEF;BB.NEF 倒是 OK。
我試了覺得很好用,也解決我的GPS-CS1無法寫入RAW的困擾。

二個問題請教

第一,是不是一定要轉成GPX才能寫入RAW,NMEA 0183格式似乎不可以,還是我有操作錯誤?
第二,將來可不可以彈性設定需要寫入的GPS資訊(例如只寫入經緯度)
Dopefish wrote:
我試了覺得很好用,也...(恕刪)


Q:是不是一定要轉成GPX才能寫入RAW,NMEA 0183格式似乎不可以,還是我有操作錯誤?
A:目前只支援 GPX,以後有時間研讀 NMEA 0183 的規格,會考慮直接使用,畢竟有許多 GPS 裝置輸出就是 NMEA 0183。

Q:將來可不可以彈性設定需要寫入的GPS資訊(例如只寫入經緯度)
A:你是指照片可以不要有高度資料嗎?很好的建議,我會把它放到下一版。
shlinho兄新年快樂.

我試過,加上-m參數後就可以寫入資訊.
我用Capture Edit 與Capture NX存取,都沒有問題.
謝謝你的費心.
shlinho wrote:
Q:將來可不可以彈性設定需要寫入的GPS資訊(例如只寫入經緯度)
A:你是指照片可以不要有高度資料嗎?很好的建議,我會把它放到下一版。...(恕刪)


是的,因為高度都不是很準,而且有時候沒有資料,我通常都只標經緯度,期待你的下一版囉,謝謝
v0.5.4.0 出爐了:
- 手動輸入座標時,可以用度/分/秒輸入。
- 使用者可以決定標記時是否包含高度資料。(謝謝 Dopefish)
- 修正 exiftool 無法處理 Nikon Capture 所產生的 metadata。(謝謝 tom2531)
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!