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
Nachdem Sie den Analyse-Layer mit diesem Werkzeug erstellt haben, können Sie diesem mithilfe des Werkzeugs Standorte hinzufügen Netzwerk-Analyseobjekte hinzufügen, die Analyse mithilfe des Werkzeugs Berechnen berechnen und die Ergebnisse mithilfe des Werkzeugs In Layer-Datei speichern auf einem Datenträger speichern.
-
Wenn Sie das Werkzeug in Geoverarbeitungsmodellen verwenden und das Modell als Werkzeug ausgeführt wird, muss der Ausgabenetzwerkanalyse-Layer als Modellparameter festgelegt werden. Ansonsten wird der Ausgabe-Layer dem Inhaltsverzeichnis in ArcMap nicht hinzugefügt.
Syntax
Parameter | Erläuterung | Datentyp |
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.
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.
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.
| 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.
| 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.
| String |
overlap (optional) |
Determines if overlapping lines are generated when the service area lines are computed.
| Boolean |
split (optional) |
| 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.
| String |
restriction_attribute_name [restriction_attribute_name,...] (optional) |
Liste von Restriktionsattributen, die während der Analyse angewendet werden. | String |
polygon_trim (optional) |
| 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) |
| Boolean |
Codebeispiel
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")
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")
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)