Im angehängten Screenshot enthalten die Attribute zwei interessierende Felder "a" und "b". Ich möchte ein Skript schreiben, um auf die benachbarten Zeilen zuzugreifen und einige Berechnungen durchzuführen. Um auf eine einzelne Zeile zuzugreifen, würde ich den folgenden UpdateCursor verwenden:
fc = r'C:\path\to\fc'
with arcpy.da.UpdateCursor(fc, ["a", "b"]) as cursor:
for row in cursor:
# Do something
Zum Beispiel möchte ich mit OBJECTID 4 die Summe der Zeilenwerte im Feld "a" neben der Zeile OBJECTID 4 (dh 1 + 3) berechnen und diesen Wert zur Zeile OBJECTID 4 im Feld "b" hinzufügen. Wie kann ich mit dem Cursor auf benachbarte Zeilen zugreifen, um diese Art von Berechnungen durchzuführen?
OBJECTID
- kann diese Lösung Nachbarn anhand der Werte dieses Schlüssels zuverlässig identifizieren. Wörterbücher unterstützen jedoch normalerweise keine "nächste" oder "vorherige" Suche. Du brauchst so etwas wie einen Trie .