I've added some more information in another forum that I posted this problem to... https://sites.google.com/site/ausqgis/home?place=topic%2Faustralian-qgis-user-group%2F88pZ1ZR0M94%2Fdiscussion
I would use tour method to buffer the road as suggested - then I would REMOVE those roads which belongs to the bicycle race from the network. Then I would run the NetworkTopologyCreator to separate the different networks and handle these 1 by 1. Ie. One network will be completely outside your race (the biggest?), another network will be some "islands" within your network, and yet other ones would be "dead-ends". Then you can buffer out those wanted networks and do the same as in the beginning (buffer them to find out which owners are around them).
Hi Bazza,
would it be possible to attach an attribute to the dead ends, then filter the dead ends and in the last step buffer them and do an intersection?
Best regards,
Stefan
An alternative solution to finding dead-end roads:
1: Use a GeometryExtractor to store the original geometry in an attribute.
2: Replacing each road by it's start- and endpoint. (CoordinateExtractor and 2DPointReplacer, twice)
3: Do a PointOnPointOverlay with all those points, the ones that don't overlap any other point are the end points of dead ends.
4: Use a GeometryReplacer to bring the original road geometry back
5: Intersect those with your bike race buffer.
That should do the trick.
Over the weekend I played a bit with SigTill's solution (just for fun), and it seems to work. I don't have a complete working workbench yet, but it seems you want ALL islands as people on those roads also can't leave by any way without crossing the race route.
I have also used SigTill's solution to come up with something that works very well. The only issue that I would like to resolve is getting rid of the 'biggest' network (as mentioned in SigTill's post) in an automated way. All of the small networks that I want to keep intersect with the bike route but I can't use this as a means of selecting the networks that I want without getting rid of the main network first as it also intersects the bike route.
If possible I would like to get to a point where I can just feed any bike race route into this workspace and have it write out a set of property owner details that need to be contacted... we have a lot of bike races in this area!
Thanks for all your suggestions, especially SigTill, I appreciate all the suggestions.
Cheers,
Bazza
Hi Bazza!
Happy to help. By using the SpatialRelator between the Networks you might be able to automatically figure out which network is the outer network.
For instance:
- Create ONE boundingbox of ALL networks
- Create ONE boundingbox PER network (including biggest, islands,deadends etc)
Use spatialRelator to see which network-boundingbox intersects or touches the boundingbox of ALL-networks. This network will be the "outside/biggest"-network to throw-away. The rest will be the ones you need?