Einzugsgebiet-Layer erstellen (Network Analyst)

Zusammenfassung

Erstellt einen Netzwerkanalyse-Layer für Einzugsgebiete und legt seine Analyseeigenschaften fest. Ein Einzugsgebiet-Analyse-Layer ist nützlich, wenn Sie die Erreichbarkeitsfläche von einem Einrichtungsstandort aus innerhalb eines gegebenen Grenzkostenwerts bestimmen möchten.

Verwendung

Syntax

MakeServiceAreaLayer_na (in_network_dataset, out_network_analysis_layer, impedance_attribute, {travel_from_to}, {default_break_values}, {polygon_type}, {merge}, {nesting_type}, {line_type}, {overlap}, {split}, {excluded_source_name}, {accumulate_attribute_name}, {UTurn_policy}, {restriction_attribute_name}, {polygon_trim}, {poly_trim_value}, {lines_source_fields})
ParameterErläuterungDatentyp
in_network_dataset

Das Netzwerk-Dataset, für das die Einzugsgebietanalyse ausgeführt wird.

Network Dataset Layer
out_network_analysis_layer

Name des zu erstellenden Netzwerkanalyse-Layers für das Einzugsgebiet.

String
impedance_attribute

Das Kostenattribut, das in der Analyse als Impedanz verwendet wird.

String
travel_from_to
(optional)

Gibt die Fahrtrichtung zu oder von den Einrichtungen an.

  • TRAVEL_FROMDas Einzugsgebiet wird in der Fahrtrichtung weg von den Einrichtungen erstellt.
  • TRAVEL_TODas Einzugsgebiet wird in der Fahrtrichtung hin zu den Einrichtungen erstellt.

Mithilfe dieser Option können in einem Netzwerk mit Beschränkungen für Einbahnstraßen und unterschiedlichen Impedanzen basierend auf der Fahrtrichtung unterschiedliche Einzugsgebiete ermittelt werden. Das Einzugsgebiet für einen Pizza-Lieferservice sollte beispielsweise von der Einrichtung weg erstellt werden, wobei das Einzugsgebiet für ein Krankenhaus zur Einrichtung hin erstellt werden sollte.

String
default_break_values
(optional)

Standardimpedanzwerte, die die Ausdehnung des Einzugsgebiets angeben, das berechnet werden soll. Der Standardwert kann durch die Angabe von Unterbrechungswerten für die Einrichtungen überschrieben werden.

Es können mehrere Polygonunterbrechungen festgelegt werden, um konzentrische Einzugsgebiete zu erstellen. Wenn Sie zum Beispiel 2-, 3- und 5-Minuten-Einzugsgebiete für dieselbe Einrichtung ermitteln möchten, geben Sie für den Parameter "Standard-Unterbrechungswerte" Folgendes ein: "2 3 5". (Die Zahlen 2, 3 und 5 müssen dabei durch Leerzeichen getrennt werden.)

String
polygon_type
(optional)

Gibt den Polygontyp an, der generiert werden soll.

  • SIMPLE_POLYSErstellt generalisierte Polygone. Diese können schnell erstellt werden und sind mit Ausnahme der Randbereiche recht genau. Dies ist die Standardeinstellung.
  • DETAILED_POLYSErstellt detaillierte Polygone. Diese stellen die Einzugsgebietslinien genau dar und können außerdem Inseln enthalten, die nicht abgedeckte Bereiche darstellen. Für diese Option wird deutlich mehr Zeit benötigt als für das Erstellen von generalisierten Polygonen.
  • NO_POLYSDeaktiviert die Polygonerstellung in Fällen, in denen nur Linien für das Einzugsgebiet gewünscht werden.

Wenn sich die verwendeten Daten auf ein Stadtgebiet mit einem gitterähnlichen Netzwerk beziehen, ist der Unterschied zwischen generalisierten und detaillierten Polygonen minimal. Bei Gebirgs- und Landstraßen zeigen detaillierte Polygone jedoch weitaus genauere Ergebnisse als generalisierte Polygone.

String
merge
(optional)

Gibt die Optionen an, um Polygone zusammenzuführen, für die ähnliche Unterbrechungswerte angegeben sind. Diese Option ist nur beim Generieren von Polygonen für mehrere Einrichtungen anwendbar.

  • NO_MERGEErstellt für jede Einrichtung ein eigenes Polygon. Die Polygone können dabei überlappen.
  • NO_OVERLAPErstellt für jede Einrichtung ein eigenes, jeweils am nächsten gelegenes Polygon. Die Polygone überlappen sich dabei nicht.
  • MERGE Verbindet die Polygone mehrerer Einrichtungen, die über den gleichen Unterbrechungswert verfügen.
String
nesting_type
(optional)

Gibt an, ob konzentrische Einzugsgebiet-Polygone als Scheiben oder als Ringe erstellt werden sollen. Diese Option ist nur anwendbar, wenn mehrere Unterbrechungswerte für die Einrichtungen angegeben werden.

  • RINGSDie Fläche der kleineren Unterbrechungen wird nicht mit eingeschlossen. Dadurch werden Polygone erstellt, die durch aufeinander folgende Unterbrechungen verlaufen. Verwenden Sie diese Option, wenn Sie die Fläche zwischen zwei Unterbrechungen ermitteln möchten.
  • DISKS Erstellt Polygone von der Einrichtung in Richtung der Unterbrechung. Beim Erstellen von 5- und 10-Minuten-Einzugsgebieten schließt das 10-Minuten-Einzugsgebiet-Polygon beispielsweise die Fläche des 5-Minuten-Einzugsgebiet-Polygons ein. Verwenden Sie diese Option, wenn Sie die gesamte Fläche von der Einrichtung bis zur Unterbrechung für jede einzelne Unterbrechung ermitteln möchten.
String
line_type
(optional)

Gibt den Linientyp an, der auf Grundlage der Einzugsgebiet-Analyse generiert werden soll. Wenn Sie die Option "TRUE_LINES" oder "TRUE_LINES_WITH_MEASURES" für große Einzugsgebiete auswählen, erhöht sich der entsprechende für die Analyse benötigte Arbeitsspeicherbedarf.

  • NO_LINESEs werden keine Linien generiert. Dies ist die Standardeinstellung.
  • TRUE_LINESLinien werden ohne Messwerte generiert.
  • TRUE_LINES_WITH_MEASURESLinien werden mit Messwerten generiert. Die Messwerte werden auf der Grundlage des Impedanzwerts an jedem Ende der Kante mit den interpolierten Zwischenstützpunkten generiert. Es empfiehlt sich nicht, diese Option zu verwenden, wenn eine höhere Performance gewünscht wird.
String
overlap
(optional)

Determines if overlapping lines are generated when the service area lines are computed.

  • OVERLAP Es wird ein separates Linien-Feature für jede Einrichtung eingeschlossen, wenn die Einrichtungen Einzugsgebietslinien haben, die lagegleich sind.
  • NON_OVERLAP Jede Einzugsgebietslinie wird höchstens einmal eingeschlossen und ist jeweils mit der am nächsten gelegenen Einrichtung (geringster Impedanzwert) verknüpft.
Boolean
split
(optional)
  • SPLITLinien zwischen zwei Unterbrechungen werden jeweils in zwei Linien geteilt, die dann in der jeweiligen Unterbrechung liegen. Dies ist nützlich, wenn Sie die Einzugsgebietslinien nach Unterbrechungen darstellen möchten. Für eine optimale Performance empfiehlt es sich, die Option "NO_SPLIT" zu verwenden.
  • NO_SPLITDie Linien werden an den Grenzen der Unterbrechungen nicht geteilt. Dies ist die Standardeinstellung.
Boolean
excluded_source_name
[excluded_source_name,...]
(optional)

Gibt die Liste der Netzwerkquellen an, die beim Generieren der Polygone ausgeschlossen werden sollen. Die Geometrie der durchlaufenen Elemente von den ausgeschlossenen Quellen wird aus allen Polygonen entfernt.

Dies ist nützlich, wenn Sie einige Netzwerkquellen haben, die Sie nicht in die Polygonerstellung einbinden möchten, da auf diese Weise weniger genaue Polygone erstellt werden oder diese Quellen für die Einzugsgebiet-Analyse belanglos sind. Wenn Sie beispielsweise in einem multimodalen Netzwerk mit Straßen- und Bahnstrecken ein Fahrzeit-Einzugsgebiet erstellen, sollten Sie die Bahnstrecken aus der Polygonerstellung ausschließen, um ein genaues Modell für die Fahrtstrecke eines Kraftfahrzeugs erstellen zu können.

Das Ausschließen einer Netzwerkquelle aus Einzugsgebiet-Polygonen bedeutet nicht, dass diese Quellen nicht durchlaufen werden. Durch das Ausschließen von Quellen aus Einzugsgebiet-Polygonen wird nur die Polygon-Form der Einzugsgebiete beeinflusst. Wenn Sie das Durchlaufen einer bestimmten Netzwerkquelle verhindern möchten, müssen Sie bei der Definition des Netzwerk-Datasets eine entsprechende Beschränkung anwenden.

String
accumulate_attribute_name
[accumulate_attribute_name,...]
(optional)

Liste der Kostenattribute, die während der Analyse akkumuliert werden sollen. Diese Akkumulationsattribute dienen ausschließlich zu Referenzzwecken. Der Solver verwendet nur das mit dem Parameter "Impedanz-Attribut" angegebene Kostenattribut zum Berechnen der Route.

For each cost attribute that is accumulated, a Total_[Impedance] property is added to the routes that are output by the solver.

String
UTurn_policy
(optional)

Wenden an Knoten, die beim Durchlaufen des Netzwerks zwischen Stopps auftreten, sind zulässig oder nicht.

  • ALLOW_UTURNSWenden sind an Knoten mit einer beliebigen Anzahl angrenzender Kanten erlaubt.
  • NO_UTURNSWenden sind an allen Knoten verboten. Beachten Sie, dass Wenden an Netzwerkstandorten auch dann erlaubt sind, wenn diese Einstellung ausgewählt wurde. Sie können jedoch die Eigenschaft "CurbApproach" der einzelnen Netzwerkstandorte festlegen, um Wenden zu verhindern.
  • ALLOW_DEAD_ENDS_ONLYWenden sind an allen Knoten verboten, außer es ist nur eine angrenzende Kante vorhanden (Sackgasse).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLYWenden sind an Knoten, an denen genau zwei angrenzende Kanten aufeinander treffen, nicht erlaubt; an Kreuzungen (alle Knoten mit drei oder mehr angrenzenden Kanten) oder in Sackgassen (Knoten mit genau einer angrenzenden Kante) sind sie erlaubt.
String
restriction_attribute_name
[restriction_attribute_name,...]
(optional)

Liste von Restriktionsattributen, die während der Analyse angewendet werden.

String
polygon_trim
(optional)
  • TRIM_POLYSKürzt die Polygone mit den Kanten an den Grenzen des Einzugsgebiets so weit, dass sie sich innerhalb der angegebenen Entfernung dieser äußeren Kanten befinden. Dies ist nützlich, wenn die Feature-Dichte im Netzwerk sehr gering ist und das Einzugsgebiet keine große Flächen ohne Features abdecken soll.
  • NO_TRIM_POLYSPolygone werden nicht gekürzt.
Boolean
poly_trim_value
(optional)

Gibt die Entfernung an, innerhalb der die Einzugsgebietspolygone gekürzt werden. Der Parameter umfasst einen Wert und die Einheiten für die Entfernung. Der Standardwert beträgt 100 Meter.

Linear unit
lines_source_fields
(optional)
  • LINES_SOURCE_FIELDS Fügen Sie den Einzugsgebietslinien die Felder "SourceID", "SourceOID", "FromPosition" und "ToPosition" hinzu, um Informationen zu den zugrunde liegenden Quellen-Features bereitzustellen, die während der Analyse durchlaufen werden. Dies kann hilfreich sein, um die Ergebnisse der Einzugsgebietslinien problemlos mit den ursprünglichen Quelldaten zusammenzuführen.
  • NO_LINES_SOURCE_FIELDSFügen Sie den Einzugsgebietslinien keine Quellenfelder (SourceID, SourceOID, FromPosition und ToPosition) hinzu.
Boolean

Codebeispiel

MakeServiceAreaLayer – Beispiel 1 (Python-Fenster)

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

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.MakeServiceAreaLayer_na("Transportation/Streets_ND","FireStationCoverage",
                              "Minutes")
MakeServiceAreaLayer – Beispiel 2 (Python-Fenster)

Ausführen des Werkzeugs unter Verwendung aller Parameter

import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/Paris.gdb"
arcpy.MakeServiceAreaLayer_na("Transportation/ParisNet","WarehouseCoverage",
                              "Drivetime","TRAVEL_FROM","5 10 15", 
                              "SIMPLE_POLYS", "NO_OVERLAP","RINGS","TRUE_LINES",
                              "NON_OVERLAP","NO_SPLIT",
                              ["Metro_Lines","Transfer_Stations",
                               "Transfer_Street_Station"],
                              ["Meters","Drivetime"],"ALLOW_DEAD_ENDS_ONLY",
                              ["Oneway"],"NO_TRIM_POLYS","",
                              "LINES_SOURCE_FIELDS")
MakeServiceAreaLayer – Beispiel 3 (Workflow)

Im folgenden eigenständigen Python-Skript wird veranschaulicht, wie das Werkzeug "MakeServiceAreaLayer" verwendet werden kann, um die 1-, 2- und 3-Minuten-Einzugsgebiete von Feuerwachen zu generieren.

# Name: MakeServiceAreaLayer_Workflow.py
# Description: Generate 1-,2-,3- minute service area around fire stations and 
#              save the results to a layer file on disk. The service area 
#              polygons can be used to visualize the areas that do not have 
#              adequate coverage from the fire stations 
# 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"
    outNALayer = "FireStationCoverage"
    impedanceAttribute = "TravelTime"
    inFacilities = "Analysis/FireStations"
    outLayerFile = "C:/data/output" + "/" + outNALayer + ".lyr"
    
    #Create a new service area layer. We wish to generate the service area 
    #polygons as rings, so that we can easily visualize the coverage for any 
    #given location. We also want overlapping polygons as we can determine the 
    #number of fire stations that cover a given location. We will specify these
    #options while creating the new service area layer.
    arcpy.MakeServiceAreaLayer_na(inNetworkDataset, outNALayer, 
                                  impedanceAttribute, "TRAVEL_FROM", "1 2 3", 
                                  "SIMPLE_POLYS", "NO_MERGE", "RINGS")
    
    #Load the fire stations as facilities using deafult field mappings and 
    #default search tolerance
    arcpy.AddLocations_na(outNALayer, "Facilities", inFacilities, "","")    
    
    #Solve the service area layer
    arcpy.Solve_na(outNALayer)
    
    #Save the solved service area layer as a layer file on disk with relative
    #paths
    arcpy.SaveToLayerFile_management(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)

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

7/10/2012