При выполнении сетевого анализа с помощью модуля arcpy.nax необходимо работать с классами пространственных объектов и таблицами, в которых хранятся входные и выходные данные для сетевого анализа. Каждый анализ содержит один или несколько типов классов пространственных объектов и таблиц, которые упоминаются в документации arcpy.nax как типы данных.
Модуль arcpy.nax имеет типы входных и выходных данных, которые специфичны для каждого анализа. Тип входных данных указывается при загрузке входных данных с помощью метода load или insertCursor. Например, чтобы загрузить остановки, используемые в анализе маршрута, используйте метод load для объекта Route и укажите тип входных данных arcpy.nax.RouteInputDataType.Stops. После выполнения анализа необходимо указать тип выходных данных для получения результатов с помощью метода export или searchCursor. Например, чтобы экспортировать маршруты, созданные анализом маршрутов, используйте метод export для объекта RouteResult и укажите тип выходных данных как arcpy.nax.RouteOutputDataType.Routes.
В следующем фрагменте кода показано, как загрузить остановки в анализ маршрута и экспортировать выходные маршруты после выполнения анализа:
import arcpy
arcpy.CheckOutExtension("network")
nds = "C:/data/NorthAmerica.gdb/Routing/Routing_ND"
nd_layer_name = "Routing_ND"
input_stops = "C:/data/io.gdb/Stops"
output_routes = "C:/data/io.gdb/Routes"
arcpy.nax.MakeNetworkDatasetLayer(nds, nd_layer_name)
route = arcpy.nax.Route(nd_layer_name)
route.load(arcpy.nax.RouteInputDataType.Stops, input_stops)
result = route.solve()
result.export(arcpy.nax.RouteOutputDataType.Routes, output_routes)
Для эффективного использования входных и выходных типов данных необходимо знать поля, поддерживаемые каждым типом данных. Поля входных типов данных позволяют задать различные параметры, влияющие на результаты анализа. Например, RouteInputDataType.Stops поддерживает поле RouteName. Это поле позволяет назначать остановки маршрутам и позволяет создавать несколько маршрутов в одном анализе. Поля выходных типов данных содержат атрибуты, описывающие результаты анализа. Например, RouteOutputDataType.Routes поддерживает поле Total_Minutes, которое содержит общее время в пути для маршрута в минутах.
Подсказка:
Метод fieldNames в анализе объектов можно применять, чтобы найти списое полей, поддерживаемых типом входных данных Объект result также имеет метод fieldNames, который можно использовать для получения списка полей, поддерживаемых выходным типом данных.
В других разделах справки этой категории содержатся описания полей, поддерживаемых различными типами данных.