2016-03-23 1 views
12

私はggmapのジオコードを使用して、異なる都市の緯度と経度を検索しています。昨日は完全に正常に機能しましたが、今日はたった1回のリクエストでクエリの制限を超えてしまいます。ジオコードでリクエストした後にQUERY LIMITを取得する

は、私はちょうどそれがOVERクエリ制限エラーをスローライブラリと実行ジオコードをロードする場合、実際には:私はstackoverflowの誰も上のさまざまなトピックを確認

> 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" 

同じ問題を抱えているようです。 geocodeQueryCheck()は2498を読み込みますが、ライブラリを実行するたびに再設定されます(ggmap )。

私はRstudioをリブートしたときに1回15分働いていましたが、今はもう動作しません。私は完全に失われています!

誰も問題が何であるか考えている人はいますか?

PS:私はstackoverflowに新しいですので、何かの発言があれば教えてください!

+0

Googleがあなたのクエリをブロックされた可能性が非常に高いです。そのような場合は、Gがあなたの質問を受け入れることを決めるまでしばらくお待ちください。 'geocodeQueryCheck()'は、残っている実際のクエリ数ではなく内部カウンタを返します。こちらもご覧ください:https://developers.google.com/maps/documentation/geocoding/intro#StatusCodes – nicola

+1

ありがとう、それは私がやったことです、次の日は完璧に働いた! –

答えて

2

リクエストはキーを使用しません。つまり、同じサーバー上でホストされているすべてのページ(同じIPアドレス/ドメインのハウンダッド)でクォータを共有します。

このライブラリでは、ビジネスユーザーが資格情報を提供するオプションしかサポートしていないようです。

feature-request from 2014がありますが、実装されていない限り、私はこのライブラリを使用すると(ビジネスユーザではない)何もできないと思います(ライブラリを変更する場合を除き、 Rに慣れていないので、私はさらに助けてもらえません)。

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

をそれを使用する私はの約20%の場所のバッチのggmap::geocode()を使用して同様の問題がありましたgeocodeQueryCheck()には十分なジオコーディングクエリが残っていますが、過去20%だけでなく、場所全体に散発的にエラーが散見されていましたが、場所のOVER QUERY LIMITエラーが発生しました。私が最初に失敗した場所の部分集合を再配置すると、ほとんどの場合もうまくいくはずですので、すべてがジオコードを持つまで、より小さな部分集合を反復しなければなりませんでした。

ggmap v2.7では、register_google()機能を使用してGoogle Maps APIキーを指定できます。 v2.7はまだCRANにはないので、インストールにはdevtools::install_github("dkahle/ggmap")を使用する必要があります。そのバージョンに更新してAPIキーregister_google(key = "my_api_key")を設定した後、同じバッチが1回の実行で期待通りに機能しました。

GoogleマップAPIキーを取得するのは簡単です: https://developers.google.com/maps/documentation/geocoding/get-api-key

関連する問題