Sto lavorando a un progetto che comporta un volume enorme di dati in tempo reale al secondo (raggiunti da Websockets). Per questo motivo, non può gestire la chiamata dell'API di Google per convertire una città + regione in una coordinata longlat. Sto ottenendo un tasso di successo da 1 a 100. Esiste un'alternativa illimitata al City & dal servizio Region to Coordinate dell'API di Google? Idealmente un array JSON memorizzato localmente di tali dati?Alternativa all'API di geolocalizzazione di Google Maps
risposta
Di solito quando si ha a che fare con un numero elevato di punti dati, li si geocodifica una volta sul server. Quindi è possibile eseguire lo streaming di lat/long per i client pronti per l'uso.
Google ha un Geocoding web service che è possibile utilizzare dal proprio server, ma esiste un limite di richieste di 2.500/giorno. Se questo non funziona, puoi anche cercare in Nominatim OSM; Mapquest hosts un servizio web senza limiti.
Dai un'occhiata a datasciencetoolkit.org. Offrono una VM image/AMI che puoi ospitare su EC2 e fare chiamate di geolocalizzazione al tuo server e quindi nessun limite API.
Poi c'è anche l'API di geolocalizzazione di Yahoo che ha limiti più alti di quelli di Google.
È possibile utilizzare un servizio fornito da Yahoo denominato YQL. Questo servizio è gratuito per un numero limitato di richieste, fino a 100.000 al giorno. Quindi è possibile recuperare latitudine e longitudine dall'XML di risposta a query/results/place/centroid.
Una cosa che ho notato con questo servizio è che i nomi delle città devono essere precisi, ed è possibile che ci siano più risultati. interrogazione
http://developer.yahoo.com/yql/
Esempio YQL: XML
http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM geo.places WHERE text="Seattle" and placeTypeName = "Town"
Risposta:
<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="1" yahoo:created="2012-07-09T16:20:40Z" yahoo:lang="en-US">
<results>
<place xmlns="http://where.yahooapis.com/v1/schema.rng" xml:lang="en-US" yahoo:uri="http://where.yahooapis.com/v1/place/2490383">
<woeid>2490383</woeid>
<placeTypeName code="7">Town</placeTypeName>
<name>Seattle</name>
<country code="US" type="Country">United States</country>
<admin1 code="US-WA" type="State">Washington</admin1>
<admin2 code="" type="County">King</admin2>
<admin3/>
<locality1 type="Town">Seattle</locality1>
<locality2/>
<postal/>
<centroid>
<latitude>47.603561</latitude>
<longitude>-122.329437</longitude>
</centroid>
<boundingBox>
<southWest>
<latitude>47.422359</latitude>
<longitude>-122.472153</longitude>
</southWest>
<northEast>
<latitude>47.745071</latitude>
<longitude>-122.176193</longitude>
</northEast>
</boundingBox>
<areaRank>6</areaRank>
<popRank>12</popRank>
</place>
</results>
</query>
<!-- total: 82 -->
<!-- engine5.yql.mud.yahoo.com -->
- 1. test geolocalizzazione google maps V3 localmente?
- 2. Calcolatore di distanza di Google Maps con geolocalizzazione
- 3. API di Google Maps v3 - Geolocalizzazione basata su IP
- 4. Geolocalizzazione: muove solo google maps marker senza ricaricare la mappa
- 5. Libreria API di geolocalizzazione Google
- 6. API di geolocalizzazione IP di Google
- 7. Come inizializzare l'API di Google Maps con la geolocalizzazione (posizione attuale dell'utente) con la geolocalizzazione HTML5 javascript
- 8. Algoritmo di Google Maps
- 9. Immagine di Google Maps?
- 10. API di Google Maps directionsService.route diverso da Google Maps Indicazioni
- 11. Imposta i limiti di Google Maps con angular-google-maps
- 12. Google Maps API vs Google Maps Engine?
- 13. API di Google Maps DeletedApiProjectMapError
- 14. Migliori pratiche di Google Maps?
- 15. Utilizzo di Google Maps offline (Js Api)
- 16. Come convertire il codice postale in Geolocalizzazione (latitudine e longitutde) utilizzando google maps api?
- 17. API di Google Maps Differenza di versione
- 18. Chiamata di geocoding di Google Maps angolare
- 19. Xcode Barra di ricerca di Google Maps
- 20. In attesa di geocoder di google maps?
- 21. Errore di ritorno di Google Maps 610
- 22. Google Map Alternativa
- 23. Alternativa API alle tendenze di Google
- 24. Soluzione alternativa di Google Chrome Java
- 25. Alternativa per Google AppEngine?
- 26. Aggiungere il livello "My Maps" di Google all'API Javascript di Google Maps
- 27. Raggruppamento contrassegni Google Maps
- 28. Google Maps come sfondo
- 29. Google maps e pdf
- 30. Google maps over https
Una soluzione non sta aumentando il limite di chiamata API, potremmo sempre comprare più indennità, ma è che l'alta richiesta/secondo non è realizzabile. Sono d'accordo sul fatto che abbiamo bisogno di queste informazioni nei dati in streaming, ma che è attualmente fuori dalle nostre mani, speravo in un collegamento a un array Open Source di tali informazioni. –
Se non è possibile modificare l'origine dati, è sempre possibile eseguire il proxy del flusso di dati. Chiedi al tuo server di connettersi all'origine dati, eseguire la geocodifica, quindi trasmettere i dati + le coordinate ai client. – josh3736