O conceito da teoria dos grafos de Centralidade<\/A> ganhou popularidade nos últimos anos como uma forma de obter insights sobre o comportamento das redes. Na teoria dos grafos ou redes, as medidas de Centralidade são usadas para determinar a importância relativa de um vértice ou aresta dentro da rede como um todo. Existem muitos tipos de centralidade. A centralidade de intermediação mede com que frequência um nó ou aresta está ao longo do caminho ótimo entre todos os outros nós na rede. Um valor alto de centralidade de intermediação indica um papel crítico na conectividade da rede. Como atualmente não existem ferramentas de Centralidade no ArcGIS, criei uma caixa de ferramentas GP simples para ArcGIS Pro 2.1 que usa a biblioteca Python NetworkX<\/A> para tornar esses tipos de análises fáceis de incorporar em fluxos de trabalho do ArcGIS. <\/P> Ferramentas de Análise de Centralidade<\/A><\/P><\/P> Figura 1 Ferramentas de Análise de Centralidade (CAT)<\/SPAN><\/P>Os termos rede e grafo serão usados intercambiavelmente neste blog. Aqui, rede não se refere a um conjunto de dados Network do ArcGIS. Significa simplesmente um conjunto de objetos nó conectados por arestas. No ArcGIS, esses nós podem ser pontos, polígonos ou talvez até outras linhas. As arestas podem ser pensadas como as polilinhas que conectam dois nós. A rede também pode ser regiões raster conectadas por polilinhas que atravessam uma superfície de custo usando Cost Connectivity<\/A>.<\/P><\/P> <\/P>Figura 2 Algumas áreas urbanas do meio-oeste conectadas por estradas principais. Cost Connectivity foi usado para encontrar <\/SPAN><\/P>"vizinhos naturais" e conectar as cidades via a rede rodoviária.<\/SPAN><\/P><\/P>Como acontece, a saída do Cost Connectivity (CC) é entrada perfeita para as ferramentas de Análise de Centralidade. Vamos dar uma olhada na tabela de saída do CC.<\/P><\/P>Figura 3 Saída do Cost Connectivity com a opção "out_neighbors_paths" selecionada.<\/SPAN><\/P><\/P>Agora vamos ver como isso se alinha com os parâmetros de entrada da ferramenta CAT Node Centrality.<\/P><\/P><\/P> Figura 4 Parâmetros da ferramenta Node Centrality <\/SPAN><\/P><\/P>Há algumas coisas que vale a pena mencionar aqui. O Campo Nó Inicial e o Campo Nó Final não indicam direcionalidade. De fato, a ferramenta assume que o custo é o mesmo para se mover em qualquer direção. Usei Shape_Length mas poderia ter usado PathCost ou algum outro campo indicando o custo para se mover de nó a nó. Esta tabela e sua classe de feição associada são criadas pelo Cost Connectivity quando você seleciona a opção "out_neighbor_paths". Embora a opção árvore geradora mínima funcione, a saída Neighbor parece mais razoável para análise de centralidade. Também é importante garantir que você não tenha links em seu grafo que conectem um nó a ele mesmo e que todos os custos dos links sejam maiores que zero.<\/P><\/P><\/P>Figura 5 Opções para tipo Node Centrality<\/SPAN><\/P><\/P>Tanto as ferramentas Node quanto Edge Centrality requerem grafos "conectados", o que significa que todos os nós no grafo devem estar conectados ao resto da rede. Se você tiver nós que não estão conectados ou acessíveis por todos os outros nós, algumas funções não funcionarão. Isso pode acontecer quando você tem nós em ilhas que são inacessíveis por algum motivo. Se isso acontecer, você terá que fazer uma conexão e atribuir um custo realmente alto ou remover esses nós da análise.<\/P><\/P>Como essas ferramentas requerem algumas entradas específicas, incluí uma ferramenta Graph Info para que os usuários possam obter informações sobre o tamanho e a conectividade dos seus dados antes de tentar executar as ferramentas Node ou Edge centrality.<\/P><\/P>Figura 6 A ferramenta Graph Info fornece informações críticas sobre potenciais dados de entrada sem precisar executar uma das ferramentas primeiro. Uma última coisa a ter em mente -- muitas das medidas de centralidade disponíveis nessas ferramentas requerem que o caminho ótimo entre todos os nós na rede seja calculado. Isso é bastante intensivo em computação, e o tempo de execução e os requisitos de recursos do computador crescem exponencialmente. É melhor testar a ferramenta em uma rede relativamente pequena com 1000 nós e talvez 5000 conectores antes de tentar executar em conjuntos maiores, apenas para ter uma ideia dos requisitos de tempo e recursos. O exemplo mostrado acima roda em menos de cinco segundos, mas há apenas 587 nós e 1469 conectores. Por favor, baixe a caixa de ferramentas, experimente e me diga o que acha. Gostaria muito de ouvir sobre seus casos de uso. <\BODY><\HTML>
<\/P>
Figura 1 Ferramentas de Análise de Centralidade (CAT)<\/SPAN><\/P>Os termos rede e grafo serão usados intercambiavelmente neste blog. Aqui, rede não se refere a um conjunto de dados Network do ArcGIS. Significa simplesmente um conjunto de objetos nó conectados por arestas. No ArcGIS, esses nós podem ser pontos, polígonos ou talvez até outras linhas. As arestas podem ser pensadas como as polilinhas que conectam dois nós. A rede também pode ser regiões raster conectadas por polilinhas que atravessam uma superfície de custo usando
Figura 2 Algumas áreas urbanas do meio-oeste conectadas por estradas principais. Cost Connectivity foi usado para encontrar <\/SPAN><\/P>"vizinhos naturais" e conectar as cidades via a rede rodoviária.<\/SPAN><\/P><\/P>Como acontece, a saída do Cost Connectivity (CC) é entrada perfeita para as ferramentas de Análise de Centralidade. Vamos dar uma olhada na tabela de saída do CC.<\/P><\/P>Figura 3 Saída do Cost Connectivity com a opção "out_neighbors_paths" selecionada.<\/SPAN><\/P><\/P>Agora vamos ver como isso se alinha com os parâmetros de entrada da ferramenta CAT Node Centrality.<\/P><\/P><\/P> Figura 4 Parâmetros da ferramenta Node Centrality <\/SPAN><\/P><\/P>Há algumas coisas que vale a pena mencionar aqui. O Campo Nó Inicial e o Campo Nó Final não indicam direcionalidade. De fato, a ferramenta assume que o custo é o mesmo para se mover em qualquer direção. Usei Shape_Length mas poderia ter usado PathCost ou algum outro campo indicando o custo para se mover de nó a nó. Esta tabela e sua classe de feição associada são criadas pelo Cost Connectivity quando você seleciona a opção "out_neighbor_paths". Embora a opção árvore geradora mínima funcione, a saída Neighbor parece mais razoável para análise de centralidade. Também é importante garantir que você não tenha links em seu grafo que conectem um nó a ele mesmo e que todos os custos dos links sejam maiores que zero.<\/P><\/P><\/P>Figura 5 Opções para tipo Node Centrality<\/SPAN><\/P><\/P>Tanto as ferramentas Node quanto Edge Centrality requerem grafos "conectados", o que significa que todos os nós no grafo devem estar conectados ao resto da rede. Se você tiver nós que não estão conectados ou acessíveis por todos os outros nós, algumas funções não funcionarão. Isso pode acontecer quando você tem nós em ilhas que são inacessíveis por algum motivo. Se isso acontecer, você terá que fazer uma conexão e atribuir um custo realmente alto ou remover esses nós da análise.<\/P><\/P>Como essas ferramentas requerem algumas entradas específicas, incluí uma ferramenta Graph Info para que os usuários possam obter informações sobre o tamanho e a conectividade dos seus dados antes de tentar executar as ferramentas Node ou Edge centrality.<\/P><\/P>
Figura 6 A ferramenta Graph Info fornece informações críticas sobre potenciais dados de entrada sem precisar executar uma das ferramentas primeiro.
Uma última coisa a ter em mente -- muitas das medidas de centralidade disponíveis nessas ferramentas requerem que o caminho ótimo entre todos os nós na rede seja calculado. Isso é bastante intensivo em computação, e o tempo de execução e os requisitos de recursos do computador crescem exponencialmente. É melhor testar a ferramenta em uma rede relativamente pequena com 1000 nós e talvez 5000 conectores antes de tentar executar em conjuntos maiores, apenas para ter uma ideia dos requisitos de tempo e recursos. O exemplo mostrado acima roda em menos de cinco segundos, mas há apenas 587 nós e 1469 conectores.
Por favor, baixe a caixa de ferramentas, experimente e me diga o que acha. Gostaria muito de ouvir sobre seus 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 -
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.