I'm looking for a new flat in London.

In QGIS, I have:

  • A vector layer with polygons of each of London MSOA (sub-wards level area), with some statistical data (median house price, crime, etc).
  • A vector layer with train/tube stations as points, with a data table of the commute time from each station to my work destination.

I want to be able to filter the MSOAs by parameters (e.g. commute time, house prices, crime), so that I can only see those particular areas in London that meet my targets.

I need to get the commute times for each MSOA.
I was thinking I need to do this analysis:

  • For each MSOA:
    • Find every station in 2km range from the MSOA centroid
    • For each station:
      • Calculate the time to walk from the centroid to the station (straight line - no network analysis!) e.g. walkTime=distance/75
      • Sum the walk and commute time e.g. totalCommuteTime = walkTime + station['commuteTime']
    • Select the first station with the least total commute time
    • Add to the MSOA data table the selected station and the total commute time

Any suggestion on how to achieve this?

  • If I understood you right, your problem can be reduced to getting the distance from each centroid of MSOE to all stations within 2 km. With the distance, you get a travelling time that you can add to the attribute you already have (walk+commute time). For this, you can use Distance matrix or QGIS expressions with overlay_nearest() function (since QGIS 3.16).
    – Babel
    Jul 8, 2021 at 7:37

1 Answer 1


There are several plugins that can help you with this task. Some of them require you to obtain network of the roads, some use their own service.

  1. QNeat3: requires you to have existing network then you can use the OD matrix to measure the distance

  2. TravelTime platform : This one uses several APIs and can provide results for public transportation mode too.

If the number of your observations is huge, I advise you to use QNeat3 as other plugin has limitation on requests that you are sending.

If you know python and are familiar with geopandas, you can use OSMNX library for your analysis which is much faster and gives you more control over parameters.

OSMNX: https://github.com/gboeing/osmnx

I hope this helps.

  • It is not really what I wanted to do, but it sounds like a viable solution. I'll get it have a try thanks Jul 8, 2021 at 17:45

Your Answer

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

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