Tengo un conjunto de datos de carreteras en una ciudad almacenado en una base de datos habilitada para PostGIS. Me gustaría identificar y eliminar cualquier característica que no esté conectada al resto de la red de carreteras. Este comportamiento es común en los bordes de las redes, donde se recortaron los datos.
He encontrado otras respuestas en el SIG GIS que hacen esto, pero todas parecen usar ArcGIS, y me gustaría resolver el problema usando PostGIS, QGIS o un script de Python.
Mis conjuntos de datos pueden incluir más de un millón de funciones, por lo que el rendimiento es una preocupación.
Puede usar fácilmente PostGIS para seleccionar carreteras que no se crucen con ninguna otra carretera:
fuente
Puede usar este script QGIS Python para detectar líneas que no están conectadas a nada:
Tenga en cuenta que esto no funcionará en líneas de varias partes. No creo que se pueda hacer mucho más rápido ...
fuente
Puede eliminar las carreteras fáciles con el método de @ dbaston primero, luego use pgRouting para encontrar los casos más complicados, como cuando tiene una red de carreteras que no está conectada a otra red.
Elija un segmento de carretera que esté definitivamente dentro de la red principal, luego intente encontrar una ruta entre cada segmento a ese. Si no existe una ruta, elimine el segmento.
fuente