Estoy trabajando en un proyecto que implica un gran volumen de datos en tiempo real por segundo (logrado por websockets). Debido a esto, no puede manejar llamar a la API de Google para convertir una ciudad + región a una coordenada longlat. Estoy obteniendo una tasa de éxito de 1 a 100. ¿Existe una alternativa ilimitada a la ciudad & Región para coordinar el servicio de la API de Google? ¿Idealmente una matriz JSON almacenada localmente de tales datos?Alternativa a la API de geolocalización de Google Maps
Respuesta
Por lo general, cuando se trata de una gran cantidad de puntos de datos, los geocodificaría una vez en el servidor. Luego puede transmitir los lat/longs a sus clientes listos para usar.
Google tiene un Geocoding web service que puede utilizar desde su servidor, pero hay un límite de solicitud de 2.500/día. Si eso no funciona, también puede consultar el Nominatim OSM; Mapquest hosts un servicio web sin límites.
Eche un vistazo a datasciencetoolkit.org. Ofrecen una imagen VM/AMI que puede alojar en EC2 y realizar llamadas de geolocalización a su propio servidor y, por lo tanto, no tienen límites de API.
Luego, también está la API de geolocalización de Yahoo que tiene límites más altos que los de Google.
Puede utilizar un servicio proporcionado por Yahoo llamado YQL. Este servicio es gratuito para un número limitado de solicitudes, hasta 100,000 por día. Luego puede recuperar la latitud y la longitud del XML de respuesta en query/results/place/centroid.
Una cosa que he notado con este servicio es que los nombres de las ciudades deben ser exactos, y es posible que haya múltiples resultados.
http://developer.yahoo.com/yql/
Ejemplo YQL consulta: XML
http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM geo.places WHERE text="Seattle" and placeTypeName = "Town"
Respuesta:
<?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. API de Geolocalización de Firefox Alternativa
- 2. Google Maps API v3 - Geolocalización basada en IP
- 3. Cómo convertir código postal a Geolocalización (latitud y longitutde) usando la API de Google Maps?
- 4. Alternativas a google maps api
- 5. Biblioteca de la API de geolocalización de Google
- 6. Google Maps API v2 vs Google Maps API v3?
- 7. API de Google Maps vs API Multimapa/Bing Maps
- 8. Google Maps API limitaciones
- 9. Google Maps API
- 10. Geolocalización de puntos de acceso 802.11 por dirección MAC con la API de geolocalización de Google
- 11. ¿Abrir alternativas a Google-maps?
- 12. Google Maps API Geocode Sincrónicamente
- 13. Google Maps API Alerta clave
- 14. Función Google Maps API map.getCenter()
- 15. Google Maps API, ¿necesito comprar?
- 16. Google Maps API v3 BrowserIsCompatible
- 17. zombie.js y Google Maps API
- 18. Probando Google Maps API localmente
- 19. Cargando dinámicamente Google Maps api
- 20. Dirección de autocompletar + Google Maps API
- 21. La clave de la API de Google Maps no funciona
- 22. Validación de dirección con Google Maps API
- 23. Google Maps API v3: Administrador de dibujos
- 24. google maps v3 API mouseover con polígonos?
- 25. API de Google Maps para códigos postales
- 26. Cargando API de Google Maps con wp_enqueue_script
- 27. ocultar listados locales de google maps api
- 28. Google Maps API de JavaScript v3
- 29. Google Maps API 3 cuadro de búsqueda
- 30. GWT + API de Google Maps v3
Una solución no está aumentando el límite de llamada a la API, siempre podemos comprar más subsidio, pero es que la solicitud alta/segundo simplemente no es alcanzable. Acepto que necesitamos esta información en los datos transmitidos, pero que actualmente está fuera de nuestras manos, esperaba un enlace a una matriz de origen abierto de dicha información. –
Si no puede modificar la fuente de datos en sí, siempre puede usar el proxy de la secuencia de datos. Haga que su servidor se conecte a la fuente de datos, haga la geocodificación, luego transmita los datos + las coordenadas a los clientes. – josh3736