1

Working in QGIS 3.16. I have a point layer with 1 origin and another point layer with 380 destinations. These destinations were derived from the centroids of population zones, each with a population attribute. Using ArcGIS Online's 'connect origins to destinations' tool, I've calculated the best walking routes to each destination from the origin. These routes now each also have the centroid population attribute.

What I'd now like to do is to symbolise each route by the number of people walking along that section; i.e. the darker the section, the more people walking. As each route from the zones join up closer to the origin, the routes should become darker. I believe the thing I'm trying to create is a distributive flow map, except along a pre-determined network rather than being freeform lines/curves. How would I accomplish this?

A simple transparency adjustment of the route layer gets me halfway there, but only shows density of zones using a route, rather than actual people using it.

I've attempted using the Flowmapper plugin in QGIS but I'm getting errors, I think it's too old for my instance of QGIS. This tool in ArcGIS both appears to not be what I'm looking for given it doesn't work along a street network and also requires a Spatial Analyst licence which I don't have. I've also attempted the answer to this question, but the footpaths don't align to my road network dataset. I tried splitting the routes using 'split by max length', assigning IDs, and then summing the sections, but that also failed.

1 Answer 1

0

With QGIS, you can use data derived styles. What you can do is set the width of your routes with the population attribute for example.

enter image description here You can also do the same for the opacity but it will not work well with the superposed paths

A more accurate solution (but more complicated) would be the following:

  1. run "Explode Lines" algorithm on your routes
  2. run "Join Attributes by Location" on your exploded lines with:
    1. Geometric predicate -> equals (only)
    2. Field to summarise -> your population field
    3. Summaries to calculate -> sum
  3. set the renderer style (click on the "Edit..." option in the drop down menu that appears when you click on the first rectangle in the below picture) enter image description here here this formula coalesce(scale_linear("POPULATION", min_population, max_population, 20, 100), 0) for the opacity will work really well

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.