使用地理编码器的 OSMNX 循环

OSMNX Looping with geocoder

如果地图上不存在某些位置,使用 geocoder.geocode 遍历地址列表的最佳方法是什么?我怎样才能跳过它们以使循环继续而不会出现此异常? Exception: Nominatim geocoder returned no results for query "Beli manastir planina,Bakar,Croatia" 以下是我尝试过的。

L = [location1, location2, location3, ..., location n]
KO = []
for l in L:
    KO = list(ox.geocoder.geocode(l))
    if Exception:
        continue
    KO.append(KO)

我也试过这个:

try: 
    KO = []
    for l in L:
         KO = list(ox.geocoder.geocode(l))
         KO.append(KO)
except Exception:
    pass

感谢任何帮助。

以不同方式嵌套您的 for 循环和 try/except。这是一个最小的可重现示例:

import osmnx as ox
ox.config(log_console=True, use_cache=True)

locations= ['Pazinska,Zagreb,Croatia',
            'Pulska, Pazin,Croatia',
            'Zadarska,Zagreb,Croatia',
            'Pazinska,Pula,Croatia']

coords = []
for location in locations:
    try: 
        coords.append(ox.geocoder.geocode(location))
    except Exception as e:
        print(e)