A QGIS plugin that finds disconnected "islands" in a transport network layer, so that a routing tool will work between all nodes. A tolerance field allows for imperfect topology. Now supports options for vertices.
This plugin runs on a line layer, building up a road (or rail, etc.) network graph of connected links. It then analyses connected subgraphs, ones that are connected to each other, but not connected to isolated or floating links. It creates an additional attribute containing the group ID of the subgraph. This can then be used to style the layer with Categorised styles, or Zoom to selection. The disconnected links can then be fixed.
Version 2.1.0 introduces a new option to only use the start and end vertices of a road link (previously all vertices were considered.) A group ID of -1 (hidden) indicates a second road link with exactly the same start and end vertices as another road link, but probably with different in-between vertices.
Based on Detlev's answer to my question: http://gis.stackexchange.com/questions/184319/how-to-find-disconnected-islands-in-a-road-network-layer-using-qgis
Sample data to test this plugin can be found:
- in your plugins directory: ...QGIS/QGIS3/profiles/default/python/plugins/disconnected-islands/sample-data/islands.zip
- via GitHub: https://github.com/AfriGIS-South-Africa/disconnected-islands/raw/master/sample-data/islands.zip
This plugin depends on the NetworkX module. Mac OS X users need to install it manually, simply by executing, in a Terminal: sudo easy_install networkx. Then restart QGIS.