Геокодирование с использованием Geopy ArcGIS и Python

Я пытаюсь геокодировать несколько адресов с помощью Geopy и ArcGIS. Я настроил свой код для циклического просмотра CSV, проверки адреса и имени и предоставления отдельного столбца для широты и длинных координат.

Это что-то не так с моим кодом, когда он выполняется, он не предоставляет длинные координаты широты, а также неправильно перебирает CSV. Как мне сделать так, чтобы он перебирал несколько адресов и геокодировал их, давая широту и длинные координаты.

Ниже мой код:

import csv
from geopy.geocoders import ArcGIS


geolocator = ArcGIS() #here some parameters are needed

with open('C:/Users/v-albaut/Desktop/Test_Geo.csv', 'rb') as csvinput:
    with open('output.csv', 'w') as csvoutput:
       output_fieldnames = ['Name','Address', 'Latitude', 'Longitude']
   writer = csv.DictWriter(csvoutput, delimiter=',', fieldnames=output_fieldnames)
   reader = csv.DictReader(csvinput)
   for row in reader:
        ##here you have to replace the dict item by your csv column names
        query = ','.join(str(x) for x in (row['Name'], row['Address']))
        Address, (latitude, longitude) = geolocator.geocode(query)
        ###here is the writing section
        output_row = {}
        output_row['Name'] = Name
        output_row['Address'] = Address
        output_row['Latitude'] = Latitude
        output_row['Longitude'] =Longitude
        writer.writerow(output_row)

person Gonzalo68    schedule 07.07.2015    source источник


Ответы (1)


Имя, широта и долгота не были определены в этой области в строках

output_row['Name'] = Name
output_row['Address'] = Address
output_row['Latitude'] = Latitude
output_row['Longitude'] =Longitude

Там должны быть широта, долгота. Имя, я предполагаю, должно быть row['Name']. Также вы можете опубликовать фрагмент (заголовок и 1-2 строки) вашего CSV-файла?

person Akshat Harit    schedule 07.07.2015