Zusammenfassung
Erstellt eine statistische Tabelle auf der Basis der Polygonnachbarschaft (Überlappungen, übereinstimmende Kanten oder Knoten).
Weitere Informationen zur Funktionsweise von "Benachbarte Polygone"
Abbildung
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)
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.
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-, Personal-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})
Parameter | Erklärung | Datentyp |
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.
| Boolean |
both_sides (optional) | Bestimmt, ob beide Seiten von Nachbarschaftsbeziehungen in der Ausgabe enthalten sind.
| 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. | 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.
| 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".
| 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())
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja