リクエストごとに約200のアドレスをジオコーディングし、1日に約3,000のリクエストを行う必要があります。 PHPを使用してこのサーバー側を実行します。 住所を緯度/経度に変換する方法は? を見ましたが、Google Maps HTTP RequestAPIまたはYahooGeocoding REST複数のアドレスを送信するためのAPI(これはサーバー側であるためJavaScriptを使用できません)。
私は主にこれを使用して座標に基づいて住所を並べ替え、APIがサポートしている場合は、各住所の不足しているデータを入力します。住所は米国のみになります。ジオコードの住所はユーザー入力からのものであるため、「番地、郵便番号」、「都市、州」などの自由形式である必要があります。座標にとって精度はそれほど重要ではありません。たとえば、500フィート以内です。
これを処理するための無料のAPIはありますか? YahooまたはGoogleにリクエストで複数の場所を実行させる方法はありますか?
geocoder.us は必要な処理を実行しますが、一括ルックアップでも同じ問題が発生する可能性があります。ただし、有料で一括検索を行います。
Google Maps API、Yahoo Maps Api、MapQuest API、およびMicrosoft Virtual EarthAPIを見てきました。これらの無料サービスはいずれも、一括ジオコーディングを許可していません。
ただし、Google Maps APIでは、1日あたり15,000のgoecodeが許可されています。しかし、一度にたくさん送ると、彼らはそれを嫌います。彼らは、リクエストの間に200ms待つことを提案しています。彼らはところでIPアドレスによってあなたを追跡します。
Yahooは1日あたり5,000を許可し、使いやすいAPIでもあります。 Microsoft Virtual Earthでは1日あたり5,000が許可されていますが、APIドキュメントはお尻の痛みです。
MapQuestは奇妙なだけで、良い結果が得られないようです(私が見た中で最も正確ではありません)。
一度に複数のリクエストを行えるように、実際には複数のサービスを切り替えるようにコードを設定しました。これは、一種のバルクエンコーディングをシミュレートします。
SC WebGIS Geocoder はこれを実行できる いくつかのジオコーディングAPI を提供します。これは無料で、コードからのバッチルックアップが可能です。または、バッチ処理のためにデータベースをアップロードすることもできます。
Mapquestには、バッチジオコーディングを可能にするAPIがあります。ただし、PHP用に直接提供しているわけではありません。ただし、プロトコルのドキュメントを調べて http://developer.mapquest.com/Library/SDK_Documentation/Protocols 自分で実装することはできます。ドキュメントでは、バルクジオコーディングをロケーションコレクションと呼んでいる場合があります。
これは奇妙に聞こえるかもしれませんが、私はしばらく前にサイトを作成し、クライアントはユーザーにZipのみを入力することを望み、残りのデータを提供しました。私はyahoo天気APIを使用しました。これは、当時、すべての天気データを含むxmlファイルを返し、ciy、state、Zipは米国の住所でうまく機能しました。
http://www.torchproducts.com/tools/geocode を見て、住所のリストをすばやくジオコーディングします
GDirections を使用します。一度に最大25のウェイポイントを許可し、それぞれにジオコーディングされた場所を返します。