1. ホーム
  2. web-services

[解決済み] 緯度経度からタイムゾーンを検索する【非公開

2023-07-28 18:01:53

質問

緯度・経度からタイムゾーンに変換できるライブラリ(あるいはWebサービス)はありませんか?

どのように解決するのですか?

私は、私が取り組んでいるプロジェクトのために、この質問についてかなり深く調べました。 GeoNames.org と EarthTools.com はどちらも多くの状況に対して良い選択肢ですが、次のような重大な欠点があります。

  • GeoNames.org は、タイム ゾーン フィールドを含むデータベース内の最も近いポイントを検索することにより、タイム ゾーンを見つけます。 これは、国境付近ではしばしば間違った結果をもたらします。 また、非常に遅く、1 つのリクエストにつき数秒のクエリ時間がかかります。 また、クエリポイントの近くにデータベース内の項目がない場合、有効なタイムゾーンを返すことはありません。 GeoNames はまた、1 日に実行できるクエリの数を制限しているため、一括操作は困難です。
  • EarthTools.org はマップを使用しており、クエリをすばやく返すことができますが、ほとんどの場所で夏時間を考慮しておらず、タイムゾーン ID ではなく生のオフセットを返します (たとえば、" America/Chicago" の代わりに "GMT-7" が返されます)。 また、この投稿の準備中に彼らのページを見たところ、Google Chromeが彼らのサイトにマルウェアがあることを警告していました。 これは私にとって初めてのことで、変更されるかもしれませんが、明らかに心配の種です。

これらの欠陥は、これらの既存のツールが私のニーズに適していないことを意味します。したがって、私は独自のソリューションを開発し、一般に使用できるように公開しました。 このソリューションはここで見つけることができます。

http://www.askgeo.com/

AskGeo は世界のタイムゾーン マップに基づいているため、有効な緯度と経度ごとに有効なタイムゾーンを返します。 これは、Linux や他のほとんどのオペレーティング システムおよびプログラミング フレームワークで使用される標準のタイムゾーン ID (例: "America/Los_Angeles") を返すものです。 また、サマータイムを完全に考慮した、現在のオフセットも返します。

これは非常に使いやすく、使用方法はサイトのメインページで文書化されています。 API はバッチ クエリをサポートしているので、大量の検索を行う必要がある場合は、連続した要求でサーバーを停滞させるのではなく、バッチ インターフェイスを使用してください。 バルククエリの方がはるかに速いので、誰もが得をします。

最初にこれを立ち上げたとき、私たちは Google App Engine (GAE) 上に構築し、すべてのユーザーに無料で提供しました。 これは、当時 GAE の価格が非常に安かったため可能だったのです。 その後、私たちのサーバーの負荷は大幅に増加し、GAE の価格は大幅に上昇しました。 この2つの要因が重なり、ホスティングをAmazon Web Servicesに切り替え、非営利、非商用のオープンソースプロジェクトや研究者には無料でサービスを提供しながら、商用利用には課金を開始することにしました。 商用利用者には、潜在的な顧客にAPIを評価してもらい、ニーズに合っているかどうかを確認するために、1000回のクエリーを無料で提供しています。 価格と条件については、ウェブサイトを参照してください。

基礎となるライブラリは Java で書かれており、人気の高い需要に応えて、商用ライセンスの下でもライブラリをリリースしました。 ライブラリの完全なドキュメントと価格の詳細については、Web サイトを参照してください。

これが役に立つことを願っています。 確かに、私が取り組んでいたプロジェクトでは役に立ちました。