Domanda

C'è qualche libreria (o, meglio ancora, un servizio web disponibile che può convertire da una latitudine/longitudine in un fuso orario?

È stato utile?

Soluzione

Mi sembrava abbastanza in profondità in questa domanda per un progetto a cui sto lavorando.GeoNames.org e EarthTools.com sono entrambe buone opzioni per molte situazioni, ma con i seguenti difetti seri:

  • GeoNames.org trova il fuso orario, cercare il punto più vicino, nel loro database che contiene un tempo zona di campo.Questo spesso porta ad un risultato errato in prossimità dei confini.È anche dolorosamente lento, portando a tempi di esecuzione delle query su ordine di un paio di secondi per ogni richiesta.Esso non restituisce anche un fuso orario valido se non c'è nessuna voce nel loro database vicino al punto di query.GeoNames limita anche il numero di query che possono essere apportate al giorno, rendendo le operazioni di massa difficile.
  • EarthTools.org utilizza una mappa ed è in grado di tornare velocemente le query, ma non tiene conto dell'ora legale per la maggior parte delle posizioni, e restituisce un raw offset piuttosto che di un ID fuso orario (cioè, il loro ritorno "GMT-7" invece di "America/Chicago").Inoltre, ho appena guardato la loro pagina durante la preparazione di questo post e Google Chrome messo in guardia circa il malware sul loro sito.Che è nuovo per me e si può cambiare, ma è ovviamente un motivo di preoccupazione.

Questi difetti significava che questi strumenti esistenti che non erano adatte per le mie esigenze quindi ho arrotolato la mia soluzione e che hanno pubblicato per l'utilizzo generale.Lo si può trovare qui:

http://www.askgeo.com/

AskGeo è basato su un fuso orario mappa del mondo, quindi restituisce un fuso orario valido per ogni latitudine e longitudine.Restituisce il fuso orario standard ID (ad esempio, "America/Fire_prevention") usato su Linux e la maggior parte degli altri sistemi operativi e programmazione quadri.Anche restituisce la corrente di offset, tenendo pienamente conto dell'ora legale.

È estremamente facile da usare e l'utilizzo è documentato sulla pagina principale del sito.L'API supporta le query, quindi se avete bisogno di fare un sacco di look-up, si prega di utilizzare il batch di interfaccia, piuttosto che impantanarsi nostri server con serie di richieste.Il grosso query sono anche molto più veloce, in modo che tutti vince.

Quando abbiamo lanciato questo, l'abbiamo costruita su Google App Engine (GAE) e reso gratuito per tutti gli utenti.Questo è stato possibile perché GAE, e i prezzi sono così bassi in quel momento.Da allora, il nostro server di carico è aumentato in modo sostanziale e GAE prezzi è andato fino.Entrambi i fattori combinati ci ha portato a passare per Amazon Web Services per l'hosting e per avviare la carica per uso commerciale, pur mantenendo un servizio gratuito per i non-profit, non-commerciale, progetti open source, e i ricercatori.Per gli utenti commerciali, forniamo 1000 query consente ai potenziali clienti di valutare le API per assicurarsi che soddisfi le loro esigenze.Vedere il sito web per i prezzi e le condizioni.

La libreria di base è stato scritto in Java e a causa della grande richiesta, abbiamo anche pubblicato la libreria sotto una licenza commerciale.La documentazione completa della biblioteca e prezzi i dettagli sono sul sito web.

Spero che questo sia utile.Certamente è stato utile per il progetto su cui stavo lavorando.

Altri suggerimenti

Guarda Geonames.org

Si tratta di una libera webservice che consentono di ottenere un sacco di informazioni da un long/lat

Essi forniscono inoltre un libero (open source) Client Java per GeoNames Webservices library (libreria per altre lingue, inoltre, a condizione che:ruby, python, perl, lisp...)

Ecco alcune informazioni che si possono ottenere da long/lat: (l'elenco completo dei servizi web qui)

  • Trovare la più vicina Indirizzo
  • Trovare Intersezione più vicina
  • Trovare Strade vicine
  • Elevazione
  • Fuso orario

Fusi orari sono ora disponibili tramite Google API

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

La Finanza di luoghi API fornisce informazioni di fuso orario tramite reverse geolocalizzazione.

Check it out.

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

Quanta precisione ti serve?Dividendo la longitudine da 15 sarebbe quasi giusto :p

Progetto morti :-/

Questi sembrano abbastanza promettenti-

Archivio link:

https://web.archive.org/web/20150503145203/http://www.earthtools.org/webservices.htm

Eric Muller ha fatto shapefile mappe per i fusi orari del tz (Olson) database.Qualche piccolo distinguo, però:

  1. I confini sono spesso non ufficiale.
  2. Non è così regolarmente come il tz database stesso, in modo che alcuni neo-costituita o -regolato zone possono essere mancanti.

Chi parte, tuttavia, sembra essere molto preciso per la maggior parte degli scopi.

DRT Motore prende la latitudine, la longitudine e la datetime locale e restituisce una differenza di fuso orario.Questo può essere utilizzato per stabilire il fuso orario di una particolare posizione in una futuro data.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top