2010-09-12 82 views
6

有沒有一種很好的方式來獲取來自緯度/長度座標或物理地址的DST信息的時區信息?帶時區信息的地理編碼

我發現一些似乎提供這項服務的網絡服務,但我不能說出它們可能有多可靠,或者它們可能在某個時候消失。我需要一些適用於我的應用程序的應用程序,這些應用程序將長期存在

是這些服務的可靠性和長期的?還有其他更好的選擇嗎?

+0

這種欺騙:http://stackoverflow.com/questions/41504/timezone-lookup-from-latitude-longitude有至少一個更多的選擇。由於您重視長期可靠性,因此不投票結束。 – 2010-09-12 12:27:00

+0

謝謝@Pekka。是的,我的重點是長期的,但很高興看到其他人推薦這些服務。它看起來像geonames服務可能是更爲成熟的服務。 – Tauren 2010-09-12 12:31:50

+0

複製[如何從使用緯度和經度座標的位置獲取時區]?(http://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location - 使用 - 緯度和經度座標) – 2015-10-08 20:22:38

回答

1

我搜索了很長時間來找到一個數據庫,我可以在本地託管來將lat + lon座標映射到時區(即不依賴遠程服務)。這是我能夠想出的最好的。

這裏有一個矢量化時區地圖:http://georezo.net/jparis/Data/wrldtz_tab.htm。這是近2000個「地區」的數據庫。每個區域都由地球表面上的一組多邊形定義,它告訴你如果你在該區域內,你在什麼時區。

有主要缺點:

  • 它沒有被自2002年以來
  • 它只定義多邊形土地(如果你是過水,你是不是認爲是在任何時區更新)。
  • 它不會爲您提供時區的奧爾森標識符,只有國家名稱和(標準時間)UTC偏移量。

最後的限制可能不適合你一個很大的問題:有沒有那麼多的時區,也許你能投資手動每一個分配給其奧爾森名(特別是如果你感興趣的只是時間少量的時區)。

爲了讀取您可以從上面給出的網站下載的數據文件,您將需要使用this library。如果你有興趣,我可以拿出一些示例代碼。

您還提到使用物理(郵政)地址。將這些轉換爲lat + lon座標是一個完全不同的問題,我的猜測是,如果不使用某種在線/遠程服務,就無法做到這一點。

-Phil