Geospatial representation of river channels 

by Venkatesh Merwade

Center for Research in Water Resources
The University of Texas at Austin


Table of Contents


1.0 Introduction

This tutorial is an exercise that performs all the functionalities described in the paper Geospatial representation of river channels. It would be easy to understand the tutorial if the user has already read and is familiar with the concepts described in Geospatial representation of river channels. The toolset for this exercise version 1.0 and please report errors (if any) to Venkatesh Merwade at vmmerwade@mail.utexas.edu.

 

It is expected that the user is familiar with ArcGIS software and knows how to perform basic operations such as adding data, opening attribute tables, selecting features, and editing the data.  

2.0 Data Requirement

All the data necessary for this exercise is stored in a geodatabase called Channel.mdb in the Data folder. The Data folder also contains a sub-folder called Worked Data that contains all the results for the exercise. The user can use some of these results in the exercise. The channel dataset in the Channel.mdb contains four feature classes as shown below:

 

 

The BathymetryPoints contains the bathymetry data with elevation as one of its attributes, and the BoundaryBolygon is the boundary for the bathymetry data. The other two feature classes, FishNetXY and Thalweg are empty and will be populated in the exercise. 

 

3.0 Getting started

Please copy the Data folder on your hard drive. Also make sure that a folder named “c:\temp” exists on your drive. Open an empty ArcMap document and save it as channel.mxd. The first step is to add the channel tool to the map document by loading the ChannelTool.dll. To load the dll click on Tools-->Customize… as shown below:

 

 

 

In the customize window, click Add from file… button to browse the ChannelTool.dll in the Data folder. Click open and then OK to add the Channel Tool to the toolbars list. Click on Channel Tool as shown below:

 

 

 

Close the window and you should see the Channel Tool as shown below:

 

 

 

Save the ArcMap document. The river channel toolbar has three command buttons as below:

 

 

(1) Locate Thalweg: to locate the thalweg using the bathymetry data, channel banklines, and an arbitrary centerline digitized over the bathymetry data.

(2) Assing (s,n) coordinates: to assign (s,n) coordinates to the bathymetry data using the thalweg as the reference line and

(3) Create FishNet: to transfer the FishNet from (s,n) coordinates to (x,y) coordinates.

 

These functionalities are illustrated one by one in the following sections.

 

4.0 Locating the Thalweg

 

There are two different approaches to use the Locate Thalweg tool. First, the user can create a bathymetry grid using the bathymetry data and the channel banklines (boundary). Second, the user can let the program create the bathymetry grid. Both approaches are explained here.

 

4.1 First approach (using the initial line and the bathymetry grid)

 

Add BathymetryPoints, and BoundaryPolygon from Channel.mdb to the ArcMap document. Using the Spatial Analyst toolbar in ArcMap, create a raster grid by interpolating the “ELEV” attribute of the bathymetry points. The bmetrygrid stored in the Workded Data folder is the result. The user can either create this grid or add the bmetrygrid from the Worked Data folder. If a new grid is created, please name it as bmetrygrid.  

 

Add the bmetrygrid to the map. Turn off the bmetrygrid layer. Add the Thalweg feature class from Channel.mdb to the map. Start the edit session and click on the sketch tool with Create New Feature task. Make sure the target is set to Thalweg layer as shown below:

 

 

 

Digitize an initial centerline on top of the bathymetry points as shown below. While digitizing, avoid sharp angles (try to keep it as smooth as possible) and the length of individual segments should be more than 100m. The initial centerline should be digitized in the direction of flow (north to south in this case). A sample initial centerline with its segments is shown below:

 

Please make sure that the starting and ending points are outside the bathymetry data as shown in the above figure, and the starting and ending segments are perpendicular to the channel boundary. In the channel tool, click on River Channel ---> Locate Thalweg. The program will display the following message:

 

 

Since bmetrygrid represents river bathymetry, click YES to get the following interface.

 

 

In this approach, the first two boxes (select point layer and select field) are disabled because they are not used if the bathymetry grid is provided as the input. Select the Thalweg feature class in the select thalweg layer box, BoundaryPolygon in the select boundary box, and select the bmetrygrid in the select raster layer box. Drag the interface to any corner of the map to see the program locating the thalweg. Click OK and the program will flash some points on the map. These points are the deepest points along the vertices of the input centerline and they are joined to get the thalweg location. After the thalweg is located, the program will display a message as shown below:

 

 

