Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 地理编码非地址:Geopy_Python_Google Maps_Geopy - Fatal编程技术网

Python 地理编码非地址:Geopy

Python 地理编码非地址:Geopy,python,google-maps,geopy,Python,Google Maps,Geopy,使用geopy对新西兰的酒类门店进行地理编码 我的问题是,有些地方没有街道地址,但在谷歌地图上。例如,堵塞: Furneaux Lodge, Endeavour Inlet, Queen Charlotte Sound, Marlborough 7250 通过浏览器进入谷歌地图GUI给我 然而,在地质学中,我得到一个GQueryError,说这个地理位置不存在 以下是地理编码的代码: def GeoCode(address): g=geocoders.Google(domain="m

使用geopy对新西兰的酒类门店进行地理编码

我的问题是,有些地方没有街道地址,但在谷歌地图上。例如,堵塞:

Furneaux Lodge, Endeavour Inlet, Queen Charlotte Sound, Marlborough 7250
通过浏览器进入谷歌地图GUI给我

然而,在地质学中,我得到一个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")

同时,我注意到“埃菲尔铁塔”很好用。有没有办法解决这个问题?有人能解释一下谷歌“位置”中埃菲尔铁塔和弗诺小屋的区别吗?

也许这是谷歌地图API的限制。但是,您似乎了解Furneaux Lodge,因此,如果Google Maps查询未返回答案,您可以将其用作Google Maps的后备:

>>> 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

谢谢佩德罗。这听起来是个合乎逻辑的想法。