Pracuję nad projektem, który wymaga dużej ilości danych w czasie rzeczywistym na sekundę (osiągniętych przez websockets). Z tego powodu nie radzi sobie z wywołaniem interfejsu API Google'a w celu konwersji regionu City + do długiej współrzędnej. Osiągam wskaźnik sukcesu od 1 do 100. Czy istnieje nieograniczona alternatywa dla regionu City & do usługi Coordinate interfejsu API Google? Idealnie lokalnie przechowywane tablice JSON takich danych?Alternatywa Google Maps Geolocation API
Odpowiedz
Zwykle, gdy masz do czynienia z dużą liczbą punktów danych, możesz geokodować je raz na serwerze. Następnie możesz przesyłać strumienie/longs do swoich klientów, gotowe do użycia.
Google ma numer Geocoding web service, którego można używać z poziomu serwera, ale istnieje limit żądań wynoszący 2500/dzień. Jeśli to nie zadziała, możesz również zajrzeć do Nominatim z OSM; Mapquest hosts Usługa internetowa bez ograniczeń.
Spójrz na datasciencetoolkit.org. Oferują obraz maszyny wirtualnej/AMI, który można hostować na EC2 i wykonywać połączenia geolokalizacyjne na własny serwer, a zatem nie ma ograniczeń API.
Następnie jest także interfejs API geolokalizacji Yahoo, który ma wyższe limity niż Google.
Możesz skorzystać z usługi świadczonej przez Yahoo o nazwie YQL. Ta usługa jest bezpłatna w przypadku ograniczonej liczby wniosków, do 100 000 dziennie. Następnie możesz pobrać szerokość i długość geograficzną z pliku XML odpowiedzi w zapytaniu/wynikach/miejscu/centrum.
Jedna rzecz, którą zauważyłem w tej usłudze, to nazwy miast muszą być dokładne i możliwe jest uzyskanie wielu wyników.
http://developer.yahoo.com/yql/
Przykład YQL kwerendy XML
http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM geo.places WHERE text="Seattle" and placeTypeName = "Town"
Response:
<?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. Google Maps Geolocation api: dostęp nieskonfigurowany
- 2. Biblioteka Google Geolocation API
- 3. Google Maps API DeletedApiProjectMapError
- 4. Alternatywa API do trendów Google
- 5. Google Maps API directionsService.route różni się od Google Maps Directions
- 6. Google Maps Funkcja API map.getCenter()
- 7. Dynamicznie ładowanie Google Maps api
- 8. Adres autouzupełniania + Google Maps API
- 9. zombie.js i Google Maps API
- 10. Google Maps Api w warstwach
- 11. Google Maps API Geocode Synchronously
- 12. Google Maps API bez klucza?
- 13. google maps API dla C#
- 14. Google Maps API Key alert
- 15. Google Maps API, czy muszę kupić?
- 16. Google maps/places Wyszukiwanie interfejsu API przez telefon
- 17. Open Street Maps z Androidem Google Maps Api v2
- 18. Google Maps api dla strony rejestracji Android
- 19. Ładowanie Google Maps API z wp_enqueue_script
- 20. Google Maps API - domyślny typ kursora
- 21. Google Maps API 3 pole wyszukiwania
- 22. Google Maps API - Zachowanie dziwnej mapy "Przesunięcie"
- 23. Android Google Maps API v2 wyświetlacz trasa
- 24. Google Maps Android V2 i Direction API
- 25. MVC 4 i Google Maps API v3
- 26. Google Maps API: TypeError: a jest undefined
- 27. Odśwież/przeładuj mapy: Google maps API V2
- 28. Jak przenieść znacznik w Google Maps API
- 29. Zintegruj Google Maps API z iPhone'ową aplikacją
- 30. Google Maps API: Uzyskaj URL aktualnego widoku
rozwiązanie nie jest zwiększenie limitu połączeń API, możemy zawsze kupić więcej zasiłku, ale to, że wysokie żądanie/sekunda właśnie nie jest osiągalne. Zgadzam się, że potrzebujemy tych informacji w przesyłanych strumieniowo danych, ale to jest obecnie w naszych rękach, miałem nadzieję na link do tablicy z otwartym źródłem takich informacji. –
Jeśli nie można zmodyfikować samego źródła danych, zawsze można podać serwerowi proxy strumień danych. Niech twój serwer połączy się ze źródłem danych, zrób geokodowanie, a następnie wyślij dane do współrzędnych. – josh3736