100 iterations of mass removal based on preferential flow of water as calculated by r.topidx in GRASS. Notice how landform is cutdown most in stream channels, least at the ridges. The basins between ridges appear to "fill" with sediment near the 50th iteration as the entire landform is lowered to sea level (0m). Absolute change in elevation is visble in the elevation profiles below. Example GRASS commands below. Here is a link to a movie, containing all 100 iterations.
Note that this is *not* a direct measure of sediment removal, mearly one means of visualizing the qualitative effects of sediment removal. Actual sediment flow values could possibly be calculated with r.terraflow and some expert knowledge of the area. In addition, sediment transport models such as RUSLE, USPED, and SIMWE will provide a quantitative erosion AND deposition estimate. Details here:
#make an elevation profile
r.profile in=e100 profile=663451.38153808,4038227.40942676,663719.16510544,4041226.58538121 > e100.profile
Some simple examples of how to extend data collected from kismet along with gpsd. The prgram gpsmap, bundled with kismet, can create excellent maps of wifi networks, albeit not in a georeferenced format. With some ideas from Matt Perry, a quick read through some python docs, and a little testing I put together a simple python script (kismet2shp) which will convert Kismet XML logfiles into a shapefile (see attached file at bottom of page for the source). Conversion from kismet logfile to KML was demonstrated in the above article by Matt. Simple usage of kismet2shp is summarized:
Output can either be in the default latlong WGS84 GCS, or in some user defined projected coordinate system (see source code). Example images from gpsmap and from QGIS demonstrate similarities. The important difference is that by converting Kismet data into a shapfile, it is possible to bring this information into a GIS. A simple example below demonstrates how one can compute an estimated signal power index in GRASS, similar to the interpolated power option in gpsmap. The power density index is calculated as the summation of [ 1/(range^2) ] for each network center.
gpsmap range: network range as visualized with gpsmap
gpsmap power: interpolated power density from gpsmap
qgis range: network range shapefiles visualized in QGIS
GRASS power density: simple index of wifi signal power computed in GRASS
Make simple maps with gpsmap
Estimate signal power density in GRASS
A mobile wifi mapping setup might include:
Planned work:
Least Cost Path Comparision Map r.walk in blue, r.cost in orange
Premise:
Simple comparison between the least-cost path as computed by r.walk vs. r.cost. Default parameters, unity travel friction, and λ = 1 were used with r.walk. Slope percent was used as the accumulated cost for r.cost. Test region similar to that used in a previous navigation example.
Results:
Code:
Prep work see attached files at bottom of page to re-create
Compute the least-cost path via two methods
Vectorize least-cost paths for further analysis
Simple map
Sample the elevation raster at a regular interval
Least Cost Path Comparision Profile
Plot an elevation profile for each path
The visual comparison of raster data can be complicated by images that have non-NULL values at each grid cell. Transparency can used to "see" both images at once, but the results can be misleading. An alternative method suggested in the GRASS Book (Neteler and Mitasova, 2003), uses a couple simple raster algerbra tricks to make a "checkerboard" image composite of both input raster files. Figure 1 illustrates a simple comparison between an IKONOS false infra-red image, and a classified vegetation image via this checkerboard approach.
Example Code
References:
Neteler, M. & Mitasova, H. Open Source GIS A GRASS GIS Approach. Kluwer Academic Publishers, 2003.
Multiple approaches to the automatic delineation of watershed boundaries, along with the processing associated with the CalWater 2.2.1 dataset. Note that the output from each algorithm is slightly different, and that CalWater does not always represent physiographicaly correct boundaries. The CalWater 2.2.1 original dataset and converted to shapefile are available for download. See attached DEM clip for examples presented below. Matt Perry has written up a nice tutorial on identifying impervious surfaces within the context of watershed delineation.
Watershed basin delineation by the following approaches:
multiscale approach suitible for small to medium input grids. raster output.
minimum basin size must be defined suitible for small to medium input grids. raster output.
multiscale approach suitible for massive input grids, fast. raster output.
Notes
watershed 1: 3D comparison of the four methods. calwater (red), basin (black), r.terraflow (white).
watershed 2: 3D comparison of the four methods. calwater (red), basin (black), r.terraflow (white).
Pre-processing in GRASS note that these steps can be done in any GIS
ArcInfo basin()
GRASS r.watershed
GRASS r.terraflow
Post-processing of generated basins in GRASS note that this isn't a true merging of sub-basins, just a rough idea of what it might look like!
CalWater note that this comes as an e00 file, and must be converted.
Visual comparison in GRASS
Aggregation of CalWater Data
#aggregation of CalWater data: see metadata:
Relevant columms:
43 HRC 2 2 C - Hydrologic Region Code (DWR)
45 HBPA 2 2 C - Hydrologic Basin Planning Area (RWQCB)
47 RBU 5 5 I - Concatenates HR,RB,HU into a single integer
52 RBUA 6 6 I - Concatenates HR,RB,HU,HA
58 RBUAS 7 7 I - Concatenates HR,RB,HU,HA,HSA
65 RBUASP 9 9 I - Concatenates HR,RB,HU,HA,HSA,SPWS
74 RBUASPW 11 11 I - Concatenates HR,RB,HU,HA,HSA,SPWS,PWS
85 HR 2 2 I - Hydrologic Region (1->10)(DWR)
87 RB 1 1 I - Regional Water Qual. Cont. Board (1->9)(RWQCB)
88 HU 2 2 I - Hydrologic Unit (00->~80)(SWRCB)
90 HA 1 1 I - Hydrologic Area (0->9)(SWRCB)
91 HSA 1 1 I - Hydrologic Sub-Area (0->9)(SWRCB)
92 SPWS 2 2 I - Super Planning Watershed (00->~30)(CDF)
94 PWS 2 2 I - Planning Watershed (00->~13)(CDF)
# polygons can be dissolved via ArcMap / PostGIS / v.to.rast use=attr -> r.to.vect
regarding watershed decomposition and limitation C/O Helena Mitasova
Dylan, r.terraflow has not been designed to output landscape decomposition into watersheds at a given scale/size but its result is used as an input for hierarchical watershed decomposition - see here http://terrain.cs.duke.edu/projects.php (and the papers by Arge et al. and Verdin and Verdin) However, the method used there can still leave you with small internal subwatersheds (r.watershed will have that too) that cannot be lumped with any bigger watershed. Helena
Background
Data Sources in order of ease of use
Sample GRASS commands
Simple comparison between the default output from r.composite on landsat bands 3,2,1 and the enhanced output from i.landsat.rgb.