Domanda

sto usando python e ho bisogno di mappare luoghi come "Bloomington, IN" per le coordinate GPS in modo da poter misurare le distanze tra di loro. Quali librerie Geocoding / API mi consiglia? Soluzioni in altre lingue sono i benvenuti.

È stato utile?

Soluzione

L'API di Google Maps supporta geocoding , e la pitone Cookbook ha una semplice esempio di accedervi da pitone (anche se la ricetta non utilizzare l'API direttamente, solo semplice maps.google.com URL).

Altri suggerimenti

Geopy consente di scegliere tra diverse geocoder (tra cui Google, Yahoo, Virtual Earth).

Il servizio web di Google è molto facile da usare. Basta mettere la query nell'URL. Per rendere ancora più facile / più pigri, io spudoratamente pubblicizzare pygeocoder , un wrapper Python per Google Geocoding. Poi si può solo fare qualcosa di simile

print Geocoder.geocode("Montreal, Canada")[0].coordinates

per ottenere una tupla con le coordinate. Si può anche fare cose come

Geocoder.geocode("sushi, San Francisco").count

o

Geocoder.geocode("sushi, San Francisco")[0].postal_code

Sia Google e Microsoft hanno API che sono molto facili da collegare in. Ci sono alcune limitazioni, ma sono abbastanza generoso. Si potrebbe anche voler guardare http://geocoder.us/ . Non sono a conoscenza di tutti i servizi di geocodifica liberi che sono nulla di buono (e ho speso tempo bello!)

Si potrebbe dare un'occhiata al GeoLite Città . È libero (GPL), ma dicono che non è il più preciso.

  

Oltre il 99,5% a livello nazionale e il 79% a livello di città per gli Stati Uniti entro un raggio di 25 miglia

Che ancora potrebbe adattarsi, a seconda delle esigenze.

È possibile utilizzare un'API web come Google maps per trovare le coordinate. Poi, se hai solo bisogno di calcolare le distanze (in linea retta), c'è un formula è possibile applicare per ottenere risultati abbastanza precisi.

Il USC WebGIS Geocoder ( https://webgis.usc.edu ) è gratuito. Ha API che è possibile chiamare da script o si può caricare e database di processo (mdb, csv, ecc). I livelli di precisione dipendono da dove gli indirizzi sono. Ad esempio, nella contea di Los Angeles baricentri pacchi sono disponibili, mentre in altre parti del paese solo TIGER / Le linee sono. Una mappa di copertura di fonti di dati di riferimento non è disponibile in questo momento, ma è in fase di sviluppo. Gli strumenti sottostanti sono progettati per essere open-source, in futuro, una volta di più lo sviluppo è completato così.

Mi sono imbattuto in http://www.geonames.org/ l'altro giorno. Si può effettivamente scaricare tutti i dati per i codici postali, tra cui latitudine / longitudine, ecc anche per uso commericial per salvare dover collegare a fonti esterne. Penso che si possa fare lo stesso per i nomi delle città (dati codice post è subrub nomi ad esso associati già).

Alcuni matematica su come trovare la distanza "linea d'aria" - diretto da punto a punto possono essere trovati qui e qui (NET esempio) .

È possibile avere una migliore sguardo Geopy module.And è sufficiente la pena utilizzare in quanto contiene Google map, yahoo mappa geocoder con il quale è possibile implementare geocodings.

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