Pour chacun des 208 781 groupes de blocs du recensement, j'aimerais récupérer les ID FIPS de tous ses voisins de 1er ordre. J'ai toutes les limites de TIGER téléchargées et fusionnées en un seul fichier de formes de 1 Go.
J'ai essayé un script ArcPython qui utilise SelectLayerByLocation pour BOUNDARY_TOUCHES à sa base, mais cela prend plus de 1 seconde pour chaque groupe de blocs, ce qui est plus lent que je ne le souhaiterais. C'est même après avoir limité la recherche SelectLayerByLocation pour bloquer des groupes dans le même état. J'ai trouvé ce script , mais il utilise également SelectLayerByLocation en interne, donc ce n'est pas plus rapide.
La solution n'a pas besoin d'être basée sur Arc - je suis ouvert à d'autres packages, bien que je sois plus à l'aise avec le codage avec Python.