Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Service area improvements #19

Open
merkato opened this issue Aug 13, 2019 · 3 comments
Open

[FEATURE] Service area improvements #19

merkato opened this issue Aug 13, 2019 · 3 comments

Comments

@merkato
Copy link

merkato commented Aug 13, 2019

I'm looking for two improvements in QNEAT3 plugin, to use it in Fire Brigade practice:

  1. Iso-Area as PointCloud (from Layer) returns origin_point_id field. If we can get Iso-Areas as Polygons (from Layer) polygons cut by this parameter - result will be a real Service Area (area of responsibility).

  2. Network entry cost from attribute table. In polish state/volunteer fire brigades realm there's level of readiness. It's represented by minutes from alarm to leaving fire station. In state fire brigade it's 1 minute, on volunteer it's 3 or 5 minutes depending on fire brigade class. Right now we cannot analyse whole county area with all units, only those with same readiness level.

I'm must say that QNEAT3 is easiest way to get isochrones in QGIS right now. I'm using pgRouting too (where I've implemented readiness attribute in query, and calculating service area from concave hull), but this is not optimal for fire brigade officers - generally not proficient in GIS.

@josephholler
Copy link

Responding to point 1:
I've been interested in this as well. The current programming framework for QNEAT3 does not support it. From my understanding:
The QNEAT3 Polygon and Contour outputs are based on TIN interpolations, so you'd have to generate a new TIN for each polygon, and this would be a very slow process.
In addition, the TIN interpolations are based on Pointclouds. Pointclouds do contain the unique ID of the start point, however if a point is within the iso-area size of multiple start points, it only contains the cost and ID of the nearest start point.

Alternatively, you might look at the QGIS service area (from layer) algorithm: it will output multi-line features with one feature per input point. You could buffer these with a flat end cap style or use convex hulls to approximate a service area for each start point.

@root676
Copy link
Owner

root676 commented Jul 2, 2020

@josephholler: This is a very good analysis of the problem: Due to the fact that you could implement this in a pyhton script (looping through points and then intersecting the resulting iso-areas) I didn't want to add more algorithm parameters/steps that would make the currently very complex QNEAT3 algs more complicated.

@josephholler
Copy link

To follow up on this, the algorithms currently ask for an input "unique point ID field", which cannot be meaningful the way the algorithms work. Can this input be removed from the algorithms?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants