Select to view content in your preferred language

Interpolation river depth

3350
7
03-05-2021 12:10 AM
MelissaVanderheyden
Emerging Contributor

I'm analyzing habitat suitability using river depth data. However, my data are pretty basic: point data of the water levels at measuring stations. First, I'm trying to interpolate these data to the river sections between the stations, but I'm not sure which methods to use. I also have to simplify my river polygon very much to make the interpolation with barriers work in the first place. So I'm wondering whether interpolation makes sense in the first place, and whether simplifying the polygon this much would do any harm. Hope someone here knows the answers 😁 Thanks!! 

0 Kudos
7 Replies
MartinMaretta1
Emerging Contributor

I guess best practice for this one is use linear interpolation - TIN (Triangular irregular networks) between your cross sections - then you can clip final TIN(exported raster) with your river polygon.

jcarlson
MVP Esteemed Contributor

Definitely, TIN is the way to go. If you've got 3D Analyst, that is.

There are some other options if you don't have 3D Analyst. I worked on a river modeling project a few years back, and we did it with HEC-RAS. You can use it to do linear interpolation along the river channel, and it is able to export the results. There's a heck of a learning curve to it, but I was very satisfied with the results, and easily brought them back into Pro for further analysis and making nice layouts.

If you wanted to take it a step further, (this would be far more work!) if you successfully interpolate the river depth and merge that with a decent DEM of the surrounding area, you can simulate the variability of the water levels. Depending on the season and recent rainfall, the area covered by the river is going to fluctuate, and it's helpful to see which areas are prone to periodic inundation and may be wetlands.

- Josh Carlson
Kendall County GIS
0 Kudos
MelissaVanderheyden
Emerging Contributor

Thanks for you help @jcarlson and @MartinMaretta1 ! At first sight, both solutions seem great for interpolation cross sections of the river. However, the depth data I'm working with have been measured at a single point each. Do you think these methods would still work on my data? 

0 Kudos
jcarlson
MVP Esteemed Contributor

Do you mean that the depths are at single points along the river, as opposed to along transects?

If that's the case, you could still get a basic interpolation of depth using a TIN, but the resulting surface will be V-shaped, and likely not accurate. Still, it could give you a good sense of depth along the river, if not across. To get a more accurate shape to the bottom, you'd need more points added.

The other thing to keep in mind is the shape of the river. A TIN probably won't generate correctly around a bend if the river is quite sinuous, unless you've got points at fairly frequent intervals in those spots.

jcarlson_0-1615384922820.png

 

HEC-RAS, while it is made to work with transect data, has the ability to interpolate depth across a transect and along the river. Its particular advantage here is that it treats the river or transect as being a one-dimensional linear object for interpolation, and the results of that are "projected" onto the two-dimensional shape. But you have to ask, to quote someone I know from Florida, "Is the juice worth the squeeze?" Learning how to use the USACE's hydro-modelling software for data so sparse may not be.

In my opinion, you probably ought to see if there are ways to augment the data you've got. What area are you working in? You might check if there are any bare-earth (not hydro-flattened) DEM or LiDAR datasets available to try and fill in some missing data points.

And if there aren't other sources of data for the river's shape, what level of approximation would be acceptable to your project and the integrity of the results?

- Josh Carlson
Kendall County GIS
0 Kudos
MelissaVanderheyden
Emerging Contributor

Hi, 

Yes, the data are single points along the river. I totally agree that DEM or LiDAR data would be ideal, but I'm just a master student and analyzing 5 rivers at the same time (depth is only one variable). So I am looking for the easiest, quickest way to get a rough idea of the depth between two points. I don't have to create a perfect image of the river bed, it's just to get an idea of which sections of the river would contain parts that are deep enough for a certain fish species to live in. I basically would need to treat the river as a line. 

Thanks for your help, 

Melissa 

0 Kudos
jcarlson
MVP Esteemed Contributor

Yeah, it would be overkill. Here's a fairly simple idea, which does not require much beyond basic tools and editing:

  1. Add your depth points as a z-enabled dataset, and have it read the depth as the z-value. (May help to work in a Scene. In my example, I've labelled the points with their z value)
    jcarlson_0-1615389516787.png
    1. If you're importing a spreadsheet, XY to table lets you specify an optional Z
  2. Digitize a line between these points, using a z-enabled polyline layer. I've applied a large Z exaggeration to show the z value more clearly.
    jcarlson_1-1615389888925.png

     

  3. Select your new line and use the Divide tool in the Modify pane. Choose whatever method suits you, but make sure you end up with nice, short segments.
    jcarlson_3-1615390715866.png

     

  4. Use the GP tool Add Geometry Attributes to add the central point coordinates of each line to the attribute table.
    jcarlson_6-1615392243325.png

  5. You now have a numeric field representing the rough height of each segment! Visualize your line layer on that field, or even apply a definition query to isolate those segments which are above a certain value.jcarlson_5-1615392170751.png

If you'd rather work with points, run Generate Points Along Line after step 2.

- Josh Carlson
Kendall County GIS
0 Kudos
MelissaVanderheyden
Emerging Contributor

Hi Josh, 

Thanks for all the help. I still have a few questions though (I'm very much at the beginner level here). So I converted my points to a polyline z and divided it into segments. But after that, would Add Geometry attributes automatically calculate the value for each segment our would I have to Split them first? In the attribute table the line would still just show as one object. 

Cheers, 

Melissa 

0 Kudos