ArcGIS Desktop

  • Dokumentation
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Passierte Quell-Features kopieren

Mit der Network Analyst-Lizenz verfügbar.

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

Erstellt zwei Feature-Classes und eine Tabelle, die Informationen über die Kanten, Knoten und Kantenübergänge enthalten, die beim Berechnen eines Netzwerkanalyse-Layers durchlaufen werden.

Weitere Informationen über die Ausgabe des Werkzeugs "Passierte Quell-Features kopieren"

Verwendung

  • Das Werkzeug berechnet den Eingabe-Netzwerkanalyse-Layer, wenn dieser noch nicht berechnet wurde. Der Analyse-Layer wird erneut berechnet, wenn die Eingaben seit der letzten Berechnung geändert wurden.

  • Passierte Quell-Features können für die folgenden Netzwerkanalyse-Layer generiert werden:

    • Route
    • Einzugsgebiet
    • Closest-Facility
    • Vehicle Routing Problem

    Passierte Quell-Features können für die folgenden Layer nicht generiert werden:

    • Start-Ziel-Kostenmatrix
    • Location-Allocation

  • Die Ausgabe-Junctions-Feature-Class enthält nicht nur Punkte, die durchlaufene Netzwerkknoten darstellen, sondern auch Punkte für Folgendes:

    • Durchlaufene Punkt-Barrieren
    • Anfangs- und Endpunkte durchlaufener Linien- und Polygon-Barrieren
    • Durchlaufene Stopps in einer Routenanalyse
    • Durchlaufene Einrichtungen und das Ende von Pausen in einer Einzugsgebiet-Analyse
    • Durchlaufene Einrichtungen und Ereignisse in einer Analyse der nächstgelegenen Einrichtung
    • Durchlaufene Aufträge, Depots und Pausen in einem Vehicle Routing Problem

    Weitere Informationen über die Ausgabe des Werkzeugs "Passierte Quell-Features kopieren"

  • Das Koordinatensystem für die Ausgabe-Feature-Classes kann durch Angabe der Umgebungsvariablen Output Coordinate System oder eines Feature-Datasets in einer Geodatabase als Wert für den Parameter "Ausgabespeicherort" gesteuert werden. Wenn die Umgebungsvariable "Output Coordinate System" nicht angegeben wurde oder wenn der Parameter "Ausgabespeicherort" kein Feature-Dataset ist, haben die Ausgabe-Feature-Classes das gleiche Koordinatensystem wie der Eingabe-Netzwerkanalyse-Layer.

Syntax

CopyTraversedSourceFeatures_na (input_network_analysis_layer, output_location, edge_feature_class_name, junction_feature_class_name, turn_table_name)
ParameterErläuterungDatentyp
input_network_analysis_layer

Der Netzwerkanalyse-Layer, aus dem passierte Quell-Features kopiert werden. Wenn der Netzwerkanalyse-Layer kein gültiges Ergebnis aufweist, wird der Layer berechnet, um ein solches zu erzeugen.

Network Analyst Layer
output_location

Der Workspace, in dem die Ausgabetabelle und zwei Feature-Classes gespeichert werden.

Workspace; Feature Dataset
edge_feature_class_name

Der Name der Feature-Class, die Informationen über die durchlaufenen Kanten-Quell-Features enthält. Wenn der berechnete Netzwerkanalyse-Layer keine Kanten-Features durchläuft, wird eine leere Feature-Class erstellt.

String
junction_feature_class_name

Der Name der Feature-Class, die Informationen über die passierten Knoten-Quell-Features enthält, einschließlich Systemknoten und relevanten Punkten aus dem Eingabe-Netzwerkanalyse-Layer. Wenn der berechnete Netzwerkanalyse-Layer keine Knoten durchläuft, wird eine leere Feature-Class erstellt.

String
turn_table_name

Der Name der Tabelle, die Informationen über die durchlaufenen globalen Kantenübergänge und Kantenübergangs-Features enthält, durch die Kosten für die zugrunde liegenden Kanten skaliert werden. Wenn der berechnete Netzwerkanalyse-Layer keine Kantenübergänge durchläuft, wird eine leere Tabelle erstellt. Da eingeschränkte Kantenübergange niemals durchlaufen werden, sind sie niemals in der Ausgabe enthalten.

String

Codebeispiel

CopyTraversedSourceFeatures – Beispiel 1 (Python-Fenster)

Das folgende Python-Skript veranschaulicht, wie Sie mit dem Werkzeug " Passierte Quell-Features kopieren" die durchlaufenen Kanten, Knoten und Kantenübergänge aus einem Routen-Netzwerkanalyse-Layer in eine Feature-Class und Tabelle in einem speicherresidenten Workspace schreiben.

arcpy.na.CopyTraversedSourceFeatures("Route", "C:/Data/Output.gdb",
                                     "TraversedEdges",
                                     "TraversedJunctions",
                                     "TraversedTurns")
CopyTraversedSourceFeatures – Beispiel 2 (Workflow)

Das folgende eigenständige Python-Skript veranschaulicht, wie Sie mit "CopyTraversedSourceFeatures" identische Straßen in den Routen von den Zählbezirksschwerpunkten zu den nächsten Feuerwachen suchen können . Anhand dieser Ergebnisse können Sie die Straßen ermitteln, die bei Notfällen am häufigsten genutzt werden.

