Goal: To find the lowest points and edges along a stream when given approximate digitization points along the stream and a DEM model with cell size of 0.5 meters. Code written will be in Python 2.7.
In order to find the lowest points, given approximate digitization points, I looked for the lowest point in a certain radius of each approximated digitization point. That worked out well enough for a start. However, of course there were still some 'noise' of finding points outside the stream with lower values than stream bottom I was looking for.
Now, to find both edges of the stream, I used each lowest point found in the previous step and used a defined length perpendicular line (10-20m to each side, depends on the stream) to find all the points heights along that line, then calculate the slope between each two following points on the perpendicular line and take the minimal slope point which's height is at least 0.5 meters higher than the lowest current point. Well... that did not work pretty well..
Therefore, I am looking for another approach in order to find the two edges of the stream.. Hoping to find any new approaches of ideas.
Edit - Note: Width of stream changes the further the stream goes.
Image below - Lowest points of a certain stream i'm working on, placed on a slope map (Software used - QGIS) :