SolverResultSearchCursor

Краткая информация

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

Обсуждение

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

Пример кода

Пример SolverResultSearchCursor

Использовать метод searchCursor и объект SolverResultSearchCursor для получения результатов анализа.

# An example showing how to use the searchCursor() method to access the output of an analysis
import arcpy
arcpy.CheckOutExtension("network")

nds = "C:/data/NorthAmerica.gdb/Routing/Routing_ND"
nd_layer_name = "Routing_ND"
input_origins = "C:/data/io.gdb/Origins"
input_destinations = "C:/data/io.gdb/Destinations"

# 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 OriginDestinationCostMatrix solver object
odcm = arcpy.nax.OriginDestinationCostMatrix(nd_layer_name)
# Set properties
odcm.travelMode = travel_mode
odcm.timeUnits = arcpy.nax.TimeUnits.Minutes
odcm.distanceUnits = arcpy.nax.DistanceUnits.Miles
odcm.lineShapeType = arcpy.nax.LineShapeType.NoLine
# Load inputs
odcm.load(arcpy.nax.OriginDestinationCostMatrixInputDataType.Origins, input_origins)
odcm.load(arcpy.nax.OriginDestinationCostMatrixInputDataType.Destinations, input_destinations)
# Solve the analysis
result = odcm.solve()

# Print the OD cost matrix results
if result.solveSucceeded:
    fields = ['OriginOID', 'DestinationOID', 'DestinationRank', 'Total_Time', 'Total_Distance']
    for row in result.searchCursor(arcpy.nax.OriginDestinationCostMatrixOutputDataType.Lines, fields):
        print(row)
else:
    print("Solve failed")
    print(result.solverMessages(arcpy.nax.MessageSeverity.All))