/* rangem_cap.aml /* Final Rangeland Capability Assessment Bessey District /* Original Code by Don Norris Revised by Jeff Ulrich 3/2/98 /* --------------------------------------------------------------- /* User defined variables: /* /* Set demgrd = path to joined elevational grid (same projection) &sv demgrd = /fsfiles/office/plan/data/neb/bessey/dem/mckv_lattice /* Note: If demgrd is UTM14, uncomment lines referencing slope_capf14 /* /* Set roads = path to road coverage &sv roads = /fsfiles/ref/library/gis/cff/mckelvie/roads/roads /* /* Set streams = path to stream coverage &sv streams = /fsfiles/ref/library/gis/forest/neb/physical/mckelvie/cwu/mckv_vs_mst /* /* Set p_hydro = path to polygon water coverage &sv p_hydro = /fsfiles/ref/library/gis/forest/neb/physical/mckelvie/cwu/mckv_p_mst /* /* Set soil = path to soil coverage &sv soil = /fsfiles/ref/library/gis/forest/neb/physical/mckelvie/clu/mckv_clu_mst /* /* Set utm = path to utm 14 to 13 file &sv utm = /fsfiles/office/plan/data/neb/utm14to13 /* /* Set admin = path to ownership coverage &sv admin = /fsfiles/office/plan/data/neb/bessey/boundaries/fsadmin/mstatus /* --------------------------------------------------------------- display 0 &if [exists slpgrd -grid] &then kill slpgrd &if [exists suitgrd -grid] &then kill suitgrd &if [exists slope_capf -cover] &then kill slope_capf all &if [exists slope_capf14 -cover] &then kill slope_capf14 all &if [exists rd -cover] &then kill rd all &if [exists rds -cover] &then kill rds all &if [exists rdsb -cover] &then kill rdsb all &if [exists trnb -cover] &then kill trnb all &if [exists strm -cover] &then kill strm all &if [exists strm2 -cover] &then kill strm2 all &if [exists stream -cover] &then kill stream all &if [exists status -cover] &then kill status all &if [exists rangem_cap -cover] &then kill rangem_cap all /* /* Create a polygon coverage of greater than and less than 40% slopes /* grid slpgrd = slope(%demgrd%, percentrise) suitgrd = con(slpgrd < 40, 1, 2) slope_capf = gridpoly(suitgrd, .001) q kill slpgrd kill suitgrd tolerance slope_capf fuzzy .001 tolerance slope_capf weed .001 tolerance slope_capf grain .001 /* -------------------------------------------------- /* Note: Uncomment these line if DEM is UTM-14 rename slope_capf slope_capf14 project cover slope_capf14 slope_capf %utm% build slope_capf kill slope_capf14 all /* -------------------------------------------------- /* Derive road ROW of improved roads from road data assuming an 8' ROW on either side of the center line /* copy %roads% rd tolerance rd fuzzy .001 tolerance rd weed .001 tolerance rd grain .001 reselect rd rds line res cff_code in {100, 101, 103, 105} [unquote ''] n n buffer rds rdsb # # 2.438 .001 line /* /* Derive railroad ROW using a 100' fenced ROW either side of the center line /* reselect rd trn line res cff_code in {117, 126} [unquote ''] n n buffer trn trnb # # 30.479 .001 line kill rd all kill rds all kill trn all /* /* Buffer perenial streams by 3 feet (.914 meters) either side of the center line /* copy %streams% strm tolerance strm fuzzy .001 tolerance strm weed .001 tolerance strm grain .001 reselect strm strm2 line res cff_code in {402, 403, 404, 408, 416, 419, 426, 427, 444, 446, 455, 456, 467} [unquote ''] n n buffer strm2 stream # # .914 kill strm all kill strm2 all /* /* Identify capable and uncapable (<200 lbs/acre) soils based on sri_muid /* copy %soil% soil_cap tolerance soil_cap fuzzy .001 tolerance soil_cap weed .001 tolerance soil_cap grain .001 additem soil_cap.pat soil_cap.pat capable_soil 5 5 c tables sel soil_cap.pat res area > 0 move 'Y' to capable_soil res sri_muid in {'009BG', '009FU', '009ZW', '031BCG', '031ZRA'} asel sri_muid in {'031ZRB', '031ZZA', '031ZZB'} move 'N' to capable_soil q /* /* Rename buffer field "inside" differently for roads and stream buffer cover /* &data arc info arc CALC $CASE-FLAG = 1 sel rdsb.pat alter inside road sel stream.pat alter inside stream sel trnb.pat alter inside railroad q stop q &end /* /* Combine covers for analysis union rdsb trnb roadbuf .001 tolerance roadbuf fuzzy .001 tolerance roadbuf weed .001 tolerance roadbuf grain .001 copy %p_hydro% phydro tolerance phydro fuzzy .001 tolerance phydro weed .001 tolerance phydro grain .001 union phydro slope_capf set2 .001 kill slope_capf all kill phydro all kill rdsb all kill trnb all dropitem set2.pat set2.pat slope_capf# slope_capf-id phydro# end union set2 roadbuf set3 .001 kill set2 all kill roadbuf all dropitem set3.pat set3.pat set2# set2-id roadbuf# roadbuf-id end union set3 soil_cap set4 .001 kill soil_cap all kill set3 all dropitem set4.pat set4.pat set3# set3-id soil_cap# soil_cap-id end union set4 stream set5 .001 dropitem set5.pat set5.pat set4# set4-id stream# stream-id end kill stream all kill set4 all /* /* Add in the land status layer for ownership and to reduce the size of the cover copy %admin% status tolerance status fuzzy .001 tolerance status weed .001 tolerance status grain .001 intersect set5 status rangem_cap poly kill set5 all kill status all dropitem rangem_cap.pat rangem_cap.pat set5# set5-id end additem rangem_cap.pat rangem_cap.pat capability 40 40 c # rangem_cap-id tables sel rangem_cap.pat res status = 'NF' move 'Capable Range' to capability asel res status = 'NF' res stream = 100 move 'Water' to capability asel res status = 'NF' res grid-code = 2 move 'Over 40% slope' to capability asel res status = 'NF' res capable_soil = 'N' move 'Uncapable soil' to capability asel res status = 'NF' res road = 100 move 'In Road ROW' to capability asel res status = 'NF' res railroad = 100 move 'In Railroad ROW' to capability asel res status = 'NF' res phydro-id > 0 move 'Water' to capability q dropitem rangem_cap.pat rangem_cap.pat status# status-id acres end additem rangem_cap.pat rangem_cap.pat acres 8 10 f 0 tables sel rangem_cap.pat res area > 0 calc acres = area / 4046.8564 q frequency rangem_cap.pat rangem_cap.rpt capability end acres end &data arc info arc CALC $CASE-FLAG = 1 sel rangem_cap.rpt alter acres 10 0 res capability = '' purge y output ../rangem_cap.txt list capability, acres print q stop q &end &type list rangem_cap.rpt # # capability, acres frequency rangem_cap.pat rangem_capl.rpt grid-code road railroad capable_soil sri_muid stream status capability end acres end &data arc info arc CALC $CASE-FLAG = 1 sel rangem_capl.rpt alter acres 10 0 res capability = '' purge y output ../rangem_capl.txt list grid-code, road, railroad, capable_soil, sri_muid, stream, status, capability, acres print q stop q &end &type list rangem_capl.rpt # # grid-code, road, railroad, capable_soil, sri_muid, stream, status, capability, acres /* /* Clean Up for Meta Data Jeff Ulrich 7/20/99 /* dropitem rangem_cap.pat rangem_cap.pat phydro-id watershed cwu_id rdsb# rdsb-id trnb# trnb-id ssa_code gislink end &type &return Range Capability Assessment Complete.