Friday, 8 December 2017

qgis - Generate non-overlapping shapes from a buffer



I have a collection of points, and I need to generate shapes around these points.


Let's assume that these points are locations of offices and that the shapes are the 'area of responsibility' around the offices. The area of responsibility is defined by airline distance. This can be easily solved by a buffer function.


But now: It is possible that offices are very close to each other and that the areas of responsibility of two or more offices overlap. In this case, only one (the closest) office is responsible.


Is it possible to generate such shapes without iterating over the positions in the overlapped area?



Answer



You don't say which software you're using, but the thing you're looking for is Voronoi polygons (AKA Theissen polygons). This is the set of polygons such that any point within a polygon is nearest to its seed point.


You will find that the polygons tessellate, which might be a problem if your offices have a maximum distance of responsibility. If that is the case, one way is to generate buffer polygons around each building, and take the intersection of that buffer with the Voronoi polygon associated with the building.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...