2010-02-10 44 views
0

我正在寫一個地理標記的應用程序,並運行到與頭痛時區。基本上,我的應用程序有以下數據:匹配GPS跟蹤當地天

  • 圖像與本地時間戳(即相對於一個時區)
  • 包括使用UTC條目的GPS軌跡文件時間戳

我的問題:我需要一個根據獲取數據的時區,獲取屬於某一天的所有數據。對於圖像來說,這很簡單(我會在導入時詢問用戶的時區並將其保存在EXIF數據中),但我不確定如何爲GPS軌道執行此操作(每天通常會有多個軌道,並且在導入跨越嚴重日期和時區的數據時,爲用戶分配時區是不容易的)。我能想到的兩種可能的解決方案:

  • 使用基於該軌道在同一時間和地點的圖像記錄這一事實的啓發 - 但可以有一天的第一張圖像之前或之後的最後軌道一個仍然需要包括 - 我不知道如何處理realiably這種邊緣案件
  • 確定時區從GPS座標 - 這將是一個理想的解決方案,但有一個開源庫,做到這一點(理想一個脫機工作)?

回答

1

啓發式方法,我不認爲會很好地工作。

首先總是存儲倍UTC和原產地時區,否則時間是那麼有意義。

經過一番思考,我認爲解決國家代碼和查找時區就足夠了。

取決於你有多少細節需要我認爲GeoTog可以幫助你從一個緯度/長(雖然會需要改變爲工作的其他方式)找到一個城市,因此一個國家。

如果不是那麼那麼Gisgraphy將與更大的GeoNames數據庫一起使用。您可以使用Web服務或提取數據。

如果這些都不夠好,那麼我認爲你需要獲得一些GIS數據,可能是來自VMAP0的邊界,並將其處理成多邊形或可搜索的東西。

+0

終於開始處理這個問題了:geonames DB是理想的解決方案,它提供了一個城市的DB,每個城市都有座標和時區 - 所以我只需要做一個最近鄰居搜索。由於一些國家跨越多個時區,因此只需確定該國就不足夠了。 – 2010-03-07 18:21:49

1

選項二:,你可以通過檢查該網站開始:http://www.twinsun.com/tz/tz-link.htm

選擇一個(那麼複雜,但我不知道我準確地瞭解你的需要...) 所以,你必須作爲輸入:

  • 以已知的時區TZ定義,開始在t0和在結束於t1的靶天(除外)
  • 圖像用添在同一時區的TZ()這個假設是否正確?
  • 與UTC時間戳TG GPS軌跡,可以跨越多個時區 我們也知道至少有一個GPS跟蹤爲每個圖像。

這裏的東西應該工作:

  • 目標的一天轉換成UTC。你得到的值T0/UTC和T1/UTC
  • 將圖像轉換時間戳爲UTC(你從已知的鈦/鈦/ UTC TZ)
  • 過程映像如果(T0/UTC < = TI/UTC < T1/UTC),即它在您的目標日期間被採取。
  • 找到一個GPS軌跡包括TI/UTC(沒問題,因爲曲目以UTC時間戳的),然後點在這條賽道在列表中最接近的時間戳。這一點是圖像最可能的位置。
+0

我的問題不是地理標記圖像 - 我可以很容易地做到這一點(將所有日期標準化爲UTC,並在所有路點的排序列表上執行二分搜索)。我的問題是,我想找出每個GPS軌道屬於哪個目標日。重點是將數據劃分爲旅行者所經歷的日子。 – 2010-02-11 09:44:39

+0

因此,天(以及屬於它們的圖像和GPS軌跡)可以跨越幾個時區,儘管我更關心的是有一個,有時是兩個時區的常見情況。 「日子」的整個概念隨着飛越多個時區的航班而中斷 - 這就是爲什麼我們經歷時差的原因。在這種情況下,我不希望能夠一致地涵蓋所有邊緣案例。 – 2010-02-11 09:49:47