This is an unmaintained course material, please see current material at:
Buffers, cost surfaces, least cost path
Resources: ESRI virtual campus
Include resulting maps into your report (use your judgement to decide which results to include). Adjust the cololors and symbology of displayed layers to match the cartographic standards (lakes are displayed in blue etc.)
Create the workspace for the current assignment as the folder Buffers_cost
To constrain analyses in a similar manner as g.region,
set the spatial extent using the options under Environments, for example:
to constrain analyses results to the extents defined by intersection of input features:
Start ArcMap. From the menu Geoprocessing -> Environments... -> Processing extent. Choose Intersection of Inputs from the drop down menu. Click 'OK'
To work on a subset, clip your data to a given spatial extent.
Constrain the drawing of project layers to a user specified extent.
Start -> Programs -> ArcMap Add ./ncrast.mdb/elev Add ./ncshape.mdb/streets_wake Dbl. Click the 'elev' layer in the TOC Go to -> Layer Properties -> Extent Write down the four numbers in the text fields labeled: 'Left', 'Right', 'Top', 'Bottom' Click 'OK' Dbl. Click 'Layers' in the TOC Go to ->'Data Frame Properties' -> 'Data Frame' -> 'Clip Options' -> 'Clip to Shape' Click 'Specify Shape' Select 'Custom Extent' Uncheck the 'Degrees' check box Enter the four numbers you recorded earlier in their appropriate text fields Click 'OK' Click 'OK'
Find developed areas close to lakes
Create the buffers:File -> Add Data -> Add Data... Select ./ncrast.mdb/lakes Select ./ncrast.mdb/landcl96 Check out a Spatial Analysis Extension license (Menu -> Customize -> Extensions -> Spatial Analyst box needs to be checked) Open the ArcToolbox (you may already have it open) Select 'Spatial Analysis Tools->Distance->Euclidean Distance' Set 'Input raster' to 'lakes' Set Output distance raster' to '\Buffers_cost\lk_dist' Set 'Maximum distance' to '500' Leave the rest as defaults Click 'OK'
Select the locations that overlay developed areas:
Select 'Spatial Analyst Tools->Map Algebra->Raster Calculator' Type in the expression: SetNull( "landcl96" > 2, "lk_dist") Set the Output raster to './Buffers_cost/dev_lakes Click 'OK'
Compute cost surface from accident based on speed limits
File -> Add Data -> Add Data... Select ncshape.mdb/streets_wake Open the ArcToolbox (if not already open) Select 'Conversion Tools->To Raster->Polyline to Raster' Set 'Input Features' to 'streets_wake' Set 'Value field' to 'SPEED' Set 'Output Raster Dataset to './Buffers_cost/str_speed' Set Cellsize to 30 Leave the others as defaults Click 'OK' File -> Add Data -> Add Data... select ./ncshape.mdb/fire_pt
Set the working directory:
Select Geoprocessing -> Environments... Under 'Workspace' set the 'Current Workspace' to '.\Buffers_cost' Under 'Raster Analysis' set the 'Cell Size' to 'Same as layer str_speed' Under 'Raster Analysis' set the 'Mask' to '.\ncshape.mdb\boundary_wake' Click 'OK'
Assign travel time per cell in hours, compute cost surface.
Assign null values a speed of 5.
Open the ArcToolbox (if not already open) Select 'Spatial Analyst Tools->Map Algebra->Raster Calculator' Type in the expression: Con(IsNull("str_speed"),5,"str_speed") Set the Output raster to 'str_speed2' Click 'OK'
Calculate the traveltime and cost surface.
In ArcGIS cost is defined per map unit (meters in this case). We create a cost raster where cost is time to cross one map unit. Where does the 0.00062137 constant come from?
Select 'Spatial Analyst Tools->Map Algebra->Raster Calculator' Type in the expression: 0.00062137 / "str_speed2" Set the 'Output raster' to str_trv Open the ArcToolbox (if not already open) Select 'Spatial Analyst Tools->Distance->Cost Distance' Set 'Input raster or feature source data' to 'fire_pt' Set 'Input Cost raster' to 'str_trv' Set 'Output distance raster' to './Buffers_cost/str_cost' Set 'Output backlink raster (optional)' to './Buffers_cost/backlink' Leave the rest as defaults Click 'OK'
Find cost from selected firestations
File -> Add Data -> Add Data... Select ./ncshape.mdb/firestations Open the ArcToolbox (if not already open) Select 'Spatial Analyst Tools->Extraction->Sample' Set 'Input rasters' to 'str_cost' Set 'Input Location raster or point features' to 'firestations' Set 'Output table' to './Buffers_cost/station_costs' Leave everything else as defaults Click 'OK'
Add the table of costs (NOTE: in Arc 10 this should be added automatically at the bottom of the TOC). However, if the table does not get added:
File -> Add Data -> Select '.\Buffers_cost\station_costs'
Open the station_costs table and sort on the field 'STR_COST':
right click 'station_costs' -> Open right click column named 'STR_COST' and choose 'Sort Ascending' Note the range of cost values. Close the table
Find shortest path from nearby firestations.
Note: create the firestations as a shapefile if the below
does not work with geodatabase firestations.
Open the ArcToolbox (if not already open) Select 'Spatial Analyst Tools->Distance->Cost Path' Set 'Input raster or feature destination data' to 'firestations' Set 'Destination field' to 'OBJECTID' Set the 'Input cost distance raster' to 'str_cost' Set the 'Input cost backlink raster' to 'backlink' Set the 'Output raster' to '.\Buffers_cost\cost_path' Set the 'Path type' to 'BEST_SINGLE' Click 'OK'
Note: to see the resulting least cost (drive-time) path you may have to turn off some or most of the layers in your TOC.