Eu tenho um conjunto de dados de estradas em uma cidade armazenada em um banco de dados PostGIS ativado. Gostaria de identificar e remover qualquer recurso que não esteja conectado ao restante da rede rodoviária. Esse comportamento é comum nas bordas das redes, onde os dados foram cortados.
Encontrei outras respostas no GIS SE que fazem isso, mas todas parecem usar o ArcGIS, e eu gostaria de resolver o problema usando PostGIS, QGIS ou um script Python.
Meus conjuntos de dados podem incluir mais de um milhão de recursos, portanto, o desempenho é uma preocupação.
Você pode usar facilmente o PostGIS para selecionar estradas que não cruzam nenhuma outra estrada:
fonte
Você pode usar este script QGIS Python para detectar linhas que não estão conectadas a nada:
Observe que isso não funcionará em linhas com várias partes. Eu não acho que poderia ser feito muito mais rápido ...
fonte
Você pode remover as estradas fáceis com o método @ dbaston primeiro e depois usar o pgRouting para encontrar os casos mais complicados, como quando você tem uma rede de estradas que não está conectada a outra rede.
Escolha um segmento de estrada que esteja definitivamente dentro da rede principal e tente encontrar uma rota um do outro para aquele. Se não houver uma rota, exclua o segmento.
fonte