4

I have a layer of buffers calculated from watercourses. Each watercourse/buffer has a Strahler Order (0 to 7).

I need to delete overlaps between buffers order 0 and buffers order 1 to start, but choosing to keep the highest order (1), that's why I can't simply apply "remove duplicate geometries", as I did first on seperate layers of buffers with the same order)

Here is a summuary of the several steps I apply, mainly using models :

  • create one layer for buffers of each order
  • apply v.clean tool, for area and the cleaning option "rmarea" that cuts polygons according to overlaps. Before : enter image description here After : enter image description here
  • Like I now have duplicated geometries at intersections, I apply remove duplicates

I did these steps for each order, and now I would like to remove duplicates of the lowest order. I tried the following steps :

  • merge buffers order 0 and 1
  • apply v.clean with the same parameters as below
  • select duplicates using the following expression, but it doesn't work :
intersects(  $geometry,  geometry( get_feature('Arthabaska_Buffer_RH_CE_D_20m_ordres01','ID_O_Str_1',0)))
  • In the previous selection, select buffers order 0 and remove them

What's wrong with this expression, and/or is there an easier way to do ?

3
  • 2
    Is it possible to share sample data? Otherwise people willing to help fiest have to re-build your steps and might still get another data structure as yours.
    – Babel
    Commented Apr 5, 2021 at 8:54
  • Of course, but how can I add files ? Commented Apr 5, 2021 at 14:56
  • Not here, unfortunately. But if you upload it to a cloud, you can share the link here.
    – Babel
    Commented Apr 5, 2021 at 15:12

1 Answer 1

1

I'm still interested in knowing how to do it with an expression and will add soon files to make tests, but I finally decided to do it in another way:

  • create a buffer of 1m around the buffer of the highest order (i.e 1)
  • select buffers with lowest orders (i.e < 1) in the layers of buffers with all orders after v.clean
  • select by location inside the previous selection buffers within the 1m buffer
  • delete selected features

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.