Отправка 100 000 запросов на сервер hazards.fema.gov
определенно вызовет некоторые замедления на их сервере, но это в основном повлияет на ваш сценарий, так как вам нужно будет ждать, пока каждый отдельный запрос HTTP будет поставлен в очередь и получит ответ, что может занять очень много времени. долго обрабатывать.
Что было бы лучше, это отправить один запрос REST для всего, что вам нужно, а затем обработать лог c. Глядя на REST API, вы обнаружите, что параметр URL geometry
может принимать geometryMultiPoint
из документов . Вот пример мультипункта:
{
"points" : [[-97.06138,32.837],[-97.06133,32.836],[-97.06124,32.834],[-97.06127,32.832]],
"spatialReference" : {"wkid" : 4326}
}
Итак, вы можете создать объект для хранения всех точек, которые вы хотите запросить:
multipoint = { points: [], spatialReference: { wkid: 4326}
И когда вы oop, добавьте точку широты / долготы в список многоточечности:
for i in range(len(df.index)):
address = df["Address"][i]
geocode_result = geocode(address=addrs, as_featureset=True)
latitude = geocode_result.features[0].geometry.x
longitude = geocode_result.features[0].geometry.y
multiPoint.points.append([latitude, longitude])
Затем вы можете установить многоточечность как geometry
в вашем запросе, что приведет к одному запросу API вместо одного для каждой точки. .