I have a road network (vector) that i'm interested in carrying out some space syntax analysis on.

Predictably my GIS data is in a pretty terrible state. For example, there are a bunch of roads on the network that look like they join but do not. I've managed to fix some of this (on the surface at least) with the GRASS v.clean tool in QGIS.

My big problem though is polylines. In nearly every case I have long stretches of road that are stored as separate polylines. For example, a long trunk road, split into 5 or 6 separate lines even if they have all snapped together. Worse still in some cases these sections have been given different (or slightly different) road names and have no common identifying attribute. If I run the 'topology checker' in QGIS - it identifies these as 'pseudo-nodes'.

I now want to clean these pseudo-nodes and I was really hoping that there would be a (fairly) simple method of simplifying this network to allow me to run the space syntax analysis tools to actually give a meaningful output. Unfortunately the 'topology checker' only shows you where the errors are, I now need a tool to help me clean them. I had though v.clean from GRASS would do the trick but haven't had much luck. I have been looking at the suggested answers here: Find pseudo nodes in free GIS software

There are a lot of reference to the sextante plugin for QGIS - though I have a feeling this has been incorporated into QGIS's tool now as the 'This plugin is deprecated!' according to the repository. If so, I can't find "Extract endpoints of lines" and "Join adjacent lines". Does anyone know where I can find these functions - or alternatives?

p.s. using QGIS 2.10 on Ubuntu 14.04 - but open to suggestions of other opensource software/solutions: R; Python, GRASS 7, Open Jump etc.

  • The long polyline problem you describe is potentially/commonly known as pseudo-nodes and is a fairly basic topology check. The toolkit you link to appears to have some topology check and correction tools included. However pseudonodes shouldn't really be a problem from a pure network standpoint (I don't know about the specific analysis you want to run). I'm not really clear on what the question is - are you looking for tools/methods to clean the data for prep as a network (and in that case what topology rules do you need to follow), or more simplify/skeletonize it? We have questions on both. – Chris W Jul 9 '15 at 21:11
  • hi thanks Chris - yes, pseudo-nodes sounds like the problem I've got. So, yes instructions/tutorial to clean the data in this way. I'll have a look back over the previous post. The analysis I want to run (space syntax) measures the connectivity of a network. Useful in urban planning/design/transport terms to identify which parts of a city may be poorly connected. Each road/link is given a weighting base on how connected it is to other links in the network. So I think it's less about simplifying the network than ensuring long polylines are captured as single entities and not separate chunks... – marty_c Jul 10 '15 at 8:28
  • You'll find a variety of solutions at the possible duplicate question. More specifically there is a pseudo check in the QGIS Topology Checker plugin, and I'm sure there's something in GRASS that would do it. I'm just not familiar enough with either to give you specifics, as I work mostly with ArcGIS which has its own topology checking tools. – Chris W Jul 10 '15 at 19:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.