# Name: CopyTraversedSourceFeatures_ex02.py
# Description: The scenario shows how to find the streets that are common to the
#              routes between the closest fire station and the census tract
#              centroids. These streets can be used to identify critical points
#              in case of an emergency. 
# Requirements: Network Analyst Extension 

#Import system modules
import os
import arcpy
from arcpy import env

try:
    #Check out the Network Analyst extension license
    arcpy.CheckOutExtension("Network")

    #Set environment settings
    env.workspace = "C:/data/SanFrancisco.gdb"
    env.overwriteOutput = True
    
    #Set local variables
    inNetworkDataset = "Transportation/Streets_ND"
    outNALayerName = "EmergencyRoutes"
    impedanceAttribute = "TravelTime"
    inFacilities = "Analysis/FireStations"
    inIncidents = "Analysis/TractCentroids"
    edgeFrequency = "in_memory/EdgeFrequency"
    outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
    outFeatures = "CriticalStreets"
    
    #Create a new closest facility analysis layer. For this scenario, the default 
    #value for all the remaining parameters statisfies the analysis requirements
    outNALayer = arcpy.na.MakeClosestFacilityLayer(inNetworkDataset, outNALayerName,
                                                   impedanceAttribute, "TRAVEL_FROM")
    
    #Get the layer object from the result object. The closest facility layer can 
    #now be referenced using the layer object.
    outNALayer = outNALayer.getOutput(0)
    
    #Get the names of all the sublayers within the closest facility layer.
    subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
    #Stores the layer names that we will use later
    facilitiesLayerName = subLayerNames["Facilities"]
    incidentsLayerName = subLayerNames["Incidents"]
    
    #Load fire station features as facilities and ensure that they are not
    #located on restricted portions of the network. Use default field mappings
    #and search tolerance
    arcpy.na.AddLocations(outNALayer,facilitiesLayerName,inFacilities,"", "",
                          exclude_restricted_elements = "EXCLUDE")
    
    #Load tract centroids as incidents and ensure that they are not located on
    #restricted portions of the network. Map the ID field from Tract Centroids
    #as the name for incidents using field mappings
    fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer, incidentsLayerName)
    fieldMappings['Name'].mappedFieldName = "ID"
    arcpy.na.AddLocations(outNALayer,incidentsLayerName, inIncidents,
                          fieldMappings,"", exclude_restricted_elements = "EXCLUDE")
    
    #Solve the closest facility layer and copy the travered source features to a
    #temporary in-memory workspace. Use default names for the output feature
    #classes and table. Get only the first output which are the edges traversed.
    traversedEdges = arcpy.na.CopyTraversedSourceFeatures(outNALayer,
                                                          "in_memory").getOutput(0)
    
    #Calculate the frequency of SourceOID in the traversed edges
    arcpy.analysis.Frequency(traversedEdges, edgeFrequency,
                             ["SourceOID", "SourceName"])
    
    #Get the full path to the streets feature class by describing the network
    #dataset referenced by the network analysis layer. 
    network = arcpy.Describe(outNALayer.dataSource)
    edgeSources = network.edgeSources
    for es in edgeSources:
        if es.name.lower() == "streets":
            streetsSource = os.path.join(os.path.dirname(network.catalogPath),
                                         es.name)
            break
    else:
        raise Exception("Failed to detrmine the path for the streets feature class")
    
    #Join the frequency field to the streets feature class. In order to speed up
    #the join select the streets that share a line segment with traversed streets.
    streetsLayer = "StreetsLayer"
    arcpy.management.MakeFeatureLayer(streetsSource,streetsLayer)
    arcpy.management.SelectLayerByLocation(streetsLayer, "SHARE_A_LINE_SEGMENT_WITH",
                                           traversedEdges)
    arcpy.management.JoinField(streetsLayer, "ObjectID", edgeFrequency,
                               "SourceOID", "FREQUENCY")
    
    #Copy the streets that have a frequency value to a new feature class.
    arcpy.management.SelectLayerByAttribute(streetsLayer, "SUBSET_SELECTION",
                                            "FREQUENCY IS NOT NULL")
    arcpy.management.CopyFeatures(streetsLayer,outFeatures)
    
    #Delete the Frequency field from the streets feature class
    arcpy.management.DeleteField(streetsLayer, "FREQUENCY")

    #Save the solved na layer as a layer file on disk with relative paths
    arcpy.management.SaveToLayerFile(outNALayer,outLayerFile,"RELATIVE")
    
    print "Script completed successfully"
    
except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "An error occurred on line %i" % tb.tb_lineno
    print str(e)

Umgebungen

  • Aktueller Workspace
  • Ausgabe-Koordinatensystem

Lizenzinformationen

  • ArcGIS Desktop Basic: Erfordert Network Analyst
  • ArcGIS Desktop Standard: Erfordert Network Analyst
  • ArcGIS Desktop Advanced: Erfordert Network Analyst

Verwandte Themen

  • Ausgabe des Werkzeugs "Passierte Quell-Features kopieren"

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Insider-Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
© Copyright 2016 Environmental Systems Research Institute, Inc. | Datenschutz | Rechtliches