#python-3.x #openstreetmap #osmnx
#python-3.x #openstreetmap #osmnx
Вопрос:
Каков был бы наилучший способ перебора списка адресов с использованием 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
Любая помощь приветствуется.
Комментарии:
1. Ничего не происходит, когда я запускаю второй фрагмент. Я не получаю никаких результатов и никаких ошибок. Вот и пример списка L
L = ['Pazinska,Zagreb,Croatia','Pulska, Pazin,Croatia','Zadarska,Zagreb,Croatia','Pazinska,Pula,Croatia']
Второе местоположение не существует и должно быть пропущено. Теоретически2. Я думаю, что результатом этого цикла должен быть список списков.
Ответ №1:
Вложите свой цикл for и попробуйте / 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)