Skip To Content

Feature in Linie

Mit der Advanced-Lizenz verfügbar.

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

Abbildung "Feature in Linie"

Verwendung

  • Eingabeattribute können optional in der Ausgabe-Feature-Class beibehalten werden. Dies wird durch die Option Attribute beibehalten im Dialogfeld (dem Parameter attributes 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 -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 attributes 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 wird für jeden Eingabeeintrag ein neues Feld, FID_xxx, hinzugefügt und auf die Quell-Feature-IDs festgelegt, wobei "xxx" der Name der Quell-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 Linien-Features mit identischer Geometrie in die Ausgabe geschrieben. Beide weisen die Attribute ihres Quell-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 Quell-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 den Wert 0 oder NULL-Werte auf.

    Wenn die Option Attribute beibehalten im Dialogfeld deaktiviert wird (bei der Skripterstellung wird der Parameter attributes 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 in Linie, um die gemeinsame Grenzlinie mit den IDs des linken und des rechten Polygon-Features als Attribute in der Ausgabe zu erhalten.

  • Dieses Werkzeug verwendet einen Kachelvorgang, um beim Verarbeiten sehr großer Datasets eine bessere Performance und Skalierbarkeit zu erzielen. Weitere Informationen finden Sie unter Geoverarbeitung mit großen Datasets.

Syntax

FeatureToLine(in_features, out_feature_class, {cluster_tolerance}, {attributes})
ParameterErklärungDatentyp
in_features
[in_features,...]

Die Eingabe-Features, die den Typ "Linie" oder "Polygon" oder beides haben können.

Feature Layer
out_feature_class

Die Ausgabe-Line-Feature-Class

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.

  • ATTRIBUTESDie Eingabeattribute werden in den Ausgabe-Features beibehalten. Dies ist die Standardeinstellung.
  • NO_ATTRIBUTESDie Eingabeattribute werden in den Ausgabe-Features weggelassen.
Boolean

Codebeispiel

FeatureToLine – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion "FeatureToLine" im unmittelbaren Modus verwendet wird.

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")
FeatureToLine – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript ist ein Beispiel für die Anwendung der Funktion "FeatureToLine" in einer Skriptumgebung.

# 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

# 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")

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen