2016-03-23 9 views
12

के साथ एक अनुरोध के बाद QUERY LIMIT प्राप्त करना मैं विभिन्न शहरों के अक्षांश और देशांतर को खोजने के लिए ggmap के geocode का उपयोग कर रहा हूं। यह कल पूरी तरह से ठीक काम करता है लेकिन आज केवल एक अनुरोध के बाद मुझे QUERY LIMIT मिल गया है।geocode

तथ्य अगर मैं सिर्फ पुस्तकालय और रन geocode इस पर क्वेरी सीमा त्रुटि फेंकता लोड में:

> library(ggmap) 
> geocode("Paris") 
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Paris&sensor=false 
    lon lat 
1 NA NA 
Warning message: 
geocode failed with status OVER_QUERY_LIMIT, location = "Paris" 

मैं stackoverflow लेकिन कोई पर विभिन्न विषयों की जाँच की एक ही समस्या है लगता है। मैंने यह देखने की कोशिश की कि क्या मैं 2500 सीमा से अधिक था (बहुत ही असंभव है लेकिन मैं कोडिंग के लिए नया हूं इसलिए मैंने कुछ गलत किया ...) और geocodeQueryCheck() 24 9 8 पढ़ता है लेकिन फिर जब भी मैं लाइब्रेरी चलाता हूं (ggmap)।

यह पंद्रह मिनट पहले एक बार काम करता था जब मैंने रुस्तुडियो को रिबूट किया लेकिन अब यह काम नहीं करता है, मैं पूरी तरह से खो गया हूं!

क्या किसी को पता है कि समस्या क्या हो सकती है?

पीएस: मैं स्टैक ओवरफ्लो के लिए नया हूं इसलिए यदि आपके पास कुछ भी टिप्पणी है तो कृपया मुझे बताएं!

+0

बहुत संभावना गूगल आपके प्रश्नों अवरुद्ध कर दिया। यदि ऐसा है, तो ऐसा न करें कि आप ऐसा कुछ भी कर सकते हैं, जब तक कि जी आपके प्रश्नों को स्वीकार करने का फैसला न करे। ध्यान रखें कि 'geocodeQueryCheck()' केवल एक आंतरिक काउंटर देता है, न कि आपके द्वारा छोड़े गए प्रश्नों की वास्तविक संख्या। यहां भी देखें: https://developers.google.com/maps/documentation/geocoding/intro#StatusCodes – nicola

+1

धन्यवाद, मैंने यही किया, अगले दिन यह पूरी तरह से काम किया! –

उत्तर

2

अनुरोध कुंजी का उपयोग नहीं करता है, जिसका अर्थ है: आप उसी सर्वर पर होस्ट किए गए सभी पृष्ठों के साथ कोटा साझा करते हैं (उसी आईपी पते/डोमेन के बाधाओं को हो सकता है)।

जैसा कि ऐसा लगता है कि यह लाइब्रेरी केवल व्यवसाय-उपयोगकर्ताओं को प्रमाण-पत्र प्रदान करने के लिए एक विकल्प का समर्थन करती है।

feature-request from 2014 है, लेकिन जब तक इसे लागू नहीं किया जाता है, मुझे डर है कि जब आप इस लाइब्रेरी का उपयोग करते हैं तो आप कुछ भी नहीं कर सकते (एक गैर-व्यवसाय-उपयोगकर्ता के रूप में) (पुस्तकालय को संशोधित करने के अलावा, लेकिन मैं ' मैं आर से परिचित नहीं हूं इसलिए मैं और मदद नहीं दे सकता)।

3

आप आप एक Google Maps API key प्राप्त कर सकते हैं, तो मेरे googleway पैकेज में इसका इस्तेमाल

library(googleway) 

key <- "your_api_key" 

google_geocode(address = "Paris", key = key) 

# $results 
# address_components 
# 1 Paris, Paris, Île-de-France, France, Paris, Paris, Île-de-France, FR, locality, political, administrative_area_level_2, political, administrative_area_level_1, political, country, political 
# 2 Paris, Lamar County, Texas, United States, Paris, Lamar County, TX, US, locality, political, administrative_area_level_2, political, administrative_area_level_1, political, country, political 
# formatted_address geometry.bounds.northeast.lat geometry.bounds.northeast.lng geometry.bounds.southwest.lat 
# 1  Paris, France      48.90214      2.469921      48.81557 
# 2 Paris, TX, USA      33.73838     -95.435455      33.61185 
# geometry.bounds.southwest.lng geometry.location.lat geometry.location.lng geometry.location_type 
# 1      2.225193    48.85661    2.352222   APPROXIMATE 
# 2     -95.627928    33.66094   -95.555513   APPROXIMATE 
# geometry.viewport.northeast.lat geometry.viewport.northeast.lng geometry.viewport.southwest.lat geometry.viewport.southwest.lng 
# 1      48.90214      2.469921      48.81557      2.225193 
# 2      33.73838      -95.435455      33.61185      -95.627928 
# place_id    types 
# 1 ChIJD7fiBh9u5kcRYJSMaMOCCwQ locality, political 
# 2 ChIJmysnFgZYSoYRSfPTL2YJuck locality, political 
# 
# $status 
# [1] "OK" 
+0

डाउन-वोट क्यों? – SymbolixAU

12

मैं स्थानों की एक बैच के लिए ggmap::geocode() का उपयोग कर एक ऐसी ही समस्या थी अपने कोटे के बारे में सुनिश्चित होना चाहते हैं जहां से लगभग 20% स्थानों ने QUERY LIMIT त्रुटि को दिया है, भले ही geocodeQueryCheck() पर्याप्त जियोकोडिंग क्वेरीज़ से अधिक दिखाएगा, और त्रुटियों को पूरे स्थान पर फैलाया गया था, न केवल अंतिम 20%। यदि मैं पहली बार विफल होने वाले स्थानों का सबसेट दोबारा चलाता हूं, तो फिर से अधिकांश काम करेंगे, इसलिए मुझे छोटे सबसेट के माध्यम से फिर से शुरू करना पड़ा जब तक कि उनके पास जियोकोड नहीं थे।

ggmap v2.7 उपयोगकर्ता को register_google() फ़ंक्शन के माध्यम से Google मानचित्र API कुंजी निर्दिष्ट करने की अनुमति देता है। v2.7 अभी तक CRAN पर नहीं है, इसलिए इसे स्थापित करने के लिए आपको devtools::install_github("dkahle/ggmap") का उपयोग करना होगा। उस संस्करण को अपडेट करने और मेरी एपीआई कुंजी register_google(key = "my_api_key") सेट करने के बाद, वही बैच अपेक्षित के रूप में एक रन में काम करता था।

गूगल मैप्स एपीआई कुंजी प्राप्त करने के लिए आसान है: https://developers.google.com/maps/documentation/geocoding/get-api-key

संबंधित मुद्दे