Geobulletin alpha

News from the Geoblogosphere feed

by Stratigraphy.net
New from Snet: Lithologs, a new tool to create lithological/sedimentological logs online..

Blog post recommendation

Sinuosity Heat Mapping: A step-by-step guide

Hello again. I haven't posted in awhile because I've been busy with final exams for the Fall semester. Those ended last week so I've been back at the office making more progress on my research. 

I am very pleased to share with everyone a really neat way of visually displaying sinuosity values using ArcGIS (of course). I'm nick-naming this "Sinuosity Heat Mapping". It may have another name, but I haven't come across any thus far. Here's a preview of what it looks like:

This technique is not unique. I did not invent this method. I am simply sharing it on a public blog so others might have the chance to take advantage of it. 

Much credit has to go to András Zámolyi. His paper in Geomorphology this year used sinuosity heat mapping and he was more than willing to email me some useful information on how to create such displays.

Here are the broadest of broad instructions on how to create your own sinuosity heat maps. This example if from the Tickfaw River in Louisiana, which I am studying for my Master's Thesis. I got this to work about 20 minutes ago, so bare with me if the first version of these instructions are a little rough. 

Download and install the freely available XTools Pro. Make it visible in your Arc toolbar.  Open a polyline (shapefile) of the river you are working on. Split the polyline into smaller segments that have the length of the "base length" used to calculate sinuosity. For our example, 400 meters was chosen because that was the total length of a horse-shoe meander. This can be done very easily with XTools Pro toolbar (XTools Pro -> Feature Conversions -> Split Polylines) or with the Divide tool in the Editor toolbar. [If you complete a sinuosity heat map and it doesn't really tell you anything interesting, go back to this step and change up your base length. Use caution though, and remember that smaller lengths will not capture bigger scale sinuosity patterns while larger base lengths might not not give you the resolution needed to make any kind of interpretations. Look for the sweet spot!] During this operation, each new river segment should have gained its own FID number. Check the attribute table just to make sure. Next, so you can retain direct distances along the river, create a point shapefile by converting the vertices of the smaller river segments into points. Again, XTools Pro lets us do this very easily (XTools Pro -> Feature Conversions -> Convert Features to Points). Without XTools, only those with an ArcInfo license can use the built-in toolbox necessary to perform such an conversion. Add X and Y coordinates to the new point shapefile with XTools Pro. (XTools Pro -> Table Operations -> Add X,Y,Z Coordinates.) If you are using a UTM coordinate system, Eastings and Northings should be displayed in meters. Go to the attribute and two new columns ("X" and "Y") should have been added. During this operation, each point should contain a column with numbers that match the FIDs from the segmented polyline we created in step 3. If you named these columns the same thing, it will be obvious. XTools Pro lets you name things however you like, though, and the default naming scheme might not be "FID" for step 5, so just open up both attribute tables and look at how they match up. Most likely, your point shapefile table will contain many more rows than your segmented polyline attribute table. This is O.K. and will be addressed later. Export the point shapefile attribute table to Excel. O.K., this is the part of the instructions that will ultimately fail to accurately lead you through the mess of Excel operations. I'm sorry it's confusing. Let's try anyway: Open the Excel file you created in step 8. Explore it a while and get a feel for how it is formatted. It should look like something like this: Add a column titled "River Length". This column will contain the fixed value of your "base length" chosen in step 3. For our example, it is 400 meters: like this: Now it's time to go and thin out the data. Each spreadsheet row is information for one of your vertices/points. It contains 3 important pieces of information: 1) the river segment number the point falls within 2) the X coordinate 3) the Y coordinate. The point of this entire process is to get at sinuosity. Sinuosity is defined as River Length divided by Valley Length. The trick for this method is holding River Length constant (our 400 meter base length), while calculating the variable Valley Length. To get at our Valley Length, we simply measure the distance between two segments. So all those points in between river segments are superfluous and need to be deleted. This will make the Excel coding MUCH easier. The scheme I used to delete unnecessary points was pretty simple.  First, go through and highlight the first row of each river segment:  Next, go through and delete all the rows in between the highlighted rows and collapse them so there are no vacant rows: Go ahead and unhighlight all those rows. Now create a header for another column called "Valley Length". This will contain the straight-line distance between the first point of one river segment and the first point of the adjacent river segment. We already automated the division of the River Length (400 meters), so this will give us both numbers necessary to perform a sinuosity calculation. Thanks to Pythagoras and nature of the UTM coordinate system, we can use Excel to quickly calculate straight-line distances between two points. Remember that the X and Y columns are in meters, so by simply solving the Pythagorean Theorem in the equation toolbar we have calculated the hypotenuse of an imaginary triangle drawn with two points in our river segments. If none of this make sense, maybe a look at the code will help. Here is how it looks in the equation toolbar: " =SQRT(((B3-B2)^2)+(B3-B2)^2) ". Drag this equation all the way down the column so it is applied to all the rows. Here is what it should look like in the spreadsheet:  Almost done! Create another column labeled called "Sinuosity". In the formula bar, divide the River Length by the Valley Length. Note: I just realized that I had entered "400m" instead of "400" as the River Length. Go ahead and delete the "m" from those cells or else the division equation will fail! Sorry about that.    Open up Arc again and pull up the attribute table for the segmented polyline shapefile we created in step 3. We need to add a field for sinuosity. Hit the "Options" tab at the bottom of the attribute table and then click "Add Field..." In the window that pops up, name the field "Sinuosity" and in the Type drop-down menu, select "Float". If you choose "Integer", all of the sinuosity values will be rounded to the nearest integer (not useful). Click OK. The attribute table should now list Sinuosity as a field with "<Null>" in every cell.  Now it's time to copy and paste the sinuosity values from Excel into the new field in the attribute table. Select the "Editor" drop down from the Editor toolbar, and then "Start Editing". Select the directory that contains the segmented polyline file and hit OK. Now go to the Excel file and copy the relevant cells. Go back to the attribute table, select the sinuosity cell for the second segment (segment one will be blank), and paste in the values. Go back to the Editor toolbar, Stop and Save Edits.  Right click the segmented polyline shapefile in the layers sidebar and go to Properties. Under the "Symbology" tab, click "Quantities" and then "Graduated colors". In the Value drop-down menu, select "Sinuosity". In the Color Ramp drop down, pick something you think will look nice. This is not that important to get right on your first try... it can be changed anytime. The sinuosities will automatically be broken into 5 classes, but if you want, you can manually enter the number of classes you want the data broken into. For this example we will stick with 5 classes. You can also increase the thickness of heat mapping lines by double-clicking on the colored small lines next to the classes. Hit Apply. That's it. Enjoy your Sinuosity Heat Map.  See and download the full gallery on posterous

 

Permalink | Leave a comment  »

Stratigraphy.net | Impressum
Ads: