Le concept de théorie des graphes de la Centrality<\/A> a gagné en popularité ces dernières années comme moyen de mieux comprendre le comportement des réseaux. En théorie des graphes ou des réseaux, les mesures de Centrality sont utilisées pour déterminer l'importance relative d'un sommet ou d'une arête au sein du réseau global. Il existe plusieurs types de centralité. La centralité d'intermédiarité mesure la fréquence à laquelle un nœud ou une arête se trouve sur le chemin optimal entre tous les autres nœuds du réseau. Une valeur élevée de centralité d'intermédiarité indique un rôle critique dans la connectivité du réseau. Comme il n'existe actuellement aucun outil de Centrality dans ArcGIS, j'ai créé une simple boîte à outils GP ArcGIS Pro 2.1 qui utilise la bibliothèque Python NetworkX<\/A> pour faciliter l'intégration de ce type d'analyses dans les flux de travail ArcGIS. <\/P> Outils d'analyse de centralité<\/A><\/P><\/P> Figure 1 Outils d'analyse de centralité (CAT)<\/SPAN><\/P>Les termes réseau et graphe seront utilisés indifféremment dans ce blog. Ici, réseau ne fait pas référence à un jeu de données réseau ArcGIS. Il signifie simplement un ensemble d'objets nœuds connectés par des arêtes. Dans ArcGIS, ces nœuds peuvent être des points, des polygones ou même d'autres lignes. Les arêtes peuvent être considérées comme les polylignes qui relient deux nœuds. Le réseau pourrait également être constitué de régions raster connectées par des polylignes traversant une surface de coût en utilisant Cost Connectivity<\/A>.<\/P><\/P> <\/P>Figure 2 Quelques zones urbaines du Midwest reliées par des routes principales. Cost Connectivity a été utilisé pour trouver <\/SPAN><\/P>des voisins "naturels" et connecter les villes via le réseau routier.<\/SPAN><\/P><\/P>Il s'avère que la sortie de Cost Connectivity (CC) est une entrée parfaite pour les outils d'analyse de centralité. Regardons le tableau de sortie CC.<\/P><\/P>Figure 3 Sortie Cost Connectivity avec l'option "out_neighbors_paths" sélectionnée.<\/SPAN><\/P><\/P>Voyons maintenant comment cela correspond aux paramètres d'entrée du Node Centrality CAT.<\/P><\/P><\/P> Figure 4 Paramètres de l'outil Node Centrality <\/SPAN><\/P><\/P>Il y a quelques points à mentionner ici. Les champs Starting Node Field et Ending Node Field n'indiquent pas la directionnalité. En fait, l'outil suppose que le coût est le même pour se déplacer dans les deux sens. J'ai utilisé Shape_Length mais j'aurais pu utiliser PathCost ou un autre champ indiquant le coût pour passer d'un nœud à un autre. Ce tableau et sa classe d'entités associée sont créés par Cost Connectivity lorsque vous sélectionnez l'option "out_neighbor_paths". Bien que l'option minimum spanning tree fonctionne, la sortie Neighbor semble plus raisonnable pour l'analyse de centralité. Il est également important de s'assurer qu'il n'y a pas de liens dans votre graphe qui connectent un nœud à lui-même et que tous les coûts des liens sont supérieurs à zéro.<\/P><\/P><\/P>Figure 5 Options pour le type Node Centrality<\/SPAN><\/P><\/P>Les outils Node et Edge Centrality nécessitent des graphes "connectés", ce qui signifie que tous les nœuds du graphe doivent être connectés au reste du réseau. Si vous avez des nœuds qui ne sont pas connectés ou accessibles par tous les autres nœuds, certaines fonctions ne fonctionneront pas. Cela peut arriver lorsque vous avez des nœuds sur des îles inaccessibles pour une raison quelconque. Si cela se produit, vous devrez soit créer une connexion avec un coût très élevé, soit retirer ces nœuds de l'analyse.<\/P><\/P>Parce que ces outils nécessitent certaines entrées spécifiques, j'ai inclus un outil Graph Info afin que les utilisateurs puissent obtenir des informations sur la taille et la connectivité de leurs données d'entrée avant d'essayer d'exécuter les outils Node ou Edge Centrality.<\/P><\/P>Figure 6 L'outil Graph Info fournit des informations critiques sur les données potentielles d'entrée sans avoir à exécuter l'un des outils au préalable.Une dernière chose à garder à l'esprit -- beaucoup des mesures de centralité disponibles dans ces outils nécessitent que le chemin optimal entre tous les nœuds du réseau soit calculé. Cela demande beaucoup de calculs, et le temps d'exécution ainsi que les besoins en ressources informatiques augmentent exponentiellement. Il est préférable d'essayer l'outil sur un réseau assez petit d'environ 1000 nœuds et peut-être 5000 connecteurs avant d'essayer sur des ensembles de données plus grands, juste pour avoir une idée du temps et des ressources nécessaires. L'exemple montré ci-dessus s'exécute en moins de cinq secondes mais il y a seulement 587 nœuds et 1469 connecteurs. Veuillez télécharger la boîte à outils, essayez-la, et faites-moi savoir ce que vous en pensez. J'aimerais connaître vos cas d'utilisation.
<\/P>
Figure 1 Outils d'analyse de centralité (CAT)<\/SPAN><\/P>Les termes réseau et graphe seront utilisés indifféremment dans ce blog. Ici, réseau ne fait pas référence à un jeu de données réseau ArcGIS. Il signifie simplement un ensemble d'objets nœuds connectés par des arêtes. Dans ArcGIS, ces nœuds peuvent être des points, des polygones ou même d'autres lignes. Les arêtes peuvent être considérées comme les polylignes qui relient deux nœuds. Le réseau pourrait également être constitué de régions raster connectées par des polylignes traversant une surface de coût en utilisant
Figure 2 Quelques zones urbaines du Midwest reliées par des routes principales. Cost Connectivity a été utilisé pour trouver <\/SPAN><\/P>des voisins "naturels" et connecter les villes via le réseau routier.<\/SPAN><\/P><\/P>Il s'avère que la sortie de Cost Connectivity (CC) est une entrée parfaite pour les outils d'analyse de centralité. Regardons le tableau de sortie CC.<\/P><\/P>Figure 3 Sortie Cost Connectivity avec l'option "out_neighbors_paths" sélectionnée.<\/SPAN><\/P><\/P>Voyons maintenant comment cela correspond aux paramètres d'entrée du Node Centrality CAT.<\/P><\/P><\/P> Figure 4 Paramètres de l'outil Node Centrality <\/SPAN><\/P><\/P>Il y a quelques points à mentionner ici. Les champs Starting Node Field et Ending Node Field n'indiquent pas la directionnalité. En fait, l'outil suppose que le coût est le même pour se déplacer dans les deux sens. J'ai utilisé Shape_Length mais j'aurais pu utiliser PathCost ou un autre champ indiquant le coût pour passer d'un nœud à un autre. Ce tableau et sa classe d'entités associée sont créés par Cost Connectivity lorsque vous sélectionnez l'option "out_neighbor_paths". Bien que l'option minimum spanning tree fonctionne, la sortie Neighbor semble plus raisonnable pour l'analyse de centralité. Il est également important de s'assurer qu'il n'y a pas de liens dans votre graphe qui connectent un nœud à lui-même et que tous les coûts des liens sont supérieurs à zéro.<\/P><\/P><\/P>Figure 5 Options pour le type Node Centrality<\/SPAN><\/P><\/P>Les outils Node et Edge Centrality nécessitent des graphes "connectés", ce qui signifie que tous les nœuds du graphe doivent être connectés au reste du réseau. Si vous avez des nœuds qui ne sont pas connectés ou accessibles par tous les autres nœuds, certaines fonctions ne fonctionneront pas. Cela peut arriver lorsque vous avez des nœuds sur des îles inaccessibles pour une raison quelconque. Si cela se produit, vous devrez soit créer une connexion avec un coût très élevé, soit retirer ces nœuds de l'analyse.<\/P><\/P>Parce que ces outils nécessitent certaines entrées spécifiques, j'ai inclus un outil Graph Info afin que les utilisateurs puissent obtenir des informations sur la taille et la connectivité de leurs données d'entrée avant d'essayer d'exécuter les outils Node ou Edge Centrality.<\/P><\/P>
Figure 6 L'outil Graph Info fournit des informations critiques sur les données potentielles d'entrée sans avoir à exécuter l'un des outils au préalable.
Une dernière chose à garder à l'esprit -- beaucoup des mesures de centralité disponibles dans ces outils nécessitent que le chemin optimal entre tous les nœuds du réseau soit calculé. Cela demande beaucoup de calculs, et le temps d'exécution ainsi que les besoins en ressources informatiques augmentent exponentiellement. Il est préférable d'essayer l'outil sur un réseau assez petit d'environ 1000 nœuds et peut-être 5000 connecteurs avant d'essayer sur des ensembles de données plus grands, juste pour avoir une idée du temps et des ressources nécessaires. L'exemple montré ci-dessus s'exécute en moins de cinq secondes mais il y a seulement 587 nœuds et 1469 connecteurs.
Veuillez télécharger la boîte à outils, essayez-la, et faites-moi savoir ce que vous en pensez. J'aimerais connaître vos cas d'utilisation.
Daft comment as I'm a very baby/basic user, but could you provide a "dummy's guide to use"? I have ArcGIS Pro, successfully installed NetworkX and your toolkit, and successfully imported my data (polyline shapefile for all the roads in a country, and an XY output of all the towns/cities in the same country). I'm trying to use the node centrality function - input polyline layer is presumably the roads layer and type of centrality I'm looking for is betweenness, but how am I to understand the starting node field, ending node field, cost/distance/weight field? Really really appreciate any help you can provide! I've attached a screenshot of the road shapefile, with the columns that you can choose from the drop-down fields -
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.