Feature zu Linie (Data Management)
Zusammenfassung
Hiermit wird eine Feature-Class mit Linien erstellt, die durch Konvertieren von Polygongrenzen in Linien oder durch Teilen von Linien- oder Polygon-Features oder von beiden Features an ihren Schnittpunkten generiert werden.
Abbildung
Verwendung
-
Eingabeattribute können optional in der Ausgabe-Feature-Class beibehalten werden. Dies wird durch die Option Attribute beibehalten im Dialogfeld (dem Parameter Attribute bei der Skripterstellung) bestimmt.
-
Wenn mehrere Feature-Classes oder -Layer in der Liste der Eingabe-Features angegeben werden, wirkt sich die Reihenfolge der Einträge in der Liste nicht auf den Ausgabe-Feature-Typ aus, aber der Raumbezug des obersten Eintrags in der Liste im Werkzeugdialogfeld (der erste Eintrag bei der Skripterstellung) wird während der Verarbeitung verwendet und auf die Ausgabe festgelegt.
-
Wenn sich Eingabelinien oder -Polygongrenzen an anderen Stellen als an den Start- oder Endstützpunkten berühren, kreuzen oder überlappen, werden sie an diesen Schnittpunkten geteilt. Jede der geteilten Linien wird zu einem Ausgabe-Linien-Feature. Wenn eine Eingabelinie oder eine -Polygongrenze nicht von einem anderen Feature geschnitten wird, wird ihr gesamtes Shape trotzdem als Linien-Feature ausgeschrieben.
-
Bei Multipart-Eingabe-Features haben die Ausgabelinien den Typ "Singlepart".
-
Bei Eingabe-Features, die parametrische (echte) Kurven sind, bleiben die Ausgabelinien auch bei Teilung echte Kurven. Dies gilt nicht für Shapefile-Daten.
-
Wenn die Option Attribute beibehalten im Dialogfeld aktiviert wird (bei der Skripterstellung wird der Parameter Attribute auf "ATTRIBUTES" festgelegt), werden die Attribute aller Eingabeeinträge in der Ausgabe in der Reihenfolge beibehalten, in der sie in der Eingabeliste aufgeführt sind. Der Ausgabe für jeden Eingabeeintrag wird ein neues Feld, FID_xxx, hinzugefügt und auf die Quellen-Feature-IDs festgelegt, wobei "xxx" der Name der Quellen-Feature-Class eines bestimmten Eingabeeintrags ist. Die Ausgabelinien werden mit ihren Attributen auf folgende Weise verknüpft:
- Bei lagegleichen Linien oder Polygongrenzen in demselben Eingabe-Feature-Set, z. B. der Grenze zwischen zwei Polygonen, werden zwei Line-Features mit identischer Geometrie in die Ausgabe geschrieben. Beide weisen die Attribute ihres Quellen-Features auf.
- Bei lagegleichen Linien oder Polygongrenzen aus zwei verschiedenen Eingabe-Feature-Sets, z. B. einer Linie, die eine Polygongrenze überlappt, wird nur ein Linien-Feature mit den Attributen beider Quellen-Features in die Ausgabe geschrieben.
- Wenn eine Ausgabelinie kein Feature in einem bestimmten Eingabe-Feature-Set überlappt, weist das Feld "FID_xxx" den Wert -1 auf, und die anderen Felder aus diesem Feature-Set weisen NULL-Werte auf.
Wenn die Option Attribute beibehalten im Dialogfeld deaktiviert wird (bei der Skripterstellung wird der Parameter Attribute auf "NO_ATTRIBUTES" festgelegt), wird keines der Eingabeattribute in der Ausgabe-Feature-Class beibehalten. Ein einzelnes Linien-Feature wird für jeden Satz von lagegleichen Linien oder Polygongrenzen in die Ausgabe geschrieben.
-
Wenn Eingabe-Features benachbarte Polygone enthalten, verwenden Sie stattdessen das Werkzeug Polygon zu Linie, um die gemeinsame Grenzlinie mit den IDs des linken und des rechten Polygon-Features als Attribute in der Ausgabe zu erhalten.
Syntax
Parameter | Erläuterung | Datentyp |
in_features [in_features,...] |
Die Eingabe-Features, die den Typ "Linie" oder "Polygon" oder beides haben können. | Feature Layer |
out_feature_class |
Die Feature-Class der Ausgabelinie | Feature Class |
cluster_tolerance (optional) |
Der Mindestabstand zwischen allen Feature-Koordinaten sowie die Entfernung, um die eine Koordinate während der räumlichen Berechnung in X- bzw. Y-Richtung (oder in beiden Richtungen) verschoben werden kann. Die Standard-XY-Toleranz ist auf 0,001 Meter bzw. das Äquivalent in Feature-Einheiten festgelegt. | Linear unit |
attributes (optional) |
Gibt an, ob die Eingabeattribute in der Ausgabe-Feature-Class beibehalten oder weggelassen werden sollen.
| Boolean |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "FeatureToLine" im unmittelbaren Modus verwenden.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.FeatureToLine_management(["majorrds.shp", "habitat_analysis.gdb/futrds"], "c:/output/output.gdb/allroads", "0.001 Meters", "ATTRIBUTES")
Das folgende eigenständige Skript ist ein einfaches Beispiel für die Anwendung der Funktion "FeatureToLine" in einer Scripting-Umgebung.
# Name: FeatureToLine_Example2.py # Description: Use FeatureToLine function to combine features from two # street feature classes into a single feature class, # then determine an area of impact around all streets # by buffering # Author: ESRI # import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables oldStreets = "majorrds.shp" newStreets = "habitat_analysis.gdb/futrds" uptodateStreets = "c:/output/output.gdb/allroads" # Use FeatureToLine function to combine features into single feature class arcpy.FeatureToLine_management([oldStreets, newStreets], uptodateStreets, "0.001 Meters", "ATTRIBUTES") # Use Buffer function to determine area of impact around streets roadsBuffer = "c:/output/output.gdb/buffer_output" arcpy.Buffer_analysis(uptodateStreets, roadsBuffer, "50 Feet", "FULL", "ROUND", "ALL")