ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

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

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Polygon in Linie

  • Zusammenfassung
  • Abbildung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

Erstellt eine Feature-Class, die Linien enthält, die aus Polygongrenzen mit oder ohne Berücksichtigung benachbarter Polygone umgewandelt wurden.

Abbildung

Abbildung "Polygon in Linie"

Verwendung

  • Wenn das Kontrollkästchen Informationen zu benachbarten Polygonen identifizieren und speichern aktiviert ist (in Python: neighbor_option ist auf IDENTIFY_NEIGHBORS festgelegt), wird die Beziehung zu benachbarten Polygonen analysiert. Wie oben illustriert werden die Grenzen unter Berücksichtigung sich kreuzender oder gemeinsamer Segmente in Linien umgewandelt. Die Ausgabe-Feature-Class wird mit zwei neuen Feldern (LEFT_FID und RIGHT_FID) ergänzt und auf die Feature-IDs der Eingabepolygone links und rechts der einzelnen Ausgabelinien gesetzt. Die Attribute der Eingabe-Features werden in der Ausgabe-Feature-Class nicht beibehalten. Folgende Szenarien sollen den Vorgang und die Ausgabe weitergehend illustrieren:

    • In einer Polygongeometrie wird die äußere Grenze immer im Uhrzeigersinn gespeichert. Wenn das Polygon ein Loch hat, wird die Lochgrenze (innere Grenze) immer gegen den Uhrzeigersinn gespeichert. Bei einem Polygon ohne Nachbarn auf der linken Seite der Außengrenze (außerhalb) und der Lochgrenze (innerhalb) weisen die resultierenden Linien daher im Feld LEFT_FID den Wert -1 und im Feld RIGHT_FID die Polygon-Feature-ID auf.
    • Enthält ein Polygon ein anderes Polygon, wird eine Ausgabelinie im Uhrzeigersinn als gemeinsame Grenze erstellt. Das zugehörige Feld LEFT_FID enthält dann die Feature-ID des äußeren Polygons und das Feld RIGHT_FID die Feature-ID des inneren Polygons.
    • Teilen sich zwei Polygone einen Teil ihrer Grenzen, wird als gemeinsames Segment eine Ausgabelinie gebildet. Die Linienrichtung ist beliebig; LEFT_FID und RIGHT_FID werden entsprechend auf die Feature-ID des linken oder rechten Polygons festgelegt.
    • Überlappt ein Polygon ein anderes, werden zwei Ausgabelinien erstellt. Diese stellen jede sich kreuzende Grenze zweimal dar: die erste Linie entspricht der äußeren Grenze eines der überlappenden Polygone. LEFT_FID ist daher die Feature-ID des Polygons, die sie schneidet. RIGHT_FID ist die eigene Polygon-Feature-ID. Die zweite Linie verläuft in der entgegengesetzten Richtung und teilt das andere Polygon. Daher sind LEFT_FID und RIGHT_FID mit der Feature-ID des anderen Polygons identisch.
    • Multiparts in Eingabepolygonen werden nicht beibehalten; die Ausgabelinien sind alle Singlepart.

    Für parametrische (echte) Kurven-Eingabe-Features bleiben die Ausgabelinien auch bei Teilung echte Kurven. Dies gilt nicht für Shapefile-Daten.

    Diese Option verwendet einen Kachelvorgang, um beim Verarbeiten sehr großer Datasets eine bessere Performance und Skalierbarkeit zu erzielen. Weitere Informationen finden Sie unter Gekachelte Verarbeitung großer Datasets.

  • Wenn das Kontrollkästchen Informationen zu benachbarten Polygonen identifizieren und speichern deaktiviert ist (in Python: neighbor_option ist auf IGNORE_NEIGHBORS festgelegt), wird die Beziehung zu benachbarten Polygonen ignoriert. Jede Eingabepolygongrenze wird als eingeschlossenes Linien-Feature ausgegeben. Ein Multipart-Polygon wird als Multipart-Linie ausgegeben. Die Attribute der Eingabe-Features werden in der Ausgabe-Feature-Class beibehalten. Das Feld ORIG_FID wird der Ausgabe-Feature-Class hinzugefügt und auf die IDs der einzelnen Eingabe-Features gesetzt.

Syntax

arcpy.management.PolygonToLine(in_features, out_feature_class, {neighbor_option})
ParameterErklärungDatentyp
in_features

Die Eingabe-Features müssen Polygone sein.

Feature Layer
out_feature_class

Die Ausgabe-Line-Feature-Class

Feature Class
neighbor_option
(optional)

Gibt an, ob Informationen zu benachbarten Polygonen identifiziert und gespeichert werden sollen.

  • IDENTIFY_NEIGHBORS —Informationen zu benachbarten Polygonen werden identifiziert und in der Ausgabe gespeichert. Wenn verschiedene Segmente eines Polygons ihre Grenze mit anderen Polygonen teilen, wird die Grenze so geteilt, dass jedes eindeutig gemeinsame Segment zu einer Linie wird. Die FIDs der beiden benachbarten Polygone werden in der Ausgabe gespeichert. Dies ist die Standardeinstellung.
  • IGNORE_NEIGHBORS —Informationen zu benachbarten Polygonen werden ignoriert. Jede Polygongrenze wird zu einem Linien-Feature; die ursprüngliche Polygon-Feature-ID wird in der Ausgabe gespeichert.
Boolean

Codebeispiel

PolygonToLine – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion PolygonToLine im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.PolygonToLine_management("Habitat_Analysis.gdb/vegtype", 
                               "C:/output/Output.gdb/vegtype_lines",
                               "IGNORE_NEIGHBORS")
PolygonToLine – Beispiel 2 (eigenständiges Skript)

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

# Name: PolygonToLine_Example2.py
# Description: Use PolygonToLine function to convert polygons to lines,
#              and report how many shared or overlapping boundary lines
#              were found.
# import system modules 
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/landcovers.gdb"
 
# Create variables for the input and output feature classes
inFeatureClass = "bldgs"
outFeatureClass = "bldgs_lines"
 
# Run PolygonToLine to convert polygons to lines using default neighbor_option
arcpy.PolygonToLine_management(inFeatureClass, outFeatureClass)
# Select lines that have LEFT_FID values greater than -1
arcpy.MakeFeatureLayer_management(outFeatureClass, "selection_lyr", 
                                  "\"LEFT_FID\" > -1")
result = arcpy.GetCount_management("selection_lyr")
if result[0] == "0":
    print("No overlapping or shared boundary lines were found.")
else:
    print("{} overlapping or shared boundary lines were found.".format(result[0]))

Umgebungen

  • Aktueller Workspace
  • Scratch-Workspace
  • Standard-Ausgabe-Z-Wert
  • M-Auflösung
  • M-Toleranz
  • Ausgabe-M-Domäne
  • Ausgabe-Z-Domäne
  • Ausgabe-Koordinatensystem
  • Ausdehnung
  • Ausgabe hat M-Werte
  • Ausgabe hat Z-Werte
  • Räumliches Gitter 1 der Ausgabe
  • Räumliches Gitter 2 der Ausgabe
  • Räumliches Gitter 3 der Ausgabe
  • XY-Auflösung
  • XY-Toleranz
  • Z-Auflösung
  • Z-Toleranz

Lizenzinformationen

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

Verwandte Themen

  • Überblick über das Toolset "Features"

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches