El concepto de teoría de grafos de Centralidad<\/A> ha ganado popularidad en los últimos años como una forma de obtener información sobre el comportamiento de la red. En la teoría de grafos o redes, las medidas de Centralidad se utilizan para determinar la importancia relativa de un vértice o arista dentro de la red en general. Hay muchos tipos de centralidad. La centralidad de intermediación mide con qué frecuencia un nodo o arista se encuentra a lo largo del camino óptimo entre todos los demás nodos en la red. Un valor alto de centralidad de intermediación indica un papel crítico en la conectividad de la red. Debido a que actualmente no hay herramientas de Centralidad en ArcGIS, creé una caja de herramientas GP simple para ArcGIS Pro 2.1 que utiliza la biblioteca Python NetworkX<\/A> para facilitar la incorporación de este tipo de análisis en los flujos de trabajo de ArcGIS. <\/P> Herramientas de Análisis de Centralidad<\/A><\/P><\/P> Figura 1 Herramientas de Análisis de Centralidad (CAT)<\/SPAN><\/P>Los términos red y grafo se usarán indistintamente en este blog. Aquí, red no se refiere a un conjunto de datos Network de ArcGIS. Simplemente significa un conjunto de objetos nodo conectados por aristas. En ArcGIS estos nodos podrían ser puntos, polígonos o incluso otras líneas. Las aristas pueden considerarse como las polilíneas que conectan dos nodos. La red también podría ser regiones ráster conectadas por polilíneas que atraviesan una superficie de costo usando Cost Connectivity<\/A>.<\/P><\/P> <\/P>Figura 2 Algunas áreas urbanas del medio oeste conectadas por carreteras principales. Se usó Cost Connectivity para encontrar <\/SPAN><\/P>"vecinos naturales" y conectar las ciudades a través de la red vial.<\/SPAN><\/P><\/P>Resulta que la salida de Cost Connectivity (CC) es una entrada perfecta para las herramientas de Análisis de Centralidad. Veamos la tabla de salida CC.<\/P><\/P>Figura 3 Salida Cost Connectivity con opción "out_neighbors_paths" seleccionada.<\/SPAN><\/P><\/P>Ahora veamos cómo esto se alinea con los parámetros de entrada del CAT Node Centrality.<\/P><\/P><\/P> Figura 4 Parámetros herramienta Node Centrality <\/SPAN><\/P><\/P>Hay un par de cosas que vale la pena mencionar aquí. El campo Starting Node Field y Ending Node Field no indican direccionalidad. De hecho, la herramienta asume que el costo es el mismo para moverse en cualquier dirección. Usé Shape_Length pero podría haber usado PathCost u otro campo que indique el costo para moverse entre nodos. Esta tabla y su clase de entidad asociada son creadas por Cost Connectivity cuando seleccionas la opción "out_neighbor_paths". Aunque la opción del árbol generador mínimo funcionará, la salida Neighbor parece más razonable para el análisis de centralidad. También es importante asegurarse que no tengas enlaces en tu grafo que conecten un nodo consigo mismo y que todos los costos de enlace sean mayores que cero.<\/P><\/P><\/P>Figura 5 Opciones para tipo Node Centrality<\/SPAN><\/P><\/P>Tanto las herramientas Node como Edge Centrality requieren grafos "conectados", lo que significa que todos los nodos en el grafo deben estar conectados al resto de la red. Si tienes nodos que no están conectados o accesibles por todos los demás nodos, algunas funciones no funcionarán. Esto puede suceder cuando tienes nodos en islas inaccesibles por alguna razón. Si esto ocurre, tendrás que hacer una conexión y darle un costo realmente alto o eliminar esos nodos del análisis.<\/P><\/P>Dado que estas herramientas requieren entradas específicas, incluí una herramienta Graph Info para que los usuarios puedan obtener información sobre el tamaño y la conectividad de sus datos antes de intentar ejecutar cualquiera de las herramientas Node o Edge centrality.<\/P><\/P><\/P>Figura 6 La herramienta Graph Info proporciona información crítica sobre posibles datos de entrada sin tener que ejecutar primero una herramienta.Una última cosa a tener en cuenta -- muchas medidas de centralidad disponibles dentro de estas herramientas requieren calcular el camino óptimo entre todos los nodos en la red. Esto es bastante intensivo computacionalmente, y el tiempo de ejecución y los requisitos del recurso informático crecen exponencialmente. Es mejor probar la herramienta en una red bastante pequeña con 1000 nodos y tal vez 5000 conectores antes de intentar ejecutarla en conjuntos más grandes, solo para tener una idea del tiempo y los requisitos del recurso. El ejemplo mostrado arriba se ejecuta en menos de cinco segundos pero solo hay 587 nodos y 1469 conectores.Por favor descarga la caja de herramientas, pruébala y dime qué piensas. Me gustaría conocer tus casos de uso.
<\/P>
Figura 1 Herramientas de Análisis de Centralidad (CAT)<\/SPAN><\/P>Los términos red y grafo se usarán indistintamente en este blog. Aquí, red no se refiere a un conjunto de datos Network de ArcGIS. Simplemente significa un conjunto de objetos nodo conectados por aristas. En ArcGIS estos nodos podrían ser puntos, polígonos o incluso otras líneas. Las aristas pueden considerarse como las polilíneas que conectan dos nodos. La red también podría ser regiones ráster conectadas por polilíneas que atraviesan una superficie de costo usando
Figura 2 Algunas áreas urbanas del medio oeste conectadas por carreteras principales. Se usó Cost Connectivity para encontrar <\/SPAN><\/P>"vecinos naturales" y conectar las ciudades a través de la red vial.<\/SPAN><\/P><\/P>Resulta que la salida de Cost Connectivity (CC) es una entrada perfecta para las herramientas de Análisis de Centralidad. Veamos la tabla de salida CC.<\/P><\/P>Figura 3 Salida Cost Connectivity con opción "out_neighbors_paths" seleccionada.<\/SPAN><\/P><\/P>Ahora veamos cómo esto se alinea con los parámetros de entrada del CAT Node Centrality.<\/P><\/P><\/P> Figura 4 Parámetros herramienta Node Centrality <\/SPAN><\/P><\/P>Hay un par de cosas que vale la pena mencionar aquí. El campo Starting Node Field y Ending Node Field no indican direccionalidad. De hecho, la herramienta asume que el costo es el mismo para moverse en cualquier dirección. Usé Shape_Length pero podría haber usado PathCost u otro campo que indique el costo para moverse entre nodos. Esta tabla y su clase de entidad asociada son creadas por Cost Connectivity cuando seleccionas la opción "out_neighbor_paths". Aunque la opción del árbol generador mínimo funcionará, la salida Neighbor parece más razonable para el análisis de centralidad. También es importante asegurarse que no tengas enlaces en tu grafo que conecten un nodo consigo mismo y que todos los costos de enlace sean mayores que cero.<\/P><\/P><\/P>Figura 5 Opciones para tipo Node Centrality<\/SPAN><\/P><\/P>Tanto las herramientas Node como Edge Centrality requieren grafos "conectados", lo que significa que todos los nodos en el grafo deben estar conectados al resto de la red. Si tienes nodos que no están conectados o accesibles por todos los demás nodos, algunas funciones no funcionarán. Esto puede suceder cuando tienes nodos en islas inaccesibles por alguna razón. Si esto ocurre, tendrás que hacer una conexión y darle un costo realmente alto o eliminar esos nodos del análisis.<\/P><\/P>Dado que estas herramientas requieren entradas específicas, incluí una herramienta Graph Info para que los usuarios puedan obtener información sobre el tamaño y la conectividad de sus datos antes de intentar ejecutar cualquiera de las herramientas Node o Edge centrality.<\/P><\/P><\/P>Figura 6 La herramienta Graph Info proporciona información crítica sobre posibles datos de entrada sin tener que ejecutar primero una herramienta.
Una última cosa a tener en cuenta -- muchas medidas de centralidad disponibles dentro de estas herramientas requieren calcular el camino óptimo entre todos los nodos en la red. Esto es bastante intensivo computacionalmente, y el tiempo de ejecución y los requisitos del recurso informático crecen exponencialmente. Es mejor probar la herramienta en una red bastante pequeña con 1000 nodos y tal vez 5000 conectores antes de intentar ejecutarla en conjuntos más grandes, solo para tener una idea del tiempo y los requisitos del recurso. El ejemplo mostrado arriba se ejecuta en menos de cinco segundos pero solo hay 587 nodos y 1469 conectores.
Por favor descarga la caja de herramientas, pruébala y dime qué piensas. Me gustaría conocer tus casos de uso.
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 -
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.