GPX 檔案是 1.0 版還是 1.1 版,重要嗎
對一趟健行真正要緊的那部分來說,幾乎不重要。打開任何 GPX 檔案,開頭的標籤裡都會寫著版本號——幾乎總是 1.0 或 1.1——難免讓人好奇這個數字到底決定了什麼。其實基本上什麼都不決定。在地圖上畫出軌跡的那串座標,兩個版本的寫法是一樣的;真正變的那部分,在檔案的邊角上,不在承載你這趟路的地方。
簡單說
只看軌跡能不能讀回來的話,不重要。2002 年發布的 GPX 1.0,和 2004 年發布、如今幾乎所有地方都在用的 GPX 1.1,描述一條軌跡的方式是一樣的:航點、路線,以及由軌跡段組成的軌跡,每個軌跡段又由軌跡點組成,每個點帶著經緯度,通常還有海拔和時間。這套結構——地圖應用真正需要用來畫出你走過的路的那部分——在兩個版本之間基本沒變。不管開頭標籤寫的是哪個版本號,現在的應用讀座標的方式都是一樣的。
1.1 到底改了什麼
差別在邊角上,不在骨架上。GPX 1.0 把一些說明性的資訊——比如軌跡的作者、指向外部的連結——零零散散地放在檔案好幾個層級裡,每處一條。GPX 1.1 把這些大多歸攏進了檔案靠前位置的一整塊中繼資料,還給連結單獨設了一個可以重複出現的元素,這樣一份檔案就能乾淨地指向不只一個外部連結,而不是只能有一條。它還加入了正式的擴充機制:在檔案的好幾個層級都留出一個「官方認可」的位置,讓某個應用可以往裡面塞自己的自訂資料,而不會影響其他應用讀同一份檔案。這些改動都沒碰到軌跡點本身是怎麼寫的。
換句話說,1.1 收拾的是描述檔案本身的那部分,也給了應用一個安全的地方去掛自己的額外資料。真正描述你走到哪裡的那部分,在 1.0 的時候就已經夠用,之後也沒變過。
為什麼這基本不會造成真的麻煩
所有支援 GPX 的地圖工具、手錶平台、健行應用,要讀的都是這套沒變過的座標結構。實際情況是,一台舊裝置匯出的 1.0 檔案,和一個新應用匯出的 1.1 檔案,在同一批現代工具裡打開的效果是一樣的——開頭標籤裡的版本號更像是一個標籤,而不是一道關卡。還在持續更新的軟體,因為檔案寫的是 1.0 而不是 1.1(或者反過來)就直接拒收的情況,很少見。
GPX 檔案真正打不開的時候,問題出在哪
如果匯入真的失敗了,原因幾乎從來不是版本號。XML 結構本身有問題、某個必填欄位是空的、一條軌跡裡根本沒有點——這些才會讓匯入卡住,不管檔案自稱是哪個版本。一個檔案完全可以寫著 1.1,同時又因為跟版本號毫無關係的原因而是壞的。
容易搞錯的地方
- 以為必須先把檔案從 1.0 轉成 1.1,或反過來,某個應用才肯收——就座標資料本身而言,通常根本不需要轉換,兩種寫法讀出來的點是一樣的。
- 匯入失敗了,就怪到檔案開頭那行版本號上——真正的原因幾乎總是檔案裡別的地方出了問題。
- 以為同一趟健行,1.1 的檔案會比 1.0 的檔案在新應用裡顯示更多細節——1.1 多出來的那部分結構,大多是應用可用可不用的可選擴充資料,軌跡本身看起來是一樣的。
- 把版本號當成軌跡新不新、準不準的標誌——它說明的只是這份檔案遵循哪一版規範,跟這趟路是什麼時候走的、GPS 定位好不好沒有關係。
TrailCam 能幫上什麼忙
TrailCam 不管是匯出單條軌跡還是整段歷史,用的都是 GPX 1.1——Strava、Garmin Connect、Komoot 都讀得懂的那個版本。選它主要是因為這是現在大家都預設接受的版本,而不是因為需要什麼只有 1.1 才有的東西:從 TrailCam 記錄並匯出的一趟健行,在這些工具裡打開的效果,跟一份 1.0 的檔案是一樣的,因為不管聲明的是哪個版本,底下的座標都是同一種寫法。匯出功能包含在可選的 TrailCam Pro 裡,App 本身免費下載。
常見問題
- 舊的 GPX 1.0 檔案,現在的健行或地圖應用還能打開嗎?
- 能。軌跡賴以建立的座標結構在 1.0 和 1.1 之間沒有變化,所以現在的應用讀 1.0 檔案和讀 1.1 檔案是一樣的方式。
- TrailCam 匯出的是哪個版本的 GPX?
- GPX 1.1,不管是匯出單條軌跡還是整段歷史都是這個版本——也是 Strava、Garmin Connect、Komoot 讀得懂的那個版本。
- 不匯入任何應用,要怎麼知道一個 GPX 檔案是哪個版本?
- 用任何一個文字編輯器打開這個檔案就行。靠近檔案開頭的第一個標籤裡,直接寫著 1.0 還是 1.1 的版本資訊,不用為了確認這一點特地把它匯入地圖應用。
記錄你自己的軌跡
TrailCam 是一款 iPhone 上的 GPS 軌跡記錄 App,會把沿途拍下的影片、照片與語音釘在你拍它的那個位置,並支援匯出成 GPX 1.1 或 CSV。免費下載。