在 Jupyter 笔记本中使用 Geopy - 我的 lambda 查询没有运行
Using Geopy in a Jupyter notebook - my lambda query isn't functioning
我在 Jupyter Notebook 和 Python 中使用 Geopy。我想检索街道地址的纬度和经度。我想将查询限制在德克萨斯州,而 lambda 代码无法正常工作……有人可以帮忙吗?即使使用“Houston, Tx”也不起作用。街道地址是“1931 Santa Rosa, Houston, Tx 77023”。
#pip install geopy #https://geopy.readthedocs.io/en/latest/
from geopy.geocoders import Nominatim
from functools import partial
import urllib.parse
geocode = lambda query: geolocator.geocode("%s, Houston, TX" % query)
geolocator = Nominatim(user_agent="team5")
location = geolocator.geocode("1931 Santa Rosa 77023")
print((location.latitude, location.longitude))
print(location.address)
以上结果为:
(30.8757886, -87.2426917)
1931, Brownsdale Loop Road, Santa Rosa County, Florida, 32565, 美国
当您调用 location = geolocator.geocode("1931 Santa Rosa 77023")
时,您正在覆盖顶部的查询分配
geolocator = Nominatim(user_agent="team5")
geocode = lambda query: geolocator.geocode("%s, Houston, TX" % query)
print(geocode("1931 Santa Rosa 77023")) # CUSTOM QUERY
print(geolocator.geocode("1931 Santa Rosa 77023")) # WITHOUT CUSTOM QUERY
查看输出的差异
None
1931, Brownsdale Loop Road, Santa Rosa County, Florida, 32565, United States
但是请注意,您可以随时 运行
print(geolocator.geocode("1931 Santa Rosa 77023", exactly_one=False))
获取给定地址的所有可用位置的列表,在这种情况下,佛罗里达州似乎是唯一与您的查询字符串匹配的位置
如果您 运行 使用 openmaps
自己手动搜索,则可以确认这一点
我在 Jupyter Notebook 和 Python 中使用 Geopy。我想检索街道地址的纬度和经度。我想将查询限制在德克萨斯州,而 lambda 代码无法正常工作……有人可以帮忙吗?即使使用“Houston, Tx”也不起作用。街道地址是“1931 Santa Rosa, Houston, Tx 77023”。
#pip install geopy #https://geopy.readthedocs.io/en/latest/
from geopy.geocoders import Nominatim
from functools import partial
import urllib.parse
geocode = lambda query: geolocator.geocode("%s, Houston, TX" % query)
geolocator = Nominatim(user_agent="team5")
location = geolocator.geocode("1931 Santa Rosa 77023")
print((location.latitude, location.longitude))
print(location.address)
以上结果为:
(30.8757886, -87.2426917) 1931, Brownsdale Loop Road, Santa Rosa County, Florida, 32565, 美国
当您调用 location = geolocator.geocode("1931 Santa Rosa 77023")
时,您正在覆盖顶部的查询分配
geolocator = Nominatim(user_agent="team5")
geocode = lambda query: geolocator.geocode("%s, Houston, TX" % query)
print(geocode("1931 Santa Rosa 77023")) # CUSTOM QUERY
print(geolocator.geocode("1931 Santa Rosa 77023")) # WITHOUT CUSTOM QUERY
查看输出的差异
None
1931, Brownsdale Loop Road, Santa Rosa County, Florida, 32565, United States
但是请注意,您可以随时 运行
print(geolocator.geocode("1931 Santa Rosa 77023", exactly_one=False))
获取给定地址的所有可用位置的列表,在这种情况下,佛罗里达州似乎是唯一与您的查询字符串匹配的位置
如果您 运行 使用 openmaps
自己手动搜索,则可以确认这一点