ArcGIS for Desktop

  • Dokumentation
  • Preise
  • Support

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS for Desktop

Ein vollständiges professionelles GIS

ArcGIS for Server

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
  • Preise
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Mehr...

Standorte hinzufügen

Mit der Network Analyst-Lizenz verfügbar.

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebung
  • Lizenzierungsinformationen

Zusammenfassung

Fügt einem Netzwerkanalyse-Layer ein Netzwerkanalyse-Objekt hinzu. Die Objekte werden bestimmten Sublayern, z. B. Stopps und Barrieren, hinzugefügt. Objekte werden als Features oder Datensätze eingegeben.

Verwendung

  • Dieses Werkzeug kann wiederholt ausgeführt werden, um Netzwerkanalyse-Objekte an den gleichen Sublayer anzufügen. Beispiel: Wenn die Stopps für einen Routen-Layer aus zwei Feature-Classes stammen, kann das Werkzeug zweimal aufgerufen werden. Verwenden Sie hierfür die Option "APPEND".

  • Wenn Sie die vorhandenen Netzwerkanalyse-Objekte vor dem Laden der neuen Objekte löschen möchten, verwenden Sie die Option "CLEAR".

  • Dieses Werkzeug wird erheblich schneller ausgeführt, wenn die im Netzwerk-Dataset als Netzwerkquellen verwendeten Feature-Classes über einen gültigen und aktuellen räumlichen Index verfügen.

  • Wenn Sie bewegliche Punkte hinzufügen, z. B. von einem Empfänger auf einem Fahrzeug erfasste GPS-Koordinaten, können Sie mit Peilungsmesswerten und einer Peilungstoleranz die Punkte im Netzwerk genauer verorten.

Syntax

AddLocations_na (in_network_analysis_layer, sub_layer, in_table, field_mappings, search_tolerance, {sort_field}, {search_criteria}, {match_type}, {append}, {snap_to_position_along_network}, {snap_offset}, {exclude_restricted_elements}, {search_query})
ParameterErläuterungDatentyp
in_network_analysis_layer

Der Netzwerkanalyse-Layer, dem die Netzwerkanalyse-Objekte hinzugefügt werden.

Network Analyst Layer
sub_layer

Der Sublayer des Netzwerkanalyse-Layers, dem die Netzwerkanalyse-Objekte hinzugefügt werden.

String
in_table

Die Feature-Class oder die Tabelle, die die Quelle für die neuen Netzwerkanalyse-Objekte ist.

Table View
field_mappings

Legt die Werte für die Eigenschaften der Netzwerkanalyse-Objekte fest. Eigenschaften können über die Eingabe-Feature-Class oder -Tabelle auf eine Konstante eingestellt oder einem Feld zugeordnet werden.

Zum Angeben des Parameterwertes wird ein NAClassFieldMappings-Objekt verwendet, das aus einer NAClassFieldMappings-Class abgerufen wurde. Das NAClassFieldMappings-Objekt ist eine Sammlung von NAClassFieldMap-Objekten, die Sie in die Lage versetzt, die Standardwerte festzulegen oder einen Feldnamen aus den Eingabe-Features für die Eigenschaften des Netzwerkanalyse-Objekts zuzuordnen. Wenn die Daten, die Sie laden, Netzwerkstandorte oder Standortbereiche auf Grundlage des für die Analyse verwendeten Netzwerk-Datasets enthalten, müssen Sie die Netzwerkstandortfelder aus den Eingabe-Features den Netzwerkstandorteigenschaften zuordnen. Die Angabe der Netzwerkstandortfelder in den Feldzuordnungen entspricht der Verwendung des Parameters Netzwerkstandortfelder statt Geometrie verwenden aus dem Werkzeugdialogfeld.

Achtung:

Wenn Sie die Feldzuordnung für einzelne Netzwerkstandorteigenschaften angeben, müssen Sie auch die Feldzuordnungen für die verbleibenden Netzwerkstandorteigenschaften angeben, um Werkzeugausführungsfehler zu vermeiden.

Network Analyst Class FieldMap
search_tolerance

Die Suchtoleranz zur Ermittlung der Eingabe-Features im Netzwerk. Features, die sich außerhalb der Suchtoleranz befinden, bleiben unverortet. Der Parameter umfasst einen Wert und die Einheiten für die Toleranz.

Der Parameter wird nicht für das Hinzufügen von Standorten zu den Sublayern "Linien-Barrieren" oder "Polygon-Barrieren" verwendet. In solchen Fällen verwenden Sie "#" als Parameterwert.

Linear unit
sort_field
(optional)

Ein Feld, in dem die Netzwerkanalyse-Objekte sortiert werden, wenn sie dem Netzwerkanalyse-Layer hinzugefügt werden. Standardmäßig ist es das Feld "ObjectID" in der Eingabe-Feature-Class oder der Tabelle.

Field
search_criteria
[[Source, SnapType],...]
(optional)

Legt fest, welche Quellen im Netzwerk-Dataset beim Ermitteln der Standorte durchsucht werden und welche Teile der Geometrie (auch als Fangtypen bezeichnet) verwendet werden.

Der Parameterwert wird als Liste mit geschachtelten Listen angegeben. Die geschachtelte Liste besteht aus zwei Werten, die den Namen und den Fangtyp für jede Netzwerkquelle angeben. Der Fangtyp wird anhand der Schlüsselwörter SHAPE, MIDDLE, END oder NONE angegeben.

  • SHAPE: Der Punkt befindet sich am nächsten Punkt eines Elements in dieser Netzwerkquelle.
  • MIDDLE: Der Punkt befindet sich am nächsten Mittelpunkt eines Elements in dieser Netzwerkquelle.
  • END: Der Punkt befindet sich am nächsten Endpunkt eines Elements in dieser Netzwerkquelle.
  • NONE: Der Punkt befindet sich nicht an Elementen in dieser Netzwerkquelle.
Beim Suchen von Standorten gibt der Parameterwert [["Streets","SHAPE"],["Streets_ND_Junctions","NONE"]] beispielsweise an, dass auf dem Shape der Quelle "Straßen" und nicht auf der Quelle " Streets_ND_Junctions" verortet werden kann.

Um mehrere Fangtypen für eine einzelne Netzwerkquelle anzugeben, verwenden Sie eine Kombination der Fangtypen-Schlüsselwörter getrennt durch einen Unterstrich. "MIDDLE_END" gibt beispielsweise an, dass die Standorte in der Mitte oder am Ende der Netzwerkquelle gefangen werden können.

Beim Hinzufügen von Netzwerkstandorten für Linien oder Polygone, wird auch bei Angabe anderer Fangtypen nur der Fangtyp "Shape" verwendet.

Alle nicht in dieser Liste aufgeführten Netzwerkquellen verwenden den Standard-Fangtyp. Es ist am sichersten, alle Netzwerkquellen in der Liste einzuschließen und den Fangtyp jeweils explizit festzulegen.

Value Table
match_type
(optional)
  • MATCH_TO_CLOSEST —Gleicht die neuen Netzwerkstandorte mit der nächstgelegenen Netzwerkquelle unter allen Quellen ab, für die ein Fangtyp in den Suchkriterien festgelegt wurde. Dies ist die Standardeinstellung.
  • PRIORITY —Gleicht die neuen Netzwerkstandorte mit der ersten Netzwerkquelle ab, für die ein Fangtyp in den Suchkriterien festgelegt wurde. Die Quellen werden in der Reihenfolge ihrer Priorität gesucht und die Suche wird beendet, wenn der Standort innerhalb der Suchtoleranz gefunden wurde.

Der Parameter wird nicht für das Hinzufügen von Standorten zu den Sublayern "Linien-Barrieren" oder "Polygon-Barrieren" verwendet. In solchen Fällen verwenden Sie "#" als Parameterwert.

Boolean
append
(optional)

Gibt an, ob neue Netzwerkanalyse-Objekte an vorhandene Objekte angehängt werden sollen.

  • APPEND —Fügt den bestehenden Objekten im ausgewählten Sublayer die neuen Netzwerkanalyse-Objekte hinzu.
  • CLEAR —Löscht die vorhandenen Netzwerkanalyse-Objekte und ersetzt diese durch die neuen Objekte.
Boolean
snap_to_position_along_network
(optional)

Gibt an, dass die Netzwerkstandorte entlang des Netzwerk-Datasets oder mit einem gewählten Abstand vom Netzwerk-Dataset gefangen werden sollen.

  • NO_SNAP — Die Geometrien der Netzwerkstandorte basieren auf den Geometrien der Eingabe-Features. Dies ist in Situationen nützlich, in denen Sie "CurbApproach" verwenden möchten, denn für die Netzwerkstandorte muss bekannt sein, auf welcher Seite der Bordsteinkante sich diese befinden.
  • SNAP — Wenn Sie Punkt-Features verwenden, wird der Punkt am Netzwerk gefangen und Sie können "CurbApproach" nicht verwenden. Dies ist nützlich, wenn es egal ist, auf welche Weise sich ein Fahrzeug einem Stopp nähert. Verwenden Sie diesen Parameterwert, wenn die Eingabe-Features Linien oder Polygone sind.

Der Parameter wird nicht für das Hinzufügen von Standorten zu den Sublayern "Linien-Barrieren" oder "Polygon-Barrieren" verwendet. In solchen Fällen verwenden Sie "#" als Parameterwert.

Boolean
snap_offset
(optional)

Beim Fangen eines Punktes im Netzwerk kann ein Fangversatz festgelegt werden. Ein Fangversatz von 0 bedeutet, dass der Punkt lagegleich mit dem Netzwerk-Feature (üblicherweise eine Linie) gefangen wird. Wenn der Punkt nicht auf dem Netzwerk-Feature liegen soll, geben Sie einen Fangversatz ein. Der Versatz bezieht sich auf die ursprüngliche Punktposition. Wenn sich der ursprüngliche Punkt also auf der linken Seite befunden hat, ist die neue Position nach links versetzt. Wenn er sich ursprünglich auf der rechten Seite befunden hat, ist die neue Position nach rechts versetzt.

Der Parameter wird nicht für das Hinzufügen von Standorten zu den Sublayern "Linien-Barrieren" oder "Polygon-Barrieren" verwendet. In solchen Fällen verwenden Sie "#" als Parameterwert.

Linear unit
exclude_restricted_elements
(optional)
  • EXCLUDE —Gibt an, dass die Netzwerkstandorte nur auf passierbaren Teilen des Netzwerks platziert werden. Dies verhindert, dass Netzwerkstandorte auf Elementen platziert werden, die Sie aufgrund von Beschränkungen oder Barrieren nicht erreichen können. Stellen Sie vor dem Hinzufügen der Netzwerkstandorte mithilfe dieser Option sicher, dass Sie bereits alle Einschränkungsbarrieren zum Eingabe-Netzwerkanalyse-Layer hinzugefügt haben, um die gewünschten Ergebnisse zu erhalten. Beim Hinzufügen von Barrierenobjekten ist dieser Parameter nicht anwendbar. In solchen Fällen verwenden Sie "#" als Parameterwert.
  • INCLUDE —Gibt an, dass die Netzwerkstandorte auf allen Elementen des Netzwerks platziert werden. Die Netzwerkstandorte, die mit dieser Option hinzugefügt werden, sind – wenn sie auf eingeschränkten Elementen platziert werden – möglicherweise während des Berechnungsprozesses nicht erreichbar.
Boolean
search_query
[[Source, Expression],...]
(optional)

Gibt eine Abfrage an, um die Suche auf eine Teilmenge der Features innerhalb einer Quell-Feature-Class zu beschränken. Dies empfiehlt sich, wenn keine Features gesucht werden sollen, die für einen Netzwerkstandort ungeeignet sind. Wenn Sie zum Beispiel Schwerpunkte von Polygonen laden und diese nicht auf Ortsstraßen verorten möchten, können Sie eine Abfrage definieren, die nur nach Hauptstraßen sucht.

Der Parameterwert wird als Liste mit geschachtelten Listen angegeben. Die geschachtelte Liste besteht aus zwei Werte, die den Namen und den SQL-Ausdruck für alle Netzwerkquellen angeben. Die Syntax für den SQL-Ausdruck hängt vom Typ der Quell-Feature-Class im Netzwerk ab. Wenn Sie beispielsweise Quellen-Feature-Classes abfragen, die in File- oder Enterprise-Geodatabases, Shapefiles oder SDC gespeichert sind, schließen Sie Feldnamen in doppelte Anführungszeichen ein: "CFCC". Wenn Sie Quellen-Feature-Classes abfragen, die in Personal-Geodatabases gespeichert sind, schließen Sie Felder in eckige Klammern ein: [CFCC].

Wenn Sie keine Abfrage für eine bestimmte Quelle angeben möchten, verwenden Sie "#" als Wert für den SQL-Ausdruck, oder schließen Sie den Quellennamen und den SQL-Ausdruck aus dem Parameterwert aus. Wenn Sie nicht für alle Netzwerkquellen eine Abfrage angeben möchten, verwenden Sie "#" als Parameterwert.

Der Parameterwert [["Streets","\"CFCC\" = 'A15'"], ["Streets_ND_Junctions",""]] gibt beispielsweise einen SQL-Ausdruck für die Quellen-Feature-Class "Streets" und keinen Ausdruck für die Quellen-Feature-Class "Streets_ND_Junctions" an. Beachten Sie, dass die doppelten Anführungszeichen, in die der Feldname CFCC eingeschlossen ist, mit umgekehrten Schrägstrichen als Escape-Zeichen versehen werden, um einen Analysefehler des Python-Interpreter zu vermeiden.

Value Table

Codebeispiel

AddLocations – Beispiel 1 (Python-Fenster)

Ausführen des Werkzeugs, wenn nur die erforderlichen Parameter verwendet werden.

hospitals = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals"
arcpy.na.AddLocations("Route", "Stops", hospitals, "", "")
AddLocations – Beispiel 2 (Python-Fenster)

Führen Sie das Werkzeug unter Verwendung aller Parameter aus.

hospitals = "C:/Data/SanFrancisco.gdb/Analysis/Hospitals"
arcpy.na.AddLocations("Route", "Stops", hospitals,
                      "Name Name #;Attr_Minutes VisitTime 0;CurbApproach # 0",
                      "2 Miles", "FID",
                      [["Streets", "SHAPE"], ["Streets_ND_Junctions", "NONE"]],
                      "MATCH_TO_CLOSEST", "CLEAR", "SNAP", "10 Feet", "EXCLUDE",
                      [["Streets", '"FREEWAY" = 0'],
                      ["Streets_ND_Junctions", ""]])
AddLocations Beispiel 3 (Workflow)

Mit dem folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "AddLocations" verwendet werden kann, um Ursprünge und Ziele in einen Start-Ziel-Kostenmatrix-Layer zu laden.

# Name: AddLocations_Workflow.py
# Description: The scenario shows how to calculate a travel time matrix between 
#              store features. Use the Add Locations tool to load origins and 
#              destinations into an OD Cost Matrix layer. Since the origins and 
#              destinations are the same in this case, the origins are first loaded 
#              from the store features using their geometry and the destinations
#              are loaded from the origins using network location fields to 
#              speed up the load times. 
# Requirements: Network Analyst Extension 

#Import system modules
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 = "StoreTravelTimeMatrix"
    impedanceAttribute = "TravelTime"
    inFeatures = "Analysis/Stores"
    searchTolerance = "500 Meters"
    searchQuery = [["Streets",'"FREEWAY" = 0'],["Streets_ND_Junctions",""]]
    odOrigins = "Origins"
    outLayerFile = "C:/data/output" + "/" + outNALayerName + ".lyr"
    
    #Create a new OD cost matrix analysis layer. For this scenario, the default 
    #value for all the remaining parameters statisfies the analysis requirements
    outNALayer = arcpy.na.MakeODCostMatrixLayer(inNetworkDataset, outNALayerName,
                                   impedanceAttribute)
    
    #Get the layer object from the result object. The OD cost matrix layer can 
    #now be referenced using the layer object.
    outNALayer = outNALayer.getOutput(0)
    
    #Get the names of all the sublayers within the OD cost matrix layer.
    subLayerNames = arcpy.na.GetNAClassNames(outNALayer)
    #Stores the layer names that we will use later
    originsLayerName = subLayerNames[odOrigins]
    destinationsLayerName = subLayerNames["Destinations"]
    
    #Get the origin layer object from within the OD cost matrix layer
    #The first layer returned by ListLayers is the OD cost matrix layer itself
    #which we don't want to use.
    for layer in arcpy.mapping.ListLayers(outNALayer)[1:]:
        if layer.datasetName == odOrigins:
            originsLayer = layer
            break
    else:
        raise Exception("Failed to get the origins layer object.")
    
    #Load store features as origins using the geometry of store features.
    #Ensure that the stores are not located on freeways by using a search query.
    #The OD cost matrix layer created previously is referred using its name. 
    arcpy.na.AddLocations(outNALayer,originsLayerName,inFeatures,"",
                          searchTolerance, exclude_restricted_elements = "EXCLUDE",
                          search_query = searchQuery)
    
    #Load origins as destinations using the network locations fields from 
    #origins. This is much faster than loading destinations from the store 
    #features using their geometry as their network locations have already been
    #calculated while loading them origins.
    #Create a field mappings object that supports network location fields from 
    #origins layer using the candidate fields from origins
    originsLayer = arcpy.management.MakeFeatureLayer(originsLayer,
                                                     outNALayerName+originsLayerName)
    candidateFields = arcpy.ListFields(originsLayer.getOutput(0))
    fieldMappings = arcpy.na.NAClassFieldMappings(outNALayer,
                                                  destinationsLayerName, True,
                                                  candidateFields)
    arcpy.na.AddLocations(outNALayer,destinationsLayerName,originsLayer,
                          fieldMappings,"")
    
    #Solve the od cost matrix layer. Halt the execution if there is an 
    #invalid location 
    arcpy.na.Solve(outNALayer,"HALT")
    
    #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 occured on line %i" % tb.tb_lineno
    print str(e)

Umgebung

  • Aktueller Workspace

Lizenzierungsinformationen

  • ArcGIS for Desktop Basic: Ja
  • ArcGIS for Desktop Standard: Ja
  • ArcGIS for Desktop Advanced: Ja

Verwandte Themen

  • Was sind Netzwerkanalyse-Objekte?
  • Überblick über das Toolset "Analyse"
  • Was bedeuten die Felder "Peilung" und "BearingTol"?
Feedback zu diesem Thema?

ArcGIS for Desktop

  • Startseite
  • Dokumentation
  • Preise
  • Support

ArcGIS Plattform

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

Über Esri

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