Как разрешить пользователям выбирать полные адреса из базы данных адресов (шейп-файл)? - PullRequest
1 голос
/ 19 апреля 2019

Я создаю модель в ArcGIS Model Builder, которая позволяет пользователю искать адреса в базе данных адресов (сохраненной в виде шейп-файла), которая затем используется в качестве функции остановки в Network Analyst для обеспечения оптимального маршрута.Я могу найти несколько функций в почтовом индексе, но я не знаю, как извлечь один адрес.

База данных адресов, которую я сейчас использую, - это база данных Pointer для Северной Ирландии, которая содержит рядполя адреса, такие как номер здания, название здания, улица и почтовый индекс.Я написал скрипт на python для поиска почтовых индексов и преобразования объектов в шейп-файлы, но в результате (очевидно) появился ряд точечных объектов, которые находятся в области почтовых индексов.Мне трудно придумать сценарий, который бы объединял поля, найденные в базе данных адресов, чтобы найти единый точечный объект.Вот код, который я использовал для извлечения почтовых индексов из шейп-файла:

postcodei = arcpy.GetParameterAsText(0).upper()

outputLayer = arcpy.GetParameterAsText(1)

for address in addresses:
    QueryStringPosti = "POSTCODE = \'" + postcodei + "\'"
    arcpy.Select_analysis("Pointer_Fermanagh.shp","addressi.shp",QueryStringPosti)
    arcpy.CopyFeatures_management("addressi.shp", outputLayer)
    count = arcpy.GetCount_management("addressi.shp")

address_count = count.getOutput(0)
if int(address_count) > 0:
    outString = address_count + " buildings within this postcode were found and imported to shapefile"
else:
    outString = "*** ERROR: '" + postcodei + "' was not found"
arcpy.AddMessage(outString)

Приведенный выше скрипт работает нормально, но как я могу улучшить его, чтобы объединить поля в наборе данных для поиска одного адреса?Как вы можете видеть, я только начинаю с python, и поэтому любой вклад будет высоко ценится.

...