最も正確なジオコードの選択
-
12-09-2019 - |
質問
使っています http://maps.google.com/maps/geo?一部の住所をジオコーディングするための Web サービス。
私が抱えている問題は、より完全な住所が必ずしもより正確な地理コードを提供するとは限らないということです。
例: 英国デンビーシャー州ランティシリオで通過することは、英国デンビーシャー州ランゴレンでランティシリオで通過するよりもはるかに正確です
XML の Accuracy 属性は、どのアドレスを選択するかを決定するのにあまり役に立たないようです。
他の人はこの問題にどう対処しましたか?最も/常に機能する最適なジオコードを選択する良い方法はありますか?
*少し余分な情報を編集する - アドレスを充填すると、アドレスの最初の行が無視され、ジオコーダーは別の、しかし正確なアドレスにジャンプします。この例では、ランゴレンの中央にあるキャッスル ストリートが選択されており、ランティシリオは無視されているように見えます。
kdgregory による編集:私が使用した 2 つの API リクエストは次のとおりです (API キーの欠落は問題ではないようです)。
http://maps.google.com/maps/geo?q=Llantysilio,+Denbighshire,+UK&sensor=false&output=xml
http://maps.google.com/maps/geo?q=Llantysilio,Llangollen,++Denbighshire,+UK&sensor=false&output=xml
解決 5
最終的に、英国の Google のジオコーディング Web サービスとの住所の一貫性には奇妙なメッセージが多すぎると結論付けましたが、最終的には、代わりに郵便番号を使用する、より正確な方法を見つけることができました。 どのように行われるか
他のヒント
あなたは正確さに私の友人を解釈しなければなりません。精度に2部、第1のアドレスmacthingは通常あります。第二部は、重要な部分です。あなたは、米国の精度レベル、または都市レベル、郵便番号重心、街路補間レベルまたは実際の小包の精度レベルに何かをジオコードすることができます。最初の例では4を有し、第2は、このサービスに高い方が良い。9.ある
精度値説明 0不明精度。 1つの国レベルの精度。 2リージョン(状態、州、県、等)レベル確度。 3つのサブ領域(郡、市など)のレベルの精度。 4町(市、村)レベルの精度。 5郵便番号(ジップコード)レベル確度。 6ストリート・レベルの精度。 7交差点レベルの精度。 8つのアドレスレベルの正確。 9前提レベルの精度(名、プロパティ名、ショッピングセンターなどの構築)。
おそらく Google が XAL 仕様に従っていません, ですが、むしろそれらをサブセットに実装します。
したがって、これは、必ずしも次のことができるわけではないことを意味します。
place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName
国と準地域は提供される場合がありますが、行政区域は提供されないためです。
返されたデータは、データに何が期待できるかを相対的に把握できる精度ゲージで識別されます。したがって、この変数を使用してオブジェクトを保存し、完全な住所の一部を切り取って、そのような方法でジオコーディングを試みることができますが、これはお勧めできません。
通常、完全な住所 (大通りを除く) は、大まかな場所を見つけるのに適した方法です。Google が提供する加重優先ロジックの一部を使用して、住所を絞り込むことができます。
例えば。検索の精度をさらに高めるには、setViewPort または set CountryCode を使用します。
ジオコーディングを覚えておいてください 科学ではありません. 。一貫した結果は期待できません。
ジオコードresponse.Placemark [0] GMAPを経由して、あなたが得たものをチェックして、レベルを取るか、もう一度試すことができます。私は順序でデフォルトを選択しました。
place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName
上で見たように、これは、より論理的に名前を付けることができます。 V2と多少互換性のない3つの作品をgmaps。
あなたはあなたの完全な住所とあなたの住所が含まれている単語のすべてのサブセットをジオコーディングで構成されて非常に醜いハックを試すことができ、あなたが逆ジオコーディングツールとそれらに関連する住所がを取得するために使用するジオコードの多くを得ます。 あなたは、あなたが最初に与えたものとそれらを比較住所がたくさんのを持っていたら、あなたは、最も正確なジオコードを取ります... 多くの要求、反復の多くは各単語に成長しているあなたには、いくつかの統計を作るためにあなたの住所、うまく醜い仕事に加えるが、楽しいことができます^^