1

I am trying to plot the nearest Walmart store in Canada to a certain post code using ggmap. The function used to get the location is:

goodPoint<-geocode("M1L2K1 walmart canada")

This returned the lat and lon:

> goodPoint
       lon      lat
1    -79.30113  43.72304

When I check Google map search using the same search term and get the latitude and longitude I get 43.728933,-79.29565.

The difference between the returned latitude and longitude is about 1.1 km, so quite significant.

Can anyone suggest why there is this difference when in the documentation it states that it uses Google Maps for the location? Any suggestions for ways around this?

4

1 に答える 1

1

Google ジオコーダーからの実際の出力を見たことがありますか? ジオコーダは、マップ検索と同じものではありません。ジオコーダーは住所を解決しますが、「M1L2K1 カナダの近くにウォルマートを見つける」などの検索は実行しないことがわかっています。

https://maps.googleapis.com/maps/api/geocode/json?address=M1L2K1%20walmart%20canada&sensor=false

次の解析済みアドレスが生成されます。

"formatted_address" : "Scarborough, Ontario M1L 2K1, Kanada"
...
"location_type" : "APPROXIMATE",
...
"types" : [ "postal_code" ]

実際、Google はこれが「郵便番号解決」ジオコーディングであるとさえ言っています。

繰り返しますが、ジオコーディングは検索と同じではありません。「ウォルマート」は住所ではなく、合理的な検索用語です。

于 2013-09-19T13:49:34.887 に答える