Eu tenho uma camada de polígono de reservatórios de água e uma camada de polilinha de canais.
Nos meus dados, alguns canais são originários de reservatórios e levam a outros canais. Por outro lado, existem alguns canais isolados ou não conectados a nada. (Como isso aconteceu é história para outro dia)
Preciso excluir os canais isolados e as redes de canais (ou seja, conjunto de canais conectados) que não estão conectados a um reservatório.
Presumo que precisarei usar algum tipo de rastreamento de rede, mas não sei por onde começar.
Eu tenho o ArcGIS desktop, junto com o Network Analyst para resolver esta tarefa.
Como você faria essa tarefa?
fonte
Eu abordaria isso como dois problemas separados. Primeiro, os segmentos de linha individuais devem ser dissolvidos em componentes conectados; apenas dissolver todos eles em um valor padrão não funcionará. Este é um problema da teoria dos grafos, e o que queremos são os "subgráficos de componentes conectados".
Tenho certeza de que há uma maneira de invadir isso com o analista de rede, mas minha preferência seria tratá-lo como o problema do gráfico; não reinvente a roda, basta instalar o excelente módulo python Networkx e tente o seguinte:
O segundo passo seria dissolver e selecionar por local, conforme sugerido por dmahr
Eu usei uma técnica semelhante muitas vezes com sucesso. A teoria dos grafos é impressionante e resolve muitos problemas de SIG, e o Networkx é uma ótima ferramenta para implementar isso em python.
fonte