Quick wxGUI tutorial: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(Created page with '<font color="#409840">_\|/_ GRASS 6.4.0 _\|/_</font> ==About== [http://grass.osgeo.org GRASS] (Geographic Resources Analysis Support System) is a raster/vector GIS, image proces…')
 
Line 51: Line 51:
===Create a random surface===
===Create a random surface===
Now let's create a new map. Select <tt>Raster &rarr; Generate  
Now let's create a new map. Select <tt>Raster &rarr; Generate  
  surfaces &rarr; Fractal surface</tt> from the menu (near the bottom);
surfaces &rarr; Fractal surface</tt> from the menu (near the bottom);
  give your new map a name; adjust any options you like in the Options
give your new map a name; adjust any options you like in the Options
  tab (the defaults are fine); and click [Run].
tab (the defaults are fine); and click [Run].


  <h3>Adjust colors</h3>
===Adjust colors===
  <p>Now add your new raster layer to the layer list as you did before with
Now add your new raster layer to the layer list as you did before with
  the elevation raster map, except this time it will be in your "user1"
the elevation raster map, except this time it will be in your "user1"
  working mapset. You might un-tick the elevation layer check-box
working mapset. You might un-tick the elevation layer check-box
  now so that the two don't draw over the top of each other. Click on the
now so that the two don't draw over the top of each other. Click on the
  eyeball to view your new map.
eyeball to view your new map.
  <p>The colors might not be as you'd like so let's change them. In the
  <tt>Raster</tt> menu select <tt>Manage colors &rarr; Color Tables</tt>.
  In the "Colors" tab click on the pull-down list for the "Type of color
  table" option, and pick one from the list. "srtm" is a nice choice. Once
  done click the [Run] button and close the <em>r.colors</em> dialog window.


  <p>Because you have altered the map's metadata, this time to re-render it
The colors might not be as you'd like so let's change them. In the <tt>Raster</tt> menu select <tt>Manage colors &rarr; Color Tables</tt>.
  you will have to fully flush the display cache. So click on the little
In the "Colors" tab click on the pull-down list for the "Type of color
  refresh button next to the eyeball button to re-render all layers and you
table" option, and pick one from the list. "srtm" is a nice choice. Once
  should see your map with its new colors.
done click the [Run] button and close the <em>r.colors</em> dialog window.
 
Because you have altered the map's metadata, this time to re-render it
you will have to fully flush the display cache. So click on the little
refresh button next to the eyeball button to re-render all layers and you
should see your map with its new colors.
    
    
  <h3>Create a shaded relief map</h3>
===Create a shaded relief map===
  <p>Next we'll create a shaded relief map of the elevation layer we saw
Next we'll create a shaded relief map of the elevation layer we saw
  earlier. Start by selecting the elevation @PERMANENT map from before
earlier. Start by selecting the elevation @PERMANENT map from before
  by clicking on its name. In the <tt>Raster</tt> menu select <tt>Terrain
by clicking on its name. In the <tt>Raster</tt> menu select <tt>Terrain
  analysis &rarr; Shaded relief</tt> (Terrain analysis is about half way
analysis &rarr; Shaded relief</tt> (Terrain analysis is about half way
  down), and the module control dialog will appear. With the elevation
down), and the module control dialog will appear. With the elevation
  map name selected as the input map click [Run]. Now add the new
map name selected as the input map click [Run]. Now add the new
  elevation.shade @user1 map into your layer list and un-tick the other
elevation.shade @user1 map into your layer list and un-tick the other
  raster layers, then click the eyeball to re-render. (If you get sick of
raster layers, then click the eyeball to re-render. (If you get sick of
  clicking the eyeball all the time you can tick the "Render" box in the
clicking the eyeball all the time you can tick the "Render" box in the
  bottom right of the Map Display window to have that happen automatically)
bottom right of the Map Display window to have that happen automatically)
    
    
  <h3>Watersheds and steams</h3>
===Watersheds and steams===
  Once again select the elevation @PERMANENT map and in the Raster menu
Once again select the elevation @PERMANENT map and in the Raster menu
  choose <tt>Hydrologic modeling &rarr; Watershed analysis</tt>. Set
choose <tt>Hydrologic modeling &rarr; Watershed analysis</tt>. Set
  the elevation layer as your input map, in the 'Input Options' tab
the elevation layer as your input map, in the 'Input Options' tab
  set the sub-basin threshold to 10000 cells, then in the 'Output Options'
set the sub-basin threshold to 10000 cells, then in the 'Output Options'
  tab enter "elev.basins" for the watershed basin option and "elev.streams"
tab enter "elev.basins" for the watershed basin option and "elev.streams"
  for the stream segments option just below it. Then click [Run].
for the stream segments option just below it. Then click [Run].
    
    
  <p>Back in the Layer Manager window add those two new raster maps to the
Back in the Layer Manager window add those two new raster maps to the
  layer list and make sure that they are the only two which are ticked
layer list and make sure that they are the only two which are ticked
  for display in the box to the left of the layer name. Right click on
for display in the box to the left of the layer name. Right click on
  the elev.basins raster map layer name and select "Change opacity level".
the elev.basins raster map layer name and select "Change opacity level".
  Set it to about 50% then re-render the Map Display.
Set it to about 50% then re-render the Map Display.
    
    
  <p>In the GIS Layer Manager window click on the third button in from the
In the GIS Layer Manager window click on the third button in from the
  right to add a grid layer. For size of grid put 0:03 for 0 degrees and
right to add a grid layer. For size of grid put 0:03 for 0 degrees and
  3 minutes (format is D:M:S), then in the "Optional" tab tick Draw
3 minutes (format is D:M:S), then in the "Optional" tab tick Draw
  geographic grid and press [Run] and re-render.
geographic grid and press [Run] and re-render.


  <p>To add a scalebar go to the Map Display window and press the "Add
To add a scalebar go to the Map Display window and press the "Add
  Overlay" button to the right of where you selected the Profile tool
Overlay" button to the right of where you selected the Profile tool
  earlier and select "Add scalebar and north arrow". Read the instructions
earlier and select "Add scalebar and north arrow". Read the instructions
  then click [Ok]. A scalebar will appear in the top right. Drag it down
then click [Ok]. A scalebar will appear in the top right. Drag it down
  to the bottom left. From the same toolbar menu select "Add legend" and
to the bottom left. From the same toolbar menu select "Add legend" and
  in the instructions window click the Set Options button to set the
in the instructions window click the Set Options button to set the
  raster map name to create the legend for. After picking one click [Ok]
raster map name to create the legend for. After picking one click [Ok]
  and [Ok] again.
and [Ok] again.
    
    
  <p>Now you may be thinking to yourself that these fonts are a bit bare.
Now you may be thinking to yourself that these fonts are a bit bare.
  That's easily fixed in the GIS Layer Manager menus open <tt>Config &rarr;
That's easily fixed in the GIS Layer Manager menus open <tt>Config &rarr;
  Preferences</tt> and in the Display tab click the [Set font] button and
Preferences</tt> and in the Display tab click the [Set font] button and
  then [Apply] in the Preferences window. You will have to do a full
then [Apply] in the Preferences window. You will have to do a full
  re-render to see the change so click on the re-render button next to the
re-render to see the change so click on the re-render button next to the
  eyeball. The fonts will now be much prettier.
eyeball. The fonts will now be much prettier.
 
===Vector modules===
The above tasks have only covered a few raster modules. Don't let this
give you the idea that GRASS is just for raster maps -- the vector engine
and modules are every bit as full-featured as the raster ones. GRASS
maintains a fully topological vector system which allows all sorts of
very powerful analyses.


  <h3>Vector modules</h3>
===3D visualization===
  <p>The above tasks have only covered a few raster modules. Don't let this
Start the 3D visualization suite from the <tt>File &rarr; NVIZ</tt>
  give you the idea that GRASS is just for raster maps -- the vector engine
menu item and have fun exploring. You will have to select those raster
  and modules are every bit as full-featured as the raster ones. GRASS
and vector maps again from the Raster and Vector tabs.
  maintains a fully topological vector system which allows all sorts of
  very powerful analyses.


  <h3>3D visualization</h3>
Select <tt>Visualize&rarr;Raster Surfaces</tt> from the menu, and
  <p>Start the 3D visualization suite from the <tt>File &rarr; NVIZ</tt>
set the fine resolution to "1", then move the positioning puck and height slider around to get different views.
  menu item and have fun exploring. You will have to select those raster
  and vector maps again from the Raster and Vector tabs.
  <p>Select <tt>Visualize&rarr;Raster Surfaces</tt> from the menu, and
  set the fine resolution to "1", then move the positioning puck and height
  slider around to get different views.


  <h3>Shutdown and the command line</h3>
===Shutdown and the command line===
  <P>When finished, exit the GRASS GUI with <tt>File&rarr;Exit</tt>.
When finished, exit the GRASS GUI with <tt>File&rarr;Exit</tt>.
  Before you close the GRASS terminal session as well, try a GRASS
Before you close the GRASS terminal session as well, try a GRASS
  module by typing "<tt>g.manual --help</tt>" which will give you a list
module by typing "<tt>g.manual --help</tt>" which will give you a list
  of module options. The GRASS command line is where the true power of
of module options. The GRASS command line is where the true power of
  the GIS comes into its own. GRASS is designed to allow all commands
the GIS comes into its own. GRASS is designed to allow all commands
  to be tied together in scripts for large bulk processing jobs. Popular
to be tied together in scripts for large bulk processing jobs. Popular
  scripting languages are Bourne Shell and Python and some neat tricks
scripting languages are Bourne Shell and Python and some neat tricks
  are included for both to make this scripting easier.
are included for both to make this scripting easier.
    
    
  "<tt>g.manual -i</tt>" will then launch a web browser
"<tt>g.manual -i</tt>" will then launch a web browser
  with the module help pages. When done close the browser and type "exit"
with the module help pages. When done close the browser and type "exit"
  at the GRASS terminal prompt to leave the GIS environment.
at the GRASS terminal prompt to leave the GIS environment.


<h2>Further reading</h2>
==Further reading==
   <ul>
   <ul>
   <li> Visit the GRASS website at <a href="http://grass.osgeo.org">http://grass.osgeo.org</a>
   <li> Visit the GRASS website at <a href="http://grass.osgeo.org">http://grass.osgeo.org</a>

Revision as of 18:10, 16 September 2009

_\|/_ GRASS 6.4.0 _\|/_

About

GRASS (Geographic Resources Analysis Support System) is a raster/vector GIS, image processing system, and graphics production system. GRASS contains over 400 programs and tools to render maps and images on monitor and paper; manipulate raster, vector, and sites data; process multi-spectral image data; and create, manage, and store spatial data. GRASS uses both an intuitive graphical interface as well as command line syntax for ease of operations. GRASS can interface with commercial printers, plotters, digitizers, and databases to develop new data as well as manage existing data.

Running

To run GRASS on the Live DVD, click on the GRASS link on the desktop. From the "Welcome to GRASS" window select either the Spearfish or North Carolina (nc_spm_08) dataset for the location, and "user1" for the mapset, then click on [Start Grass].

This will launch GRASS with our brand new GUI written in wxPython. At the time of writing we have gotten just about all of the kinks out of it and are nearly ready to call it (and GRASS 6.4.0) complete. The old Tcl/Tk GUI is still available if you prefer to use that; you can start it by typing g.gui --ui on the command line.

Displaying maps

Once inside add a raster map layer such as "elevation" from the PERMANENT mapset. To do this click on the checkerboard toolbar button with a "+" on it and then select the map name from the pull-down list which appears, and click [Ok].

In a similar fashion add the "roads" vector layer from the PERMANENT mapset by clicking on the toolbar button with a "+" and a bent poly-line which looks a bit like a "V".

Over in the Map Display window toolbar click on the eyeball button to render the view.
You should now see the maps displayed.

Plot an elevation profile

Back in the GIS Layer Manager window click on the elevation raster map name to select it. Then in the Map Display window, to the right of the zooming buttons on the Map Display toolbar is an icon with a line graph and checkerboard on it. Click on that and select Profile Surface Map. If it isn't automatically listed again pick an elevation map as the raster layer and press [Ok]. The second button in from the left allows you to set out the profile line, click it then mark out a few points on the Map Display canvas. When done go back to the Profile window and click on the eyeball button to create the plot. Click on the I/O button of the far right to close the profile window.

Create a random surface

Now let's create a new map. Select Raster → Generate surfaces → Fractal surface from the menu (near the bottom); give your new map a name; adjust any options you like in the Options tab (the defaults are fine); and click [Run].

Adjust colors

Now add your new raster layer to the layer list as you did before with the elevation raster map, except this time it will be in your "user1" working mapset. You might un-tick the elevation layer check-box now so that the two don't draw over the top of each other. Click on the eyeball to view your new map.

The colors might not be as you'd like so let's change them. In the Raster menu select Manage colors → Color Tables. In the "Colors" tab click on the pull-down list for the "Type of color table" option, and pick one from the list. "srtm" is a nice choice. Once done click the [Run] button and close the r.colors dialog window.

Because you have altered the map's metadata, this time to re-render it you will have to fully flush the display cache. So click on the little refresh button next to the eyeball button to re-render all layers and you should see your map with its new colors.

Create a shaded relief map

Next we'll create a shaded relief map of the elevation layer we saw earlier. Start by selecting the elevation @PERMANENT map from before by clicking on its name. In the Raster menu select Terrain analysis → Shaded relief (Terrain analysis is about half way down), and the module control dialog will appear. With the elevation map name selected as the input map click [Run]. Now add the new elevation.shade @user1 map into your layer list and un-tick the other raster layers, then click the eyeball to re-render. (If you get sick of clicking the eyeball all the time you can tick the "Render" box in the bottom right of the Map Display window to have that happen automatically)

Watersheds and steams

Once again select the elevation @PERMANENT map and in the Raster menu choose Hydrologic modeling → Watershed analysis. Set the elevation layer as your input map, in the 'Input Options' tab set the sub-basin threshold to 10000 cells, then in the 'Output Options' tab enter "elev.basins" for the watershed basin option and "elev.streams" for the stream segments option just below it. Then click [Run].

Back in the Layer Manager window add those two new raster maps to the layer list and make sure that they are the only two which are ticked for display in the box to the left of the layer name. Right click on the elev.basins raster map layer name and select "Change opacity level". Set it to about 50% then re-render the Map Display.

In the GIS Layer Manager window click on the third button in from the right to add a grid layer. For size of grid put 0:03 for 0 degrees and 3 minutes (format is D:M:S), then in the "Optional" tab tick Draw geographic grid and press [Run] and re-render.

To add a scalebar go to the Map Display window and press the "Add Overlay" button to the right of where you selected the Profile tool earlier and select "Add scalebar and north arrow". Read the instructions then click [Ok]. A scalebar will appear in the top right. Drag it down to the bottom left. From the same toolbar menu select "Add legend" and in the instructions window click the Set Options button to set the raster map name to create the legend for. After picking one click [Ok] and [Ok] again.

Now you may be thinking to yourself that these fonts are a bit bare. That's easily fixed in the GIS Layer Manager menus open Config → Preferences and in the Display tab click the [Set font] button and then [Apply] in the Preferences window. You will have to do a full re-render to see the change so click on the re-render button next to the eyeball. The fonts will now be much prettier.

Vector modules

The above tasks have only covered a few raster modules. Don't let this give you the idea that GRASS is just for raster maps -- the vector engine and modules are every bit as full-featured as the raster ones. GRASS maintains a fully topological vector system which allows all sorts of very powerful analyses.

3D visualization

Start the 3D visualization suite from the File → NVIZ menu item and have fun exploring. You will have to select those raster and vector maps again from the Raster and Vector tabs.

Select Visualize→Raster Surfaces from the menu, and set the fine resolution to "1", then move the positioning puck and height slider around to get different views.

Shutdown and the command line

When finished, exit the GRASS GUI with File→Exit. Before you close the GRASS terminal session as well, try a GRASS module by typing "g.manual --help" which will give you a list of module options. The GRASS command line is where the true power of the GIS comes into its own. GRASS is designed to allow all commands to be tied together in scripts for large bulk processing jobs. Popular scripting languages are Bourne Shell and Python and some neat tricks are included for both to make this scripting easier.

"g.manual -i" will then launch a web browser with the module help pages. When done close the browser and type "exit" at the GRASS terminal prompt to leave the GIS environment.

Further reading




_\|/_ Happy mapping!