Я хочу убедиться, что я получу лат и lng для правильного города. Например, Сидней в Австралии и Сиднее в Канаде. Это прекрасно работаетКак проехать город и страну до геокода
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'
ли возможно ли передать город и страну на геокод?
Вы правильно, он вернет список. Но список всех возможных мест. [Местонахождение (Ванкувер, район Большого Ванкувера, Британская Колумбия, Канада, (49.2608944, -123.1139382, 0.0)), Местонахождение (Ванкувер, Кларк Каунти, Вашингтон, Соединенные Штаты Америки, (45.6306954, -122.6744556, 0.0)), Местонахождение (Ванкувер, Сан-Антонио-дель-Текендама, Кундинамарка, Колумбия, (4.585473, -74.3518472, 0.0)), .... Это потребует дальнейшей обработки. нет другого более легкого пути? – jas
В документах есть этот пример: location = geolocator.geocode («175 5th Avenue NYC»). Я не знаю API геолокатора, но я полагаю, что geolocator.geocode (d ['city'] + "" + d ['country']) будет работать (1 строка с городом + страна вместо вызова параметра 2, который я не могу соответствие в документации) –
Да, он работает – jas