Benachbarte Polygone (Analysis)

Zusammenfassung

Erstellt eine statistische Tabelle auf der Basis der Polygonnachbarschaft (Überlappungen, übereinstimmende Kanten oder Knoten).

Weitere Informationen zur Funktionsweise von "Benachbarte Polygone"

Abbildung

Schema mit einem Quell-Polygon und seinen benachbarten Polygonen

Verwendung

  • Das Werkzeug analysiert Polygonnachbarschaft und bietet eine Zusammenfassung von

    • Überlappende Fläche (überlappende Nachbarn - optional)
    • Länge der lagegleichen Kanten (benachbarte Kanten)
    • Häufigkeit, mit der sich Grenzen an einem Punkt kreuzen oder berühren (Knotennachbarn)
    zwischen Quell-Polygonen und benachbarten Polygonen. Die Zusammenfassung wird in eine Ausgabetabelle geschrieben. Ein Quell-Polygon kann über ein oder mehrere benachbarte Polygone verfügen. Ein benachbartes Polygon steht auf mindestens eine der obigen Arten in räumlicher Beziehung zum Quell-Polygon.

  • Das Werkzeug analysiert und erfasst nur Nachbarschaften erster Ordnung. Darüber hinaus gehende Beziehungen werden nicht untersucht, d. h. Nachbarn von Nachbarn (Nachbarschaft zweiter Ordnung) werden nicht geprüft.

  • Der Parameter Nach Feld(ern) erfassen (in_fields in Python) wird verwendet, um eindeutige Polygone oder Polygongruppen zu identifizieren und die Nachbarschaftsinformationen nach Polygon bzw. Polygongruppe zu erfassen. Um die Nachbarn eines jeden einzelnen Polygons in der Eingabe zu finden, geben Sie ein oder mehrere Eingabefelder an, die für jedes Polygon einen eindeutigen Wert bzw. ein Werteset (bei Verwendung mehrerer Felder) liefern.

    Wenn die angegebenen Felder eindeutige Polygongruppen identifizieren, werden die Nachbarschaftsinformationen zusammengefasst und nach den Gruppen erfasst.

    Weitere Informationen zur Verwendung dieses Parameters finden Sie unter Funktionsweise von benachbarten Polygonen.

  • Bereichsüberlappungen einbeziehen kann verwendet werden, wenn Beziehungen von Bereichsüberlappungen analysiert werden sollen. Wenn Bereichsüberlappungen einbeziehen ausgewählt wird, enthält die Ausgabetabelle das Feld AREA, das die Bereichsüberlappungen für den analysierten überlappenden Nachbarn enthält. Wenn keine Überschneidung gefunden wird, ist AREA gleich 0.

    Tipp:

    Die Berechnung von Beziehungen überlappender Bereiche ist eine Operation mit hohem Ressourcenaufwand. Die Performance wird daher möglicherweise stärker beeinträchtigt als beim Bestimmen von Kanten- und Knotennachbarbeziehungen. Wenn Sie wissen, dass die Daten keine überlappenden Features enthalten, oder wenn die Analyse von überlappenden Nachbarn keine Rolle spielt, deaktivieren Sie im Werkzeugdialogfeld das Kontrollkästchen Bereichsüberlappungen einbeziehen (area_overlap="NO_AREA_OVERLAP" in Python).

    Vorsicht:

    Das Kontrollkästchen Bereichsüberlappungen einbeziehen muss im Dialogfeld (area_overlap="AREA_OVERLAP" in Python) aktiviert sein, um Datensätze für Nachbarn zu erhalten, die vollständig in einem Quell-Polygon enthalten sind. Wenn das Kontrollkästchen Bereichsüberlappungen einbeziehen nicht aktiviert ist, enthält die Ausgabetabelle keine Datensätze für Nachbarn, die vollständig in einem Quell-Polygon enthalten sind.

  • Es gibt keinen Eintrag in der Ausgabetabelle für Features, die keine Nachbarn sind.

  • Das Kontrollkästchen Beide Seiten der Nachbarbeziehung einbeziehen im Werkzeugdialogfeld wird verwendet, um die in der Ausgabe enthaltenen Beziehungen zu steuern. Um alle Nachbarschaftsbeziehungen einschließlich gegenseitiger Beziehungen zu erfassen, aktivieren Sie Beide Seiten der Nachbarbeziehung einbeziehen (both_sides="BOTH_SIDES" in Python). Wenn z. B. OID1 ein Nachbar von OID2 ist, wird in die Ausgabetabelle für OID1 ein Eintrag geschrieben, dass OID1 einen Nachbarn OID2 hat, und für OID2, dass er einen Nachbarn OID1 hat. Wenn Sie nur die erste Seite der Beziehung wünschen, deaktivieren Sie Beide Seiten der Nachbarbeziehung einbeziehen. Wenn im obigen Beispiel Beide Seiten der Nachbarbeziehung einbeziehen deaktiviert ist, wird in die Ausgabetabelle nur eingetragen, dass OID1 einen Nachbarn OID2 hat.

  • Lineare Ausgabeeinheiten gibt die Einheiten an, die für die gemeinsame Grenzlänge zwischen Nachbarn verwendet werden sollen. Standardmäßig werden die gleichen Einheiten verwendet, die durch das Eingabe-Feature-Koordinatensystem definiert werden.

  • Ausgabe-Flächeneinheiten wird nur verwendet, wenn der Parameter Bereichsüberlappung aktiviert wurde (area_overlap="AREA_OVERLAP" in Python). Wenn Bereichsüberlappung aktiviert wird, werden die Einheiten, mit denen die Bereichsüberlappung von Nachbarn berechnet wird, mit dem Parameter Ausgabe-Flächeneinheiten angegeben. Standardmäßig werden die gleichen Einheiten verwendet, die durch das Eingabe-Feature-Koordinatensystem definiert werden.

  • Die Ausgabetabelle kann eine File-Geodatabase- oder .dbf-Tabelle sein.

  • Die Ausgabetabelle enthält die folgenden Felder:

    • src_field: Das Präfix src steht für "source" (Quelle) und field ist ein Feld, das im Parameter Nach Feld(ern) erfassen angegeben wurde. Es werden so viele Felder ausgegeben, wie im Parameter Nach Feld(ern) erfassen angegeben wurden.
    • nbr_field: Das Präfix nbr steht für "neighbor" (Nachbar); und field ist ein Feld, das im Parameter Nach Feld(ern) erfassen angegeben wurde. Ähnlich wie bei src_field erhalten Sie so viele Felder, wie im Parameter Nach Feld(ern) erfassen angegeben wurden.
    • AREA: In diesem Feld wird die gesamte überlappende Fläche zwischen einem Quell-Polygon und einem benachbarten Polygon (überlappende Nachbarn) gespeichert. Dieses Feld wird nur dann in die Ausgabetabelle aufgenommen, wenn der Parameter Bereichsüberlappungen einbeziehen aktiviert ist (area_overlap="AREA_OVERLAP" in Python).
    • LENGTH: In diesem Feld wird die Gesamtlänge von lagegleichen Kanten zwischen einem Quell-Polygon und einem benachbarten Polygon gespeichert.
    • NODE_COUNT: Dieses Feld speichert die Anzahl, wie oft ein Quell-Polygon und ein benachbartes Polygon einander an einem Punkt kreuzen oder berühren.

  • Wenn unter den Eingabe-Features eine Auswahl vorgenommen wurde, werden nur die selektierten Features analysiert.

Syntax

arcpy.analysis.PolygonNeighbors(in_features, out_table, {in_fields}, {area_overlap}, {both_sides}, {cluster_tolerance}, {out_linear_units}, {out_area_units})
ParameterErklärungDatentyp
in_features

Die Eingabe-Polygon-Features.

Feature Layer
out_table

Dies ist die Ausgabetabelle.

Table
in_fields
[field,...]
(optional)

Eingabe-Attributfelder oder Felder, die zur Identifizierung von Polygonen oder Polygongruppen benutzt werden und diese in der Ausgabe repräsentieren.

Field
area_overlap
(optional)

Bestimmt, ob überlappende Polygone in der Ausgabe analysiert und erfasst werden.

  • NO_AREA_OVERLAPÜberlappungsbeziehungen werden nicht analysiert und sind nicht in der Ausgabe enthalten. Dies ist die Standardeinstellung.
  • AREA_OVERLAPÜberlappungsbeziehungen werden analysiert und sind in der Ausgabe enthalten.
Boolean
both_sides
(optional)

Bestimmt, ob beide Seiten von Nachbarschaftsbeziehungen in der Ausgabe enthalten sind.

  • BOTH_SIDES Für ein benachbartes Polygonpaar werden sowohl die Nachbarschaftsinformationen des Quell-Polygons als auch die Informationen des benachbarten Polygons erfasst und umgekehrt. Dies ist die Standardeinstellung.
  • NO_BOTH_SIDES Für ein benachbartes Polygonpaar werden nur die Nachbarschaftsinformationen des Quell-Polygons und des benachbarten Polygons erfasst. Gegenseitige Beziehung nicht einbeziehen.
Boolean
cluster_tolerance
(optional)

Die minimale Entfernung zwischen Koordinaten, ehe sie als gleich betrachtet werden. Standardmäßig ist dies die XY-Toleranz der Eingabe-Features.

Vorsicht:

Das Ändern dieses Parameterwertes kann zu einem Fehler oder zu unerwarteten Ergebnissen führen. Es wird empfohlen, diesen Parameter nicht zu ändern. Er wurde im Werkzeug-Dialogfeld aus der Ansicht entfernt. Standardmäßig wird die Eigenschaft XY-Toleranz des Raumbezugs der Eingabe-Feature-Class verwendet.

Linear Unit
out_linear_units
(optional)

Einheiten, die verwendet werden, um die Gesamtlänge der lagegleichen Kante zwischen benachbarten Polygonen zu erfassen. Die Standardeinstellung ist die Einheit des Eingabe-Features.

  • UNKNOWNUnbekannt
  • INCHESZoll
  • FEETFuß
  • YARDSYard
  • MILESMeilen
  • NAUTICAL_MILESSeemeilen
  • MILLIMETERSMillimeter
  • CENTIMETERSZentimeter
  • DECIMETERSDezimeter
  • METERSMeter
  • KILOMETERSKilometer
  • DECIMAL_DEGREESDezimalgrad
  • POINTSPunkte
String
out_area_units
(optional)

Einheiten, die verwendet werden, um die Bereichsüberlappung von benachbarten Polygonen zu erfassen. Die Standardeinstellung ist die Einheit des Eingabe-Features. Dieser Parameter wird nur dann aktiviert, wenn area_overlap="AREA_OVERLAP".

  • UNKNOWNUnbekannt
  • ARESAr
  • ACRESAcres
  • HECTARESHektar
  • SQUARE_INCHESQuadratzoll
  • SQUARE_FEETQuadratfuß
  • SQUARE_YARDSQuadratyard
  • SQUARE_MILESQuadratmeilen
  • SQUARE_MILLIMETERSQuadratmillimeter
  • SQUARE_CENTIMETERSQuadratzentimeter
  • SQUARE_DECIMETERSQuadratdezimeter
  • SQUARE_METERSQuadratmeter
  • SQUARE_KILOMETERSQuadratkilometer
String

Codebeispiel

PolygonNeighbors: Beispiel (Python-Fenster)

Mit diesem Beispielskript wird nach benachbarten Wahlbezirken in Nova Scotia gesucht.

import arcpy
arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp", 
                                  "Canada_ElectoralDist")
arcpy.SelectLayerByAttribute_management("Canada_ElectoralDist", "NEW_SELECTION", 
                                        "\"PROVCODE\" = 'NS'")
count = arcpy.GetCount_management("Canada_ElectoralDist")[0]
print("Selected feature count: {}".format(count))
arcpy.PolygonNeighbors_analysis("Canada_ElectoralDist", 
                                r"C:\Data\Output\NS_elec_neigh.dbf", "ENNAME")
print(arcpy.GetMessages())

Lizenzinformationen

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

Verwandte Themen