• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

地理编码非地址:地理位置

python 来源:Phil Donovan 9次浏览

使用地理编码在新西兰地理编码酒类网点。地理编码非地址:地理位置

我遇到的问题是有些地方没有街道地址,而是Google地图中的地方。例如,堵漏:

Furneaux Lodge, Endeavour Inlet, Queen Charlotte Sound, Marlborough 7250 

到谷歌地图通过浏览器GUI给我

然而,使用在Geopy我得到一个GQueryError说这句话的地理位置不存在。

下面是地理编码代码:

def GeoCode(address): 
    g=geocoders.Google(domain="maps.google.co.nz") 
    geoloc = g.geocode(address, exactly_one=False) 
    place, (lat, lng) = geoloc[0] 
    GeoOut = [] 
    GeoOut.extend([place, lat, lng]) 
    return GeoOut 

GeoCode("Furneaux Lodge, Endeavour Inlet, Queen Charlotte Sound, Marlboroguh 7250") 

同时,我注意到,“埃菲尔铁塔”工作正常。有没有解决这个问题,有人可以解释埃菲尔铁塔和Furneaux Lodge在谷歌“地点”之间的区别?

===========解决方案如下:

也许这是Google Maps API的限制。然而GeoNames似乎知道即将Furneaux Lodge,所以你可以使用它作为一个备用的谷歌地图,如果谷歌地图查询没有返回一个答案:

>>> from geopy import geocoders 
>>> gn = geocoders.GeoNames() 
>>> place, (lat, lng) = gn.geocode('Furneaux Lodge') 
>>> print('{}: {:.5f}, {:.5f}'.format(place, lat, lng)) 
Furneaux Lodge, F4, NZ: -41.08826, 174.18019 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)