2

I have a polyline which represents the middle of a river. Perpendicular to this polyline there is a layer with a set of points. These points all have an "X" and "Y" coordinates as well as a height relative to sea level and represent the profile of the river.

However, these points are only present at one point. I want to copy this set of points to multiple locations along my polyline so that I can interpolate these points and get a DEM to load into a simulation programme that needs river cross-sections as input.

How to copy the point layer perpendicular along the polyline given a set interval (e.g. a meter between each set of points is sufficient)?

example

The points are lying on the same line, but I think the visualisation of QGIS makes it look like they are not.

  • What distance should be considered between neighbours (sets of points)? Are points lying on the same line? Apparently, from the image above it seems like not. Which line should be examined as a centre line (produced probably out of points) that has to be ⊥ to the river? What are those predicates/rules, e.g. a direction, abearing etc. or simply a middle point between the most left and the right etc.? – Taras Dec 18 '19 at 9:12
  • Sorry if everything is not as clear as possible, it is my first time using stack exchange and I'm relatively new to Qgis. The distance between the set of points is not of great significance, but i think a meter between each set of points is sufficient in this case. The points are lying on the same line, but i think the visualisation of Qgis makes it look like they are not. For the last question the middle between the most left and the right is sufficient. – Taj Dec 18 '19 at 9:27
  • No worries, I was also 'virgin' at some point with GIS SE). Okay, I got your remarks. BTW when points are lying on the same line, then my question "Which line should be examined as a centre line (produced probably out of points) that has to be ⊥ to the river?" is neglectable. – Taras Dec 18 '19 at 9:29
  • @Taj Did you solve your problem? I tried to solve using python. But it needs more effort. If you solve the problem. please share solution with us. – Kadir Şahbaz Dec 22 '19 at 15:09
  • @KadirŞahbaz As I am not as familiar with Python and the use of the Python console in Qgis, I did it by hand. I did it by creating parallels of the polyline at the distance the point lies from the central polyline and inserting the Z-coördinate in the attribute tabel for every parallel. After that I merged the parallels and used line to points to generate points and natural neighbour to convert it to a raster. – Taj Dec 23 '19 at 8:30
1

So i started with a line which represents a river and a set of points with a certain "X","Y" and "Z" coördinate, which represents the profile of the river. Every points also contains information on the distance between the first point (most northern point in this case) and the point itself.

enter image description here

  1. First i measured the distance from the line to the first point with the measure line tool and created a parallel through the first point. This causes some discrepancy, because the measure line tool is not comepletly exact, but for my problem this does not really matter
  2. From the created parallel, I used offset lines to create a parallel through each point

enter image description here

  1. Then I manually added a "Z" coördinate to each line, used densify by interval to create more vertices and lines to points to create a raster of points.

enter image description here

  1. Lastly i used Natural neighbour to create a grid that represents my river, which is shown below.

enter image description here

This solution does currently work for me as my project area is not that large, but in the future the project area will become larger and this will take a lot of time. Therefore, I am still interested in a more convenient solution.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.