问题描述
我正在研究获取特定地点的纬度和经度的项目,但结果不正确,因为我想要的“x 国家/地区”中的地点与“y 国家/地区”中的名称相同。 我想在搜索结果中添加国家/地区属性。
我正在使用此代码:
from geopy.geocoders import Nominatim
with open('C:/Users/UI UX/Desktop/test.txt') as f:
lines = f.readlines()
# print(lines)
for line in lines:
print(line.replace('\n',''))
geolocator = Nominatim(user_agent="my_user_agent")
loc = geolocator.geocode(line)
print("latitude is :",loc.latitude,"\nlongtitude is:",loc.longitude)
# print(loc.raw)
print('Location Address: ' + loc.address)
print('---------------------------------------------------')
请问有什么帮助吗?
解决方法
在您的地理编码请求中,您可以使用以下语法指定国家/地区列表:>>> from pathlib import Path
>>> file_list = Path('foo').glob('*.txt')
>>> sum(1 for f in file_list if f.name.endswith('.txt') and f.name != 'a.txt')
2
。国家/地区可以由两个字母的国家/地区代码 (ISO 3166-1) 指定。
请参阅 geopy 文档 here 和国家/地区代码列表 here。
例如
geocode(countries = your_list)
,
试试这个:
loc = geolocator.geocode(line,exactly_one=False)
它返回与您的查询匹配的位置列表。您可以在返回的列表中找到您的特定国家/地区。