7

PHPスクリプトで一度に5000以上の住所をジオコーディングしようとしています(これは一度しか実行されません)。

これを行うための潜在的なリソースとして Google を調べてきましたが、200 ほどのクエリを実行した後、Google がその日を開始するというレポートを読みました。

5000 かそこらの住所をジオコーディングする他の方法、Google オファーなどの別のサービス、または私が使用できる同様のものがあるかどうか疑問に思っていました。

それとも、これをずらす必要がありますか?問題は、私にはあまり時間がなく、1 日に 200 または 300 を実行して 5000 の結果を得るには、ほぼ 5 (作業) 週間かかることです。

ありがとう

トム

4

5 に答える 5

13

代わりに Bing Maps を使用することもできます。Spatial Data APIは、数千の住所を一度にバッチ ジオコーディングするために作成されています (このリンクは、PHP での使用方法に関する詳細なチュートリアルです)。

http://www.bingmapsportal.comでキーを登録するだけで済みますが、これは無料で迅速です (数分以内に確認メールが届きます)。

于 2010-10-13T11:55:42.133 に答える
6

送信できるジオコード リクエストの数に制限はありますか?

24 時間に 2,500 を超えるジオコード リクエストが 1 つの IP アドレスから受信された場合、またはジオコード リクエストが 1 つの IP アドレスから送信される速度が速すぎる場合、Google Maps API ジオコーダはステータス コード 620 で応答を開始します。

[...]

後で使用するためにキャッシュするためにジオコーディング Web サービスに大量の住所を送信する必要がある場合は、この目的のために別のバッチ ジオコーディング クォータを提供するGoogle Maps API Premierを検討する必要があります。

-- http://code.google.com/apis/maps/faq.html#geocoder_limit

@Pekka が述べたように、Google の利用規約では、地図上に表示する以外の目的でジオコーディングを禁止していることに注意してください。

于 2010-10-13T11:29:43.803 に答える
1

@Bart Kiers が言うように、24 時間に実行できるリクエストの数には制限があります。1 時間あたり (?) の「速すぎない」制限もあります。(1 日あたりの秒数) 86400/2500 (制限) を割って、1 時間あたりの「速すぎる」制限を超えないクエリ レートを取得することをお勧めします。35 秒あたり約 1 つのクエリで、2 日で結果が得られます。

ただし、リターン コードを確認してください。サービスが 620 を返し始めた場合は、サービスを停止してしばらく休ませてください。そうしないと、禁止される危険があります。

于 2010-10-13T11:46:01.537 に答える
0

あなたがやろうとしていることは、実際には Google の利用規約に従っていません。

とはいえ、ジオコーディング リクエスト間で少なくとも 250 ミリ秒の間一時停止しないと、Google は「割り当て超過」レスポンスを返し始めます。

実際には、1 秒間に 2 つのリクエストしか行わない場合、2,500 日の制限までスロットリングされません。

于 2010-10-13T12:09:30.643 に答える