web-dev-qa-db-ja.com

複数の住所をジオコーディングする

リクエストごとに約200のアドレスをジオコーディングし、1日に約3,000のリクエストを行う必要があります。 PHPを使用してこのサーバー側を実行します。 住所を緯度/経度に変換する方法は? を見ましたが、Google Maps HTTP RequestAPIまたはYahooGeocoding REST複数のアドレスを送信するためのAPI(これはサーバー側であるためJavaScriptを使用できません)。

私は主にこれを使用して座標に基づいて住所を並べ替え、APIがサポートしている場合は、各住所の不足しているデータを入力します。住所は米国のみになります。ジオコードの住所はユーザー入力からのものであるため、「番地、郵便番号」、「都市、州」などの自由形式である必要があります。座標にとって精度はそれほど重要ではありません。たとえば、500フィート以内です。

これを処理するための無料のAPIはありますか? YahooまたはGoogleにリクエストで複数の場所を実行させる方法はありますか?

17
ace2600

geocoder.us は必要な処理を実行しますが、一括ルックアップでも同じ問題が発生する可能性があります。ただし、有料で一括検索を行います。

GeoNames は、大量の生データまたは Webサービス のいずれかを介して十分な情報を提供しますか?

6
Mat

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は奇妙なだけで、良い結果が得られないようです(私が見た中で最も正確ではありません)。

一度に複数のリクエストを行えるように、実際には複数のサービスを切り替えるようにコードを設定しました。これは、一種のバルクエンコーディングをシミュレートします。

20
Chris Brandsma

SC WebGIS Geocoder はこれを実行できる いくつかのジオコーディングAPI を提供します。これは無料で、コードからのバッチルックアップが可能です。または、バッチ処理のためにデータベースをアップロードすることもできます。

5
dwgold

Mapquestには、バッチジオコーディングを可能にするAPIがあります。ただし、PHP用に直接提供しているわけではありません。ただし、プロトコルのドキュメントを調べて http://developer.mapquest.com/Library/SDK_Documentation/Protocols 自分で実装することはできます。ドキュメントでは、バルクジオコーディングをロケーションコレクションと呼んでいる場合があります。

2
Marek

これは奇妙に聞こえるかもしれませんが、私はしばらく前にサイトを作成し、クライアントはユーザーにZipのみを入力することを望み、残りのデータを提供しました。私はyahoo天気APIを使用しました。これは、当時、すべての天気データを含むxmlファイルを返し、ciy、state、Zipは米国の住所でうまく機能しました。

2
UnkwnTech

http://www.torchproducts.com/tools/geocode を見て、住所のリストをすばやくジオコーディングします

2
Okie

GDirections を使用します。一度に最大25のウェイポイントを許可し、それぞれにジオコーディングされた場所を返します。

0
liammclennan