如何通过城市和国家进行地理编码
how to pass city and country to geocode
我想确保获得正确城市的纬度和经度。例如,澳大利亚有悉尼,加拿大有悉尼。这工作正常
for d in listofobjs:
location = geolocator.geocode(d['city'])
d2 = {
'username': d['username'],
'latitude': location.latitude,
'longitude': location.longitude
}
listofobjs2.append(d2)
但是如果我尝试这样定位,我会收到错误消息
location = geolocator.geocode(d['city'],d['country'])
当我尝试从 locatoion 读取纬度时出现错误
AttributeError: 'list' object has no attribute 'latitude'
是否可以将城市和国家都传递给地理编码?
在文档中指出 geolocator.geocode 可以 return 0,1 或更多值。
该方法可以 return 一个列表,因此当您尝试将其作为单个结构元素访问时会出现错误消息。
或者遍历列表并根据需要追加到 listofobjs2。
您不能确定准确匹配 1 个位置。但是为什么要传递 2 个参数呢?我会将它们组合成一个字符串,就像文档示例中的那样:
"some address NYC"。因此,如果您这样提出请求:
d['city']+" "+d['country']
它会更好地匹配示例
我想确保获得正确城市的纬度和经度。例如,澳大利亚有悉尼,加拿大有悉尼。这工作正常
for d in listofobjs:
location = geolocator.geocode(d['city'])
d2 = {
'username': d['username'],
'latitude': location.latitude,
'longitude': location.longitude
}
listofobjs2.append(d2)
但是如果我尝试这样定位,我会收到错误消息
location = geolocator.geocode(d['city'],d['country'])
当我尝试从 locatoion 读取纬度时出现错误
AttributeError: 'list' object has no attribute 'latitude'
是否可以将城市和国家都传递给地理编码?
在文档中指出 geolocator.geocode 可以 return 0,1 或更多值。 该方法可以 return 一个列表,因此当您尝试将其作为单个结构元素访问时会出现错误消息。 或者遍历列表并根据需要追加到 listofobjs2。
您不能确定准确匹配 1 个位置。但是为什么要传递 2 个参数呢?我会将它们组合成一个字符串,就像文档示例中的那样:
"some address NYC"。因此,如果您这样提出请求:
d['city']+" "+d['country']
它会更好地匹配示例