Benachbarte Polygone (Analyse)
Zusammenfassung
Erstellt auf Grundlage der Polygonnachbarschaft (Überlappungen, lagegleiche Kanten oder Knoten) eine Tabelle mit Statistik.
Weitere Informationen über die Funktionsweise von "Benachbarte Polygone"
Bild
Verwendung
Das Werkzeug analysiert die Polygonnachbarschaft und erfasst folgende Daten:
- Überlappende Fläche (überlappende Nachbarn – optional)
- Länge der lagegleichen Kanten (Kantennachbarn)
- Die Häufigkeit von Grenzenüberkreuzungen oder -berührungen an einem Punkt (Knotennachbarn)
Mit dem Werkzeug wird nur die Nachbarschaft der ersten Ordnung analysiert und erfasst. Beziehungen anderer Ordnung, d. h. die Nachbarn der Nachbarn (Nachbarschaft zweiter Ordnung) werden nicht untersucht.
Der Parameter Nach Feld(ern) erfassen (in_fields in der Skripterstellung) dient zum Identifizieren eindeutiger Polygone oder Polygongruppen und zum Erfassen der Informationen zu den Nachbarn nach den Polygonen oder Polygongruppen. Wenn Sie die Nachbarn aller in der Eingabe-Tabelle aufgeführten Polygone suchen möchten, müssen Sie mindestens ein Eingabefeld definieren, das einen Einzelwert oder einen Satz von Werten (bei mehreren Feldern) für jedes Polygon ergibt.
Wenn die festgelegten Felder eindeutige Polygongruppen identifizieren, werden die Informationen zu den Nachbarn nach den Gruppen gesammelt und erfasst.
Ausführliche Informationen zum Verwenden dieses Parameters finden Sie unter Funktionsweise von "Benachbarte Polygone".
Bereichsüberlappungen einbeziehen kann verwendet werden, um Bereichsüberlappungs-Beziehungen zu analysieren. Wenn Bereichsüberlappungen einbeziehen ausgewählt wird, enthält die Ausgabe-Tabelle das Feld AREA, das die Bereichsüberlappungen des analysierten überlappenden Nachbarn enthält. Wenn keine Überschneidung gefunden wird, ist AREA 0.
Tipp:Die Berechnung von Beziehungen überlappender Bereiche ist eine Operation mit hohem Ressourcenaufwand. Die Performance könnte stärker gedrosselt werden als beim Bestimmen von Kanten- und Knotennachbarbeziehungen. Wenn Sie wissen, dass die Daten keine überlappenden Features enthalten, oder die Analyse von überlappenden Nachbarn keine Rolle spielt, deaktivieren Sie im Werkzeugdialogfeld das Kontrollkästchen Bereichsüberlappungen einbeziehen, oder setzen Sie den Parameter area_overlap in der Skripterstellung auf NO_AREA_OVERLAP.
Achtung:Im Dialogfeld muss das Kontrollkästchen Bereichsüberlappungen einbeziehen aktiviert sein, oder der Parameter area_overlap muss in der Skripterstellung auf AREA_OVERLAP gesetzt sein, um Datensätze für Nachbarn zu erhalten, die vollständig in einem Quell-Polygon enthalten sind. Wenn Sie das Kontrollkästchen Bereichsüberlappungen einbeziehen nicht aktivieren, werden in der Ausgabe-Tabelle keine Datensätze zu Nachbarn aufgeführt, die vollständig in einem Quell-Polygon enthalten sind.
Es gibt keinen Eintrag in der Ausgabetabelle für Features, die keine Nachbarn sind.
Das im Werkzeugdialogfeld enthaltene Kontrollkästchen Beide Seiten der Nachbarbeziehung einbeziehen (Parameter both_sides in der Skripterstellung) wird verwendet, um zu bestimmen, welche Beziehungen in die Ausgabe aufgenommen werden. Um alle Nachbarschaftsbeziehungen einschließlich gegenseitiger Beziehungen zu erfassen, aktivieren Sie Beide Seiten der Nachbarbeziehung einbeziehen (both_sides = "BOTH_SIDES"). Wenn z. B. OID1 ein Nachbar von OID2 ist, wird in die Ausgabe-Tabelle von OID1 eingetragen, dass OID2 ein Nachbar ist. In die Ausgabe-Tabelle von OID2 wird OID1 als Nachbar eingetragen. Wenn Sie nur die erste Seite der Beziehung möchten, deaktivieren Sie das Kontrollkästchen Beide Seiten der Nachbarbeziehung einbeziehen. Wenn beim oberen Beispiel das Kontrollkästchen Beide Seiten der Nachbarbeziehung einbeziehen deaktiviert ist, wird nur in die Ausgabe-Tabelle von OID1 der Nachbar OID2 eingetragen.
Ausgabe-Lineareinheiten 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 ist (area_overlap = " = "AREA_OVERLAP"). Wenn Bereichsüberlappung aktiviert ist, werden die Einheiten zur Berechnung der Bereichsüberlappung der Nachbarn im Parameter Ausgabe-Flächeneinheiten festgelegt. Der Standard ist, die gleichen Einheiten zu verwenden, die durch das Eingabe-Feature-Koordinatensystem definiert sind.
Die Ausgabe-Tabelle enthält die folgenden Felder:
- src_field(s) – Das Präfix src steht für "source" (Quelle). Das ist eins der Felder, das für den Parameter Nach Feld(ern) erfassen verwendet wird, z. B. src_MYID. Sie erhalten so viele Felder, wie Sie im Parameter Nach Feld(ern) erfassen festlegen.
- nbr_field(s) – Das Präfix nbr steht für "neighbor" (Nachbar). Das ist eins der Felder, das für den Parameter Nach Feld(ern) erfassen verwendet wird, z. B. nbr_MYID. Wie im Fall von src-Feldern, wird die Anzahl der Felder durch Sie mithilfe des Parameters Nach Feld(ern) erfassen festgelegt.
- AREA – In diesem Feld wird die gesamte überlappende Fläche von einem Quell-Polygon und einem Nachbarpolygon (überlappende Nachbarn) gespeichert. Dieses Feld ist nur dann in der Ausgabe-Tabelle enthalten, wenn der Parameter Bereichsüberlappungen einbeziehen aktiviert ist (area_overlap = "AREA_OVERLAP").
- LENGTH – In diesem Feld wird die Gesamtlänge der lagegleichen Kanten zwischen einem Quell-Polygon und einem Nachbarpolygon gespeichert.
- NODE_COUNT – In diesem Feld wird gespeichert, wie oft ein Quell-Polygon und ein Nachbarpolygon sich in einem Punkt kreuzen oder berühren.
Wenn ein Auswahlsatz von Eingabe-Features vorhanden ist, werden nur die ausgewählten Features analysiert.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Eingabe-Polygon-Features. | Feature Layer |
out_table |
Dies ist die Ausgabetabelle. | Table |
in_fields [in_fields,...] (optional) |
Eingabe-Attributfeld oder -Felder, die zum Identifizieren eindeutiger Polygone oder Polygongruppen und zum Ausgeben dieser in der Ausgabe-Tabelle verwendet werden. | Field |
area_overlap (optional) | Legt fest, ob die Beziehungen überlappender Polygone analysiert und in der Ausgabe erfasst werden.
| Boolean |
both_sides (optional) | Legt fest, ob beide Seiten von Nachbarbeziehungen in der Ausgabe erfasst werden.
| Boolean |
cluster_tolerance (optional) |
Der Mindestabstand zwischen Koordinaten, bevor sie gleichgesetzt werden. Standardmäßig ist dies die XY-Toleranz der Eingabe-Features. | Linear unit |
out_linear_units (optional) |
Einheiten, die zum Erfassen der Gesamtlänge der lagegleichen Kante zwischen den Nachbarpolygonen verwendet werden. Standardmäßig werden die Eingabe-Feature-Einheiten verwendet. | String |
out_area_units (optional) |
Einheiten, die zum Erfassen der Bereichsüberlappung der Nachbarpolygone verwendet werden. Standardmäßig werden die Eingabe-Feature-Einheiten verwendet. Dieser Parameter ist nur dann aktiviert, wenn der Parameter area_overlap auf AREA_OVERLAP gesetzt ist. | String |
Codebeispiel
Gesucht werden alle benachbarten Wahlbezirke in der Provinz Nova Scotia.
import arcpy, sys
arcpy.env.overwriteOutput = True
arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp",r"Canada_ElectoralDist")
arcpy.SelectLayerByAttribute_management(r"Canada_ElectoralDist", "NEW_SELECTION", "\"PROVCODE\" = 'NS'")
print "Selected feature count: " + str(arcpy.GetCount_management(r"Canada_ElectoralDist"))
arcpy.PolygonNeighbors_analysis(r"Canada_ElectoralDist", "ENNAME", r"C:\Data\Output\NS_elec_neigh.dbf")
print arcpy.GetMessages()