# Lab 2 Transformational View

## Introduction

This lab is about taking a transformational view of cartography. It is an approach to computer and analytical cartography that is highly influential. The concept derives from a seminal paper by UCSB geographer Waldo Tobler (1979) entitled "A Transformational View of Cartography" That appeared in The American Cartographer, Vol. 6, No. 2, 1979, pp. 101-106.

The abstract for Tobler's (1979) paper states: "Cartographic transformations are applied to locative geographic data and to substantive geographic data. Conversion between locative aliases are between points, lines, and areas. Substantive transformations occur in map interpolation, filtering, and generalization, and in map reading. The theoretical importance of the inverses is in the study of error propagation effects."

UCSB geographer Keith Clarke has a book chapter entitled A Transformational View of Cartography and on his website Dr. Clarke provides an outline of the same name. This entire course follows from a transformational view. Thus, students unfamiliar with the transformation view of cartography should read Tobler's (1979) paper and Clarke's chapter. With a basic understanding of the transformational view, we are ready to proceed to executing some transformations.

## Vector to Raster Transformation

In this lab we will convert a set of topographic lines into a digital elevation model (DEM) using the AnuDEM algorithm. We will use different parameters and then we will compare the results. A primary aim of the lab is to develop an appreciation transformations that may superficially appear similar can produce that have significant differences at the stage of analysis.

The AnuDEM algorithm is accessed using the Topo to Raster (Spatial Analyst) tool. The AnuDEM routine was developed to create hydrologically correct DEMs. For landscape modeling, the AnuDEM algorithm is more appropriate than many other transformations. We will discuss some of these other interpolators at a later date. For now, we will simply compare different results derived from varying the parameters of the Topo to Raster tool.

## Lab Procedures

1. cotas
2. curvas
3. islas
4. lagos
5. rios
6. senales.
2. Inspect the data, and make a preliminary determination of what each feature class represents. It may be helpful to use Google Translate to figure out what the files and attributes represent. Important for later, determine the contour interval of curvas. What is this value?
3. In looking over the data note that the files are not projected. Interpolation routines frequently employ distance measures during the transformation. Thus, it is necessary to define the projection of each feature class.
1. Use the Define Projection (Data Management) tool to project the topographic lines, rivers, and datums into the proper coordinate system.
2. In this case, the data should be projected to UTM Zone 18S and WGS84.
3. In v9.3, there was a batch Define Projection tool. If anyone knows how or finds out how to batch define projection for a set of files, that would make a nice addition!
4. We will run the tool several times to explore the influence of parameter changes. Given that we'll use the tool several times, it can be useful to employ model builder.
5. Open a new model builder page, drag onto it the topo to raster tool, and neatly arrange this work space.
6. In the model builder window, double click on Topo to Raster.
7. Once the projection is properly defined, invoke the Topo to Raster tool (Spatial Analyst>Interpolation).
8.  Define the input features, fields and types. Note that multiple inputs can, and in this case should, be used. Add the following features and define the parameters:
1. curvas, Z, Contour
2. cotas, Z, PointElevation
3. rios, ,Stream
9. Define the cell_size. In this case, the cell size will be 40m.
10. Define the output extent. In this case the output extent will be the same as the topographic line feature class.
11. Define the Margin. The default value for Margin is 20, for the present purposes this value is fine. When multiple files are combined to produce a mosaic of a larger area, the Margin is important. Since we are not combining multiple output files together, the default Margin value is suitable.
1. AnuDEM is written in Fortran, it has not been ported to another language. I (NC) believe that Fortran has some memory limits and these can be felt when trying to run AnuDEM on large or complex topographic datasets. To overcome these limits, the tool has built in features to assist in the mosaic of multiple files. The margin parameter is key when planning on building a larger mosaic based on multiple inputs.
12. Define enforce.
1. We will compare different parameter settings for the enforce option.
2. In the second run of the tool, use the no_enforce option. Compare the results.
3. In the first run of the tool, use the enforce option.
13. Define the data_type. In this case we are using topographic lines. Thus, the data type should be set to CONTOUR. The other data types, like PoinElevations will be used but emphasis is placed on the primary data type.
14. It can be useful to set the optional parameters tolerance_1 and tolerance_2. According to the ArcGIS manual, the parameter tolerance_1 "reflects the accuracy and density of the elevation points in relation to surface drainage. For point datasets, set the tolerance to the standard error of the data heights. For contour datasets, use one-half the average contour interval." In this case, we are using topographic lines. Thus, it is necessary to determine the contour interval of the data. Check the topography feature class and determine the contour interval. Divide that value by 2 and use the result as the parameter value for tolerance_1.
15. According to the ArcGIS manual, the parameter tolerance_2 "prevents drainage clearance through unrealistically high barriers. The value must be greater than zero. The default is 100 if the data type is CONTOUR and 200 if the data type is SPOT." Since we are using topographic lines, ensure that tolerance_2 is set to 100.
16. Click on the Optional Outputs and fill in file names to these parameters
1. Output Stream polyline features. We can use this optional output to think about possible artifacts of the transformation. Also, if you didn't have streams for an area, this file could be useful to compare with the results from watershed processing.
2. Output remaining sink point feature. Again, this can serve as useful for evaluating artifacts and noise that may linger in the data.
3. Output diagnostic file
4. Output parameters file. This permits you to run the tool again from a file. This is handy if one wants to just change parameters or to run the tool again exactly the same.
17. Open up the newly created files and explore the results.
18. Quality assessment considerations. Be sure to check out the DEM quality assessment section of the AnuDEM website. It provides some useful tips for evaluating the quality of a DEM that is interpolated from either point or contour data. Suggestions include creating a shaded relief map and creating derived contours from the resulting DEM. This might be useful.
19. Comparing drainage enforcement and no enforcement.
1. Using the parameters file created above, mow run the topo to raster tool twice at 30m resolution.
2. Run the tool once by employing drainage enforcement and once without drainage enforcement. (Note: with "No_Enforce" on, a grid error is frequently received when "optional outputs" are entered. EY)
3. Once these two files are created, subtract the enforced DEM from the unenforced DEM. Symbolize the results and explore. Step 18 provides some useful considerations. Think also about how you might symbolize the difference raster and whether or not the flickr technique might serve as useful. What are some of the differences?

Note: I tried running the Topo to Raster tool from the python command line. However, I didn't have much success. Below is the syntax that I used. If someone else figures this out, please post the text here.

arcpy.TopoToRaster_3d("curvas", "output", 30, #, #, #, #, "ENFORCE", "CONTOUR", #, #, #, #, #, #, #, #, #, #)