Dans la capture d'écran ci-jointe, les attributs contiennent deux champs d'intérêt "a" et "b". Je veux écrire un script pour accéder aux lignes adjacentes afin de faire des calculs. Pour accéder à une seule ligne, j'utiliserais le UpdateCursor suivant:
fc = r'C:\path\to\fc'
with arcpy.da.UpdateCursor(fc, ["a", "b"]) as cursor:
for row in cursor:
# Do something
Par exemple, avec OBJECTID 4, je suis intéressé à calculer la somme des valeurs de ligne dans le champ "a" adjacent à la ligne OBJECTID 4 (c'est-à-dire 1 + 3) et à ajouter cette valeur à la ligne OBJECTID 4 dans le champ "b". Comment puis-je accéder aux lignes adjacentes avec le curseur pour effectuer ce genre de calculs?
OBJECTID
cette solution peut identifier de manière fiable les voisins en fonction des valeurs de cette clé. Cependant, les dictionnaires ne prennent généralement pas en charge une recherche "suivante" ou "précédente". Vous avez besoin de quelque chose comme un Trie .