Zeitzonen-Suche von Längengrad

Gibt es eine Bibliothek (oder besser noch einen Webservice), die von einer geografischen Länge in eine Zeitzone umwandeln kann?

   

Ich habe diese Frage für ein Projekt, an dem ich arbeite, ziemlich genau untersucht. GeoNames.org und EarthTools.com sind beide gute Optionen für viele Situationen, aber mit den folgenden schwerwiegenden Fehlern:

  • GeoNames.org findet die Zeitzone, indem sie nach dem nächsten Punkt in ihrer database sucht, der ein Zeitzonenfeld enthält. Dies führt oft zu einem falschen Ergebnis in der Nähe von Grenzen. Es ist auch schmerzhaft langsam, was zu Abfragezeiten in der Größenordnung von ein paar Sekunden pro Anfrage führt. Es gibt auch keine gültige Zeitzone zurück, wenn sich in der database in der Nähe des Abfragepunkts kein Element befindet. GeoNames schränkt auch die Anzahl der Abfragen pro Tag ein, was Massenoperationen erschwert.
  • EarthTools.org verwendet eine Karte und kann Abfragen schnell zurückgeben, berücksichtigt jedoch nicht die Sommerzeit für die meisten Standorte und gibt eine rohe Abweichung statt einer Zeitzonen-ID zurück (dh sie geben “GMT-7” zurück) “statt” Amerika / Chicago “). Außerdem habe ich während der Vorbereitung dieses Posts nur auf ihre Seite geschaut und Google Chrome vor Malware auf ihrer Website gewarnt. Das ist neu für mich und kann sich ändern, ist aber offensichtlich ein Grund zur Sorge.

Diese Fehler führten dazu, dass diese bestehenden Tools nicht für meine Bedürfnisse geeignet waren, also habe ich meine eigene Lösung gerollt und sie für den allgemeinen Gebrauch veröffentlicht. Sie können es hier finden:

http://www.askgeo.com/

AskGeo basiert auf einer Zeitzonenkarte der Welt und gibt eine gültige Zeitzone für jeden gültigen Längen- und Breitengrad zurück. Es gibt die Standard-Zeitzonen-ID (z. B. “America / Los_Angeles”) zurück, die unter Linux und den meisten anderen Betriebssystemen und Programmierframeworks verwendet wird. Es gibt auch den aktuellen Offset zurück, wobei die Sommerzeit voll berücksichtigt wird.

Es ist extrem einfach zu bedienen und die Verwendung ist auf der Hauptseite der Website dokumentiert. Die API unterstützt Batch-Abfragen. Wenn Sie also viele Suchvorgänge durchführen müssen, verwenden Sie die Batch-Schnittstelle, anstatt unsere Server mit seriellen Anfragen zu blockieren. Die Massenabfragen sind auch viel schneller, also gewinnt jeder.

Als wir das erste Mal gestartet haben, haben wir es auf Google App Engine (GAE) erstellt und allen Nutzern kostenlos zur Verfügung gestellt. Dies war möglich, weil die Preise von GAE zu diesem Zeitpunkt so niedrig waren. Seitdem hat sich unsere Serverlast erheblich erhöht und die GAE-Preise sind gestiegen. Beide Faktoren führten dazu, dass wir zu Amazon Web Services wechselten, um Hosting zu betreiben und die Gebühren für kommerzielle Zwecke zu erheben, während wir den Service für gemeinnützige, nichtkommerzielle Open-Source-Projekte und Forscher kostenlos bereitstellten. Für kommerzielle Nutzer bieten wir 1000 kostenlose Abfragen, damit potenzielle Kunden die API bewerten können, um sicherzustellen, dass sie ihren Anforderungen entspricht. Preise und Bedingungen finden Sie auf der Website.

Die zugrunde liegende Bibliothek wurde in Java geschrieben und aufgrund der großen Nachfrage haben wir die Bibliothek auch unter einer kommerziellen Lizenz veröffentlicht. Die vollständige Dokumentation der Bibliothek und Preisinformationen finden Sie auf der Website.

Ich hoffe, das ist nützlich. Es war sicherlich nützlich für das Projekt, an dem ich arbeitete.

Werfen Sie einen Blick auf Geonames.org

Es ist ein kostenloser Webservice, mit dem Sie viele Informationen von einem Long / Lat erhalten können

Sie bieten auch eine freie (und Open-Source-) Java-Client für GeoNames Webservices-Bibliothek (Bibliothek für andere Sprache auch zur Verfügung gestellt: Ruby, Python, Perl, Lisp …)

Hier einige Informationen, die Sie von long / lat erhalten können: (vollständige Liste der Webservices hier)

  • Finde die nächste Adresse
  • Finde die nächste Kreuzung
  • Finden Sie in der Nähe Straßen
  • Elevation
  • Zeitzone

Zeitzonen sind jetzt über Google API verfügbar

https://developers.google.com/maps/documentation/timezone/

Die Yahoo-Orts-API liefert Zeitzoneninformationen über die umgekehrte Geolokalisierung.

Hör zu.

http://developer.yahoo.com/geo/placefinder/guide/requests.html

Wie viel Genauigkeit benötigen Sie? Es wäre fast richtig, die Länge durch 15 zu teilen: p

Diese sehen ziemlich vielversprechend aus.

http://www.earthtools.org/webservices.htm

Eric Muller hat Shapefile-Maps für die Zeitzonen der tz (Olson) -database erstellt. Ein paar kleine Vorbehalte, obwohl:

  1. Die verwendeten Grenzen sind oft inoffiziell.
  2. Es wird nicht so regelmäßig aktualisiert wie die tz-database selbst, daher können einige neu gebildete oder geänderte Zonen fehlen.

Abgesehen davon scheint es für die meisten Zwecke sehr genau zu sein.

Die DRT-Engine verwendet eine geografische Breite, Länge und lokale Datumseinstellung und gibt einen Zeitzonen-Offset zurück. Dies kann verwendet werden, um die Zeitzone eines bestimmten Ortes zu einem zukünftigen Datum festzulegen.