I want to create a map in the style of a London tube map (or similar metro systems) where the stations are linked together (with train lines) but the placement of the stations does not directly relate to their position in real life.

In QGIS I can create the stations (as points) and can draw lines connecting the stations. How do I now:

  • Move the stations into different positions (i.e. away from their real life position) ensuring that the lines connected to a given station move as the station is moved?

I foresee having a layer(s) showing the original positions of the stations and their connections plus another layer(s) showing where the stations have moved to which I can modify to make the tube map clear.


3 Answers 3


For future reference for others trying to do the same, I managed to create a map using QGIS (and learnt a lot along the way). See https://derbycyclinggroup.org.uk/blog/map/ for the final version.

I never found a way to move the "stations" and the lines connected to them as one. However, I found that creating a grid in the background, setting the snapping options for the grid layer and then moving the stations using the node tool allowed for placement. I then wrote some R code (using data on start and finish stations) to move the links to match the new positions of the stations.

This process was iterative (move some stations, redraw the links, repeat) as moving all the stations at once meant it was about impossible to see what I was doing!


Tube maps are abstract representations of the geometry. They tend to follow certain graphical conventions, too:-

  • lines which overlap geographically are rendered in parallel. For example, the London Underground Map, where many lines can share the same piece of track. This is especially common with tube-style bus maps, where many routes go down one street. That's the issue that Underdark's comment referred to.

  • lines tend to snap to a fixed set of angles (e.g. nearest of 90 degrees, 45 degrees, 30 degrees)

I suspect most such maps are drawn in Illustrator, InkScape or similar tools.

That being said, QGIS has some great tools for digitizing (the term for drawing or tracing features). The Advanced Digitizing Panel lets you 'snap' a line to an angle.

advanced digitizing panel

Here's an example imaginary tube map. I used Marker Line symbology to draw a point at each vertex. When I drew each line, I made sure there was only one line segment between each station. This was just a quick proof-of-concept, with more care you could get a better result. I set the option to snap to a multiple of 30 degrees.

enter image description here

Unfortunately the angle constraints only work when you draw the line. If you want to move a station, it won't constrain the angle of the line.


If you're just looking to manually move points, then right-click the layer, 'Toggle Editing', and then use the 'Move Feature' tool in the Digitizing Toolbar. Be sure to do this to a copy of your original shapefile, or the changes will be permanent to your source data.

  • Thanks for the suggestion. I really want the connections between the points (i.e. the lines from one point to the next) to move as the points are moved using the Move Feature tool. Is it possible for the lines to be "connected" to the points and then to move as the points move? I am imagining this working like a flow chart diagram tool where things can be moved around and anything joined to the things moves with them.
    – Ian
    Dec 16, 2016 at 19:46
  • Ah, I misunderstood the OP. If this is strictly for visualization purposes, the only thing I can think of at the moment would be to stylize the vertices of your line, and have each vertex located where you want the station to be, similar to this post.
    – GIS_Canuck
    Dec 16, 2016 at 19:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.