[GIS] How to set up a threshold for Delaunay triangulation

delaunaygrassqgis

I've been working Delaunay triangulation on a set of random points inside a group of mostly linear areas (in fact, buffers around rivers).

The problem is that while the triangulation works correctly inside these areas, it also produce a lot of triangles between the areas. Expectedly.

Now, I need to delete all this extra data manually.

Does anyone think it would be possible to define a threshold, a maximum distance, for the Delaunay algorithm?

That way, it would only produce triangles inside each area.

Any idea how I could do that? I'm using QGIS or GRASS.

Best Answer

GRASS command v.delaunaycan be configured with v.in.ogr min area to define a minimum area for each triangle. But, could be tricky, because the algorithm could generates small polygons out river area.

The easiest way is take buffer polygon (in your case) into account and execute an execute Select by location. You'll select only polygons inside your desire area, also you can set a ruleset for selection. After this, simply selecta Save As.../ Save only selected features.

Here a simple example using a line to define selection:

buff1

With a buffer zone, you need one more step. Take buffer polygon and apply an inverse buffer (Fixed distance buffer with negative distance values). Use second buffer to select Delaunay polygons (Black dashed area is second buffer):

buff2

Related Question