Click OK to see the result as shown below:

 

Since the study area is located along a curve, the thalweg is pushed outwards towards the right bank (looking downstream).

 

 

4.2 Second approach (using bathymetry points, channel banklines, and the initial centerline)

 

This approach is the same as the first one except that the program creates the bathymetry grid using the input data. Remove the bmetrygrid from the map. Digitize one more intial centerline and save the edits. Select this line using the select feature button. Selecting the new initial centerline is necessary because the Thalweg layer already has one feature in it and if there are more than one features in the thalweg layer, the program works with the selected feature, if selected. If the new initial line is not selected then the program considers the first feature in the Thalweg feature class as the initial centerline. Since the first feature in the thalweg feature class is the thalweg located by the first approach, it is necessary to select the initial centerline digitized in the second approach. In the channel toolbar, click on River Channel ---> Locate Thalweg. The program will display following interface:

 

 

 

In this approach, the Select raster layer box is disabled because the program will create the raster using the ELEV attribute of the BathymetryPoints. Select BathymetryPoints for the point layer, select ELEV field from the point layer, BoundaryPolygon for the boundary, and Thalweg for the thalweg layer. Click OK. In the first approach, the program immediately displayed the flashing points and locating the thalweg was quick, but with this approach the program has to first interpolate the raster and then locate the thalweg. It will take a while (a minute or two) before the program starts flashing the deepest points along the river channel. After the thalweg is located, the program will display the same message box that was displayed with the first approach. Click OK to see the results.  

 

Save the edits. Change the editor task to Modify Feature and click on the modify button as shown below:

 

 

Select the thalweg feature and the map should display the vertices of the polyine as shown below:

 

 

Bring the cursor over one of the vertices and right click to see the Edit Sketch window. Click on Properties… as shown below:

 

 

 

ArcMap will then display the Edit Sketch Properties of the selected feature as shown below:

 

 

Notice that the thalweg is a three-dimensional polyline (PolylineMZ) and it has two extra coordinates, m (measure) and z (elevation), besides (x,y), at all its vertices. Close the Edit Sketch Properties window, save the edits, and stop the edit session.

5.0 Assigning (s,n) coordinates to the bathymetry data

 

This section deals with assigning (s,n) coordinates to the bathymetry data. These coordinates are stored as attributes in the feature class. Before using the tool it is necessary to add new fields to the feature class to store the (s,n) coordinates. Open the attribute table of the BathymetryPoints feature class. On the bottom-right corner of the table, click on Options--> Add Field… as shown below:

 

 

In the Add Field window, add a new field named sCoordinate of type Double as shown below:

 

 

Repeat the same process to add one more field named nCoordinate of type Double. Make sure that the names are spelled correctly otherwise the program will display a message to add the field again.

 

Start the edit session and click on River Channel--> Assign (s,n) coordinates as shown below:

 

The program will display the Assign (s,n) coordinates interface as shown below:

 

 

Select BathymetryPoints for the input point layer and Thalweg for the centerline layer. Click OK and the program will display the following message after storing (s,n) coordinates in the attribute table of the BathymetryPoints feature class.

 

 

Click OK. Save the edits and stop the edit session. Open the attribute table of the BathymetryPoints feature class to see the coordinates. Select all the points with negative n coordinates and all the points lying to the left hand side (looking downstream) of the thalweg are selected. Similarly all the points to the right hand side of the thalweg have positive n coordinates.  

 

6.0 Creating a FishNet 

 

This section, besides the Channel Tool, makes use of the FishNet tool from ESRI. The description of the FishNet tool, and how to use it can be found at the following Internet link:

 

http://arcobjectsonline.esri.com/ArcObjectsOnline/Samples/3D%20Analyst/3D%20Visualization/Surface%20Fishnet/Surface%20Fishnet.htm

 

The tool itself is located in the Data folder as FisnNetCommand.dll. Add the FishNetCommand.dll to ArcMap. Follow the same instructions given in the Getting started section at the beginning. The FishNet command button is shown below:

 

 

The procedure for creating a fishnet that will give a network of profile lines and cross-sections is illustrated below in four steps.

 

Step 1 - plotting the bathymetry data in (s,n,z) coordinate system

 

Open the attribute table of the BathymetryPoints feature class. Click on Options in the bottom-right corner and then click on Export… as shown below:

 

 

This will save the attribute data into a dbf table. Name it as Bathymetrydata.dbf and save it in the Data folder. ArcMap will display the following message:

 

 

Click YES to add the table to the current ArcMap document. Right click on Bathymetrydata.dbf and then click on Display XY Data… as shown below:

 

 

In the Display XY Data window, specify sCoordinate for XField and nCoordinate for YField as shown below:

 

 

A layer named BathymetryDataEvents will be added to the ArcMap document. Right click on this layer and click on Zoom To Layer to see the new layer as shown below:

 

 

The bathymetry data are now transformed into a new coordinate system (s,n,z) where the river channel is represented straight and horizontal. Again right click on the layer and click on Data-->Export Data… to export the data to a shapefile as shown below:

 

 

Save the data as StBathymetry.shp and click YES to add this new file to the map when a message shown below is displayed:

 

 

Remove the BathymetryDataEvent layer and the BathymetryData.dbf table from the map. StBathymetrydata.shp stores the bathymetry data in the new (s,n) coordinate system. Save the ArcMap document.

 

 

Step 2 – creating the bathymetry grid in the (s,n,z) coordinate system

 

Add the StBoundary.shp from the Worked Data folder or create a new shapefile and digitize the new boundary for the bathymetry data in the (s,n) coordinate system as shown below:

 

 

Using the spatial analyst toolbar in ArcMap, create a raster grid for the bathymetry data in (s,n,z) coordinates by interpolating the ELEV attribute of the StBathymetry shapefile. Use a cell size of 2.5m and use the new boundary as the mask for interpolation. Name the output grid as StGrid. The resulting raster in the new coordinates is shown below:

 

 

Save the ArcMap document

 

Step 3 – creating a FishNet in (s,n,z)

 

This step involves using the ESRI FishNet tool to create a FishNet in (s,n,z) coordinates. Click on the FishNet… command button to get the Create Fishnet From Surface interface as shown below:

 

 

Select the input surface as StGrid. Since this area is about 700m long, input the approximate number of mesh lines on the longest side (along the flow) to be 50 to get approximately a spacing of 15m between the lines. Do not check the option for grouping the surface and the FishNet. Save the output feature class as FishNetSN.shp. Click OK and the tool will create a FishNet as shown below:

 

 

(Note: If this tool gives any error message, please register the FishNetCommand.dll in ArcScene and create the FishNet in ArcScene by adding the stgrid as the input surface)

 

Save the ArcMap document.

 

Step 4 – Transferring the FishNetSN to the original coordinate system

 

Start the edit session. Add the FishNetXY.shp shapefile from the Channel.mdb to the map. Click on River Channel-->Create FishNet as shown below:

 

 

The program will display the Transfer FishNet interface as shown below:

 

 

Use FishNetSN.shp for the Input FishNet(s,n) Layer and Thalweg for the Centerline Layer. Select the empty feature class, FishNetXY, for the Output FishNet(x,y) Layer. The program will transfer the FishNet in (s,n) coordinates to (x,y) coordinates to get a network of lines that are parallel and transverse to the flow direction as shown below:

 

 

Save the edits. Change the editor task to Modify Feature and click on the modify button. See the edit sketch properties to notice that the FishNet lines are three-dimensional lines of type PolylineMZ. This result may be useful to use at finite element mesh in hydraulic modeling studies.

 

OK, you are done!

 


 

Supporting Material

 

 


 

Contact Information

Venkatesh Merwade

Graduate Research Assistant

Center for Research in Water Resources

Department of Civil Engineering, University of Texas at Austin

(512) 471-0073

vmmerwade@mail.utexas.edu

 


These materials may be used for study, research, and education, but please credit the authors and the Center for Research in Water Resources, The University of Texas at Austin. All commercial rights reserved. Copyright 2003 Center for Research in Water Resources.