SolverInsertCursor

Сводка

Специальный для типа входных данных курсор записи для класса solver, который может использоваться для добавления строк непосредственно во входные данные.

Описание

Экземпляры этого класса напрямую не создаются. Вместо этого они создаются через вызов метода insertCursor на одном из классов solver.

Обзор метода

МетодОбъяснение
insertRow (row)

Вставьте строку во входные данные механизма расчета сетевого анализа с помощью курсора.

Методы

insertRow (row)
ParameterОбъяснениеТип данных
row

Вставляемая строка представляет собой список или кортеж. Длина списка, порядок расположения в нем элементов и типы данных элементов списка должны соответствовать списку названий полей, который содержится в параметре field_names метода insertCursor, используемого для работы с курсором.

List

Пример кода

Пример SolverInsertCursor

Использовать метод insertCursor и объект SolverInsertCursor для настройки входных параметров анализа.

# An example showing how to use the insertCursor() method to set inputs for an analysis
import arcpy
arcpy.CheckOutExtension("network")

nds = "C:/data/NorthAmerica.gdb/Routing/Routing_ND"
nd_layer_name = "Routing_ND"
output_routes = "C:/data/io.gdb/Routes"

# Create a network dataset layer and get the desired travel mode for analysis
arcpy.nax.MakeNetworkDatasetLayer(nds, nd_layer_name)
nd_travel_modes = arcpy.nax.GetTravelModes(nd_layer_name)
travel_mode = nd_travel_modes["Driving Time"]

# Instantiate a Route solver object
route = arcpy.nax.Route(nd_layer_name)
# Set properties
route.timeUnits = arcpy.nax.TimeUnits.Minutes
route.travelMode = travel_mode
route.routeShapeType = arcpy.nax.RouteShapeType.TrueShapeWithMeasures
# Set input stops using insertCursor()
fields = ["Name", "RouteName", "SHAPE@XY"]
with route.insertCursor(arcpy.nax.RouteInputDataType.Stops, fields) as cur:
    cur.insertRow(["Stop 1", "Route 1", (-117.10191118199998, 32.634351493000054)])
    cur.insertRow(["Stop 2", "Route 1", (-116.97970607599996, 32.56210221400005)])
    cur.insertRow(["Stop 1", "Route 2", (-116.97141447099995, 32.654230331000065)])
    cur.insertRow(["Stop 2", "Route 2", (-117.00762504, 32.70097640100005)])
# Solve the analysis
result = route.solve()