緯度と経度の座標を使用して場所からタイムゾーンを取得するにはどうすればいいですか? 質問する

緯度と経度の座標を使用して場所からタイムゾーンを取得するにはどうすればいいですか? 質問する

ある場所の緯度と経度がわかれば、その場所でどのタイムゾーンが適用されているかをどうやって知ることができるでしょうか?

ほとんどの場合、IANA/OlsonタイムゾーンIDを検索しますが、一部のサービスではUTCオフセットやその他のタイムゾーンIDのみを返す場合があります。タイムゾーンタグ情報詳細については。

ベストアンサー1

タイムゾーン ロケーション Web サービス

生のタイムゾーン境界データ

  • タイムゾーン境界ビルダー- OpenStreetMaps マップ データからタイム ゾーン シェイプファイルを構築します。海岸線近くの領海も含まれます。

以下のプロジェクトは以前はタイムゾーン境界データのソースでしたが、現在は積極的にメンテナンスされていません。

タイムゾーン地理位置情報オフライン実装

タイムゾーン境界ビルダーデータを使用する実装

古いtz_worldデータを使用する実装

独自のデータを使用した実装

ウェブサービスの1つを呼び出すライブラリ

  • タイムゾーン- GeoNamesを呼び出すRuby gem
  • 質問するJavaまたは.Netから呼び出すための独自のライブラリがあります
  • ジオネームほぼすべてのクライアントライブラリを備えています

セルフホスト型ウェブサービス

その他のアイデア

他にもご存知の方がいらっしゃいましたら、このリストを更新してください。

また、最も近い都市のアプローチでは「正しい」結果が得られず、近似値のみが得られることに注意してください。

Windows ゾーンへの変換

リストされているメソッドのほとんどはIANAタイムゾーンIDを返します。.NETTimeZoneInfoのクラスで使用するためにWindowsタイムゾーンに変換する必要がある場合は、タイムゾーンコンバーター図書館。

zone.tabは使用しないでください

tz データベースというファイルが含まれていますzone.tabこのファイルは主に、ユーザーが選択できるタイムゾーンのリストを表示するために使用されます。各タイムゾーンの参照ポイントの緯度と経度の座標が含まれています。これにより、これらのポイントを強調表示するマップを作成できます。たとえば、次のインタラクティブマップを参照してください。moment-timezoneホームページ

このデータを使用して緯度と経度の座標からタイム ゾーンを解決したくなるかもしれませんが、これらは境界ではなくポイントであることに注意してください。最善の方法は最も近いポイントを特定することですが、多くの場合、正しいポイントではありません。

次の例を考えてみましょう。

                            タイムゾーンの例アート

2 つの四角形は異なるタイム ゾーンを表し、各四角形の黒い点は、zone.tab で見つかるような参照場所です。青い点は、タイム ゾーンを見つけようとしている場所を表します。明らかに、この場所は左側のオレンジ色のゾーン内にありますが、参照ポイントへの最も近い距離だけを見ると、右側の緑がかったゾーンに解決されます。

おすすめ記事