1.1 What is GRASS? 1 1.2 Usage for the VPE Laboratory 1 1.3 Tutorial 4 1.3.1 Logging on to the computer 4 1.3.2 Starting up GRASS 4 1.3.3 Creating a GRASS Database for use with the Mars data 5 1.3.4 Accessing Mars Data from the CD-ROM 7 1.3.5 Creating the GRASS header Support Files 9 1.3.6 Registration using Kilauea Data 11 1.3.6.1 Specifiying the Location and Mapset 12 1.3.6.2 Customizing the Database Environment and Selecting the Graphic Output Device 14 1.3.6.3 Obtaining a Grey Scale 14 1.3.6.4 Grouping the first Raster Image 16 1.3.6.5 Targeting the First Image 17 1.3.6.6 Using `i.points' on the First Image 18 1.3.6.7 Rectifying The First Image 19 1.3.6.8 Grouping the Three Other Images 20 1.3.6.9 Targeting The Three Images 21 1.3.6.10 Using Points on the Three Images group to prepare to Register with the First 21 1.3.6.11 Rectifying the First Image Group to the Three Image Group 24 1.3.7 Visualization of the Kilueau Mapset 25 1.4 Resources 33 1.4.1 Software 33 1.4.2 Databases 33 1.4.3 Tutorials 34 1.4.4 Newsgroups 34 1.4.5 Programming notes 35 1.4.6 GIS Mailing Lists 35 1.4.7 GRASS Mailing list 35 1.4.8 Useful Information obtained from the Mailing List Archive: 39 1.4.8.1 Compiling Grass on IRIX 5: 39 1.4.8.2 Mars Data 41 1.4.8.3 Searching through the grassu-list archives 41 1.4.8.4 Histograms 42 1.4.8.5 Color display in GRASS explained 42 1.4.8.6 Running GRASS programs without starting grass 43 1.4.8.7 Sample usage of r.mapcalc 43 1.4.8.8 Autocad DXF files 44 1.4.8.9 Databases and GRASS 44 1.4.8.10 New r.in.hdf Command 45 1.5 Appendix 46 1.5.1 Stanford Workshop GRASS Tutorial --- 1.5.2 C Code Written During Installation --- 1.5.3 Installation Size --- 1.5.4 VOLINFO.TXT Mars CDROM ---
This section does not currently apply.
This document uses 12 point Times New Roman Font.GRASS stands for Geographic Resources Analysis Support System, and is a widely used software package allowing one to manipulate geographical information. Software like GRASS is known as a Geographical Information System (GIS). GRASS is released free of charge by the US. Army Corp. of Engineers (The FTP site for obtaining it is in Section 1.4: Resources)
The internet posts a monthly NetNews article in net.answers called the 'GIS FAQ' that answers Frequently Asked Questions about GIS systems. Two definitions cited are:
A GIS is ...An information system that is designed to work with data referenced by spatial or geographic coordinates. In other words, a GIS is both a database system with specific capabilities for spatially-referenced data, as well as a set of operations for working [analysis] with the data. (Star and Estes, 1990)
... simultaneously the telescope, the microscope, the computer, and the Xerox machine of regional analysis and synthesis of spatial data (Abler, 1988).
A typical use for GRASS would be the creation of a map suitable for urban development. The map might be required to show vegetation, all areas that are currently range land, plus any slopes equal to or less then 15 degrees. For this application, the GRASS database would contain several types of data; such as Digital Elevation Models (DEMs) with x,y,z information, raster pictures (perhaps from LandSat photos), road locations, and vegetation densities.
With GRASS you can display these types of data easily and in relation to each other (only several display commands are needed). You can overlay the raster pictures on the DEM data, and include road and vegetation information. You can then zoom in on areas of interest, and using the database functions of GRASS, do queries for additional information.
The VPE GRASS installation contains a sample database (spearfish, located in Montana), that can be used to create a map of this type. A tutorial (Section 1.5.1 Stanford Workshop Grass Tutorial) is included that shows the procedures for this process.
GRASS comes with tools used to import 'raw' raster scan pictures, DEMs, and categorical data. These tools allow for the building of new databases. GRASS can then be used to create a planetary database, such as of Mars and Earth.
In Section 1.3: Tutorial, you will be shown the steps needed to obtain data on Mars from a CD-ROM, and, using this data, create a GRASS database. You will also be shown the process of registration using data from Mt. Kilauea, a volcano in Hawaii (also from a CD-ROM.)
Registration is the process of combining spatial information that corresponds to each other on different datasets.:
In many image processing applications it is necessary to form a pixel-by-pixel comparison of two images of the same object field obtained from different sensors, or of two images of an object field taken from the same sensor at different times. To form this comparison it is necessary spatially to register the images and thereby correct for relative translational shifts magnification differences and rotational shifts, as well as geometrical and intensity distortions of each image ( W. Pratt, Digital Image Processing, 1978 )Registration is a key advantage of using GRASS.
GRASS is ideal for the displaying and processing (e.g. sizing) of raster images (Figure 1: kildem.1.gif).
It also allows for the overlaying of images into one congruent orientation (Figure 2: img.pts.4.sml.gif):
Using an elevation map of the site (such as DEM data - Figure 3: SG3d.1.gif), one can create a 3d map representation that corresponds to the raster image.
Before starting, you will first need an account on a machine with network accessibility to GRASS. machine name , machine name , and machine name have GRASS access (all 3 have visible binary executables). machine name in addition has documentation (see Resources: Documentation.) The System Administrator is name ( phone ). After obtaining permission from the Boss (the person who controls all the equipment), one can contact him/her for an account.
Space on machine name is limited, so accessing the GRASS system from another machine is advised (please see Section 1.5.3: Installation Size) for the size of the GRASS installation. The lab facilities have several SGI machines available ( machine names .)
The tutorial assumes that access is from the SGI machine called machine names . If you are not familiar with the SGI windowing environment, you should learn the SGI operating systems before attempting this tutorial. Alternatively, NASA has a site license for MACx, which lets you use GRASS on a Mac connected to the Local Applenet (Currently, this option is being developed - so we do not yet have complete instructions for this method.) This access is noticibly slower than from a SGI machine.
At a SGI console, log on using your Login and Password. Please take notice of the message telling you of the Schedule. Make sure you are not interfering with any on- going experiment or demonstration.
Make grass accessible to your account by typing:
set path=($path ~schwehr/grass ~schwehr/bin)You may want to include this in your ".tcshrc" or your ".csrhrc"
Start up grass by typing:
grass4.1
You will see a pre-filled form:
GRASS 4.1 LOCATION: This is the name of an available geographic location. MAPSET: Every GRASS session runs under the name of a MAPSET. Associated with each MAPSET is a rectangular COORDINATE REGION and a list of any new maps created. DATABASE: This is the UNIX directory containing the geographic databases The REGION defaults to the entire area of the chosen LOCATION. You may change it later with the command: g.region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOCATION: spearfish_____(enter list for a list of locations) MAPSET: schwehr_______(or mapsets within a location) DATABASE: /home/schwehr/grass/data__________________________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE
If you are accessing machine name via a remote login or telnet, you must set up a graphics window accessible to GRASS on your console; i.e.
setenv DISPLAY mymachine.arc.nasa.gov:0Otherwise, one can use a display on the machine console:
GRASS 4.1 > setenv DISPLAY machine.arc.nasa.gov:0
To see what DISPLAY is set at use the UNIX command "printenv". Note that one can use the UNIX commands at the GRASS prompt. GRASS is a variation of a cshell with access from the command line. This gives you the ability to create GRASS scripts just as one is able to create shell scripts.
Enter Grass and change the initial form as follows:
Change the Location to 'mars.tutor.xy':
Change the Mapset to your last name. In this tutorial, the name will be 'schwehr,' however you will see your name in the output because this step changes the name.
Continue by typing in the <ESC>. If the location already exists, you will enter GRASS, otherwise your next screen will be:
LOCATION <mars.tutor.xy> - doesn't exist Available locations: ---------------------- den.utm.z12 mars.in.xy denver.aea spearfish ---------------------- Would you like to create location <mars.tutor.xy> ? (y/n) y To create a new LOCATION, you will need the following information: 1. The coordinate system for the database x,y (for imagery and other unreferenced data) UTM State Plane Latitude-Longitude other projection 2. The zone for the database (except for x,y and Latitude-Longitude databases) 3. The coordinates of the area to become the default region and the grid resolution of this region 4. A short, one-line description or title for the location Do you have all this information for location <mars.tutor.xy> ? (y/n) y Please specify the coordinate system for location <mars.tutor.xy> 0 x,y 1 UTM 2 State Plane 3 Latitude-Longitude 99 Other RETURN to cancel > 0 x,y coordinate system? (y/n) [y] Please enter a one line description for location <mars.tutor.targ> > Mars Database for the grass 4.1 tutorial ===================================================== Mars Database for the grass 4.1 tutorial ===================================================== ok? (y/n) [y] DEFINE THE DEFAULT REGION ====== DEFAULT REGION ======= | NORTH EDGE:2000_______ | WEST EDGE| |EAST EDGE 0__________| |2000_______ | SOUTH EDGE:0__________ | ============================ PROJECTION: 0 (x,y) ZONE: 0 GRID RESOLUTION East-West: 1_________ North-South: 1_________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) projection: 0 (x,y) zone: 0 north: 2000 south: 0 east: 2000 west: 0 e-w res: 1 n-s res: 1 total rows: 2000 total cols: 2000 total cells: 4,000,000 Do you accept this region? (y/n) [y] > y LOCATION <mars.tutor.xy> created! Hit RETURN --> GRASS 4.1 LOCATION: This is the name of an available geographic location. MAPSET: Every GRASS session runs under the name of a MAPSET. Associated with each MAPSET is a rectangular COORDINATE REGION and a list of any new maps created. DATABASE: This is the unix directory containing the geographic databases The REGION defaults to the entire area of the chosen LOCATION. You may change it later with the command: g.region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOCATION: mars.tutor.xy__(enter list for a list of locations) MAPSET: schwehr_______(or mapsets within a location) DATABASE: /home/schwehr/grass/data__________________________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE Welcome to GRASS 4.1 (Spring 1993) Update package 4 Geographical Resources Analysis Support Systems (GRASS) is a Trademark of U.S. Army Construction Engineering Research Laboratories (USACERL) New releases of GRASS are coordinated and produced by the Office of GRASS Integration (OGI) located at USACERL, and incorporate software contributions from numerous sources This version running thru the C Shell (/bin/csh) Help is available with the command: g.help When ready to quit enter: exit Mapset <schwehr> in Location <mars.tutor.xy> GRASS 4.1 > exit Mapset <schwehr> in Location <mars.tutor.xy> GRASS 4.1 > GRASS SESSION WRAPUP You have just finished working on mapset: <schwehr> There are no RASTER maps in this mapset There are no VECTOR maps in this mapset There are no SITES maps in this mapset Shall the mapset <schwehr> be saved? y/n [y] GOOD BYE from GRASS
MARS: GLOBAL TOPOGRAPHY; VOLUME7 Mission To Mars: Digital Topographic Map, prepared by USGS fo NASA 1993
This tutorial assumes that the CD-ROM is loaded on the computer which is running GRASS. Please ask the System Adminitrator to place the CD-ROM on the machine. Once accessible, go to the LOCATION directory:
GRASS 4.1 > cd ~schwehr/grass/data/mars.tutor.xy Mapset>If you do a listing you should see your name as the directory for your mapset:
GRASS 4.1 > ls PERMANENT schwehr
Go to the Mapset directory. Here we will create a subdirectory called 'cell' where we will place the CD-ROM data of interest. For this example we will use the dataset called: tg15n067. The nomenclature is that of the Mars CD- ROM system where each image file has a unique name constructed according to the type of image file, resolution and its central latitude and longitude (See Section 1.5.4: Appendix: VOLINFO.TXT).
GRASS 4.1 > cd schwehr GRASS 4.1 > mkdir cell GRASS 4.1 > cd cell GRASS 4.1 > cp /CDROM/tng15nxxx/tg15n067.imgThe data comes with an ascii header file that must be removed in order to make it GRASS accessible. See Section 1.5.4 Appendix: VOLINFO.TXT) for a description of all the records of the header. You can see the header by using a unix listing command like 'more' or 'head :'
GRASS 4.1 > more tg15n067.img CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL /* FILE FORMAT AND LENGTH */ RECORD_TYPE = FIXED_LENGTH RECORD_BYTES = 1912 FILE_RECORDS = 962 LABEL_RECORDS = 2 /* POINTERS TO START RECORDS OF OBJECTS IN FILE */ ^IMAGE = 3 /* IMAGE DESCRIPTION */ DATA_SET_ID = "VO1/VO2-M-VIS-5-DTM-V1.0" SPACECRAFT_NAME = {VIKING_ORBITER_1, VIKING_ORBITER_2} TARGET_NAME = MARS IMAGE_ID = TG15N067 INSTRUMENT_NAME = {VISUAL_IMAGING_SUBSYSTEM_CAMERA_A, VISUAL_IMAGING_SUBSYSTEM_CAMERA_B} NOTE = "DIGITAL TERRAIN MODEL, 1/64-DEGREE PER PIXEL" /* DESCRIPTION OF OBJECTS CONTAINED IN FILE */ OBJECT = IMAGE LINES = 960 LINE_SAMPLES = 956 SAMPLE_TYPE = VAX_INTEGER SAMPLE_BITS = 16 CHECKSUM = 128838457 MINIMUM = 2497 MAXIMUM = 4749 /* ELEVATION (METERS) = 2*DN - 6000, NULL DN VALUES = 0 */ MISSING = 0 SCALING_FACTOR = 2 OFFSET = -6000END_OBJECT = IMAGETo strip the header use the split.pds.image command (Section 1.5.2: C Code Written During Installation):
GRASS 4.1 > split.pds.image File to read from:tg15n067.img Img Output file:tg15n067 Text Output file:tg15n067.lbl Text Header Size:3824 3824 characters written 1835520 characters writtenIn addition to stripping the header, the binary file bye order must be swapped. The Mars DTM files from the USGS Viking CD-ROM lists the data type as 16 bit Vax_integers. IBM and Vaxes have a different byte order than MIPs (SGI) machines in that integers are longer than one byte. The symtom of the wrong byte order is to have unusual and rapidly varying values in small areas on the image. Use the swap.bytes command to change the file for the SGI machine. This program reads in each pair of bytes, swaps them, and writes them out to a different file (Appendix: C-Code):
GRASS 4.1 > swap.bytes Swap bytes for a 16bit image file. File to read from:tg15n067 Img Output file:tg15n067.swap 917760 characters writtenIf you do a listing you should see the following files:
GRASS 4.1 > ls -l total 10771 -rw-r--r-- 1 schwehr vpe 1835520 Aug 17 13:42 tg15n067 -rw-r--r-- 1 schwehr vpe 1839344 Aug 17 13:38 tg15n067.img -rw-r--r-- 1 schwehr vpe 3824 Aug 17 13:42 tg15n067.lbl -rw-r--r-- 1 schwehr vpe 1835520 Aug 17 13:44 tg15n067.swapFor convenience, one can rename the file:
GRASS 4.1 > mv tg15n067.swap tg15n067Creating the GRASS header Support Files GRASS needs some support files called header files. The utility used is `r.support'.
GRASS 4.1 > r.support Enter name of raster file for which you will create/modify support files Enter 'list' for a list of existing raster files Enter 'list -f' for a list with titles Hit RETURN to cancel request >GRASS treats any file in a /<location>/<mapset>/cell/ directory as a binary raster image.
list <list> ---------------------------------------------- raster files available in mapset schwehr: tg15n067 tg15n067.img tg15n067.lbl ---------------------------------------------- Enter name of raster file for which you will create/modify support files Enter 'list' for a list of existing raster files Enter 'list -f' for a list with titles Hit RETURN to cancel request > tg15n067 <tg15n067>Since we are creating the header file, GRASS will indicate this and then allow us to create it. The input values are obtained from the header file of the raw data:
LINES = 960 LINE_SAMPLES = 956 SAMPLE_TYPE = VAX_INTEGER SAMPLE_BITS = 16One obtains the number of bytes per cell by dividing the SAMPLE_BITS by 8 (resulting in 2). The values are used as follows:
WARNING: Can't open header file for [tg15n067 in schwehr] Edit the header for [tg15n067]? (y/n) [y] y Edit header for [tg15n067] cellhd compression: 0 3.0 compression not indicated pre 3.0 compression not indicated hit RETURN to continue --> Please enter the following information for [tg15n067] 960__ Number of rows 956__ Number of cols 2____ Number of bytes per cell rows * cols * bytes per cell must be same as file size (1835520) If you need help figuring them out, just hit ESC AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL)If you input the incorrect information, GRASS will attempt to assist you. For example suppose that you entered 957 instead of 956. Your ouput will show
The product of the rows(960), cols(957) and bytes per cell(2) does not equal the file size (1835520) The following combinations will produce the correct file size 2 bytes per cell 1 * 917760 2 * 458880 3 * 305920 4 * 229440 5 * 183552 6 * 152960 8 * 114720 10 * 91776 12 * 76480 15 * 61184 16 * 57360 20 * 45888 24 * 38240 30 * 30592 32 * 28680 40 * 22944 48 * 19120 60 * 15296 64 * 14340 80 * 11472 96 * 9560 120 * 7648 128 * 7170 160 * 5736 192 * 4780 239 * 3840 240 * 3824 256 * 3585 320 * 2868 384 * 2390 478 * 1920 480 * 1912 640 * 1434 717 * 1280 768 * 1195 956 * 960 hit RETURN to continue -->
Figure 5: tg15n067.first.gif.
The tutorial in the Appendix contains examples of registration (Section 1.5.1: Stanford Workshop Grass Tutorial). This example uses sample data from a CD-ROM containing data of the Kilauea Volcano in Hawaii. Registration is a multi-step proccess, involving creating a Group (a collection of images) and a Target Database, followed by the selection of control points; i.e. points that are congruent on the different images, and finally the registration of the images together using the control points.
This example is a fairly detailed one that shows how to register one raster image (kildem) to a set of three (skil12n2.img, skil12n4.img, skil12n7.img). In the process, we will modify the kildem image by creating a grey scale for it. We will then create a group for the kildem data (kildem.grp), target it, and rectify it. Following this, the set of three images will also be grouped and targeted (producing image.grp), followed by the rectification to the first image.
Througout the process, note that the `i.point' procedure is used to obtain the reference points used to register the images together. Note also that one has to `group' the kildem image, even though it is a group of one. GRASS considers this neccessary so as to allow one to target the image to it (since GRASS targets a `group').
GRASS 4.1 LOCATION: This is the name of an available geographic location. MAPSET: Every GRASS session runs under the name of a MAPSET. Associated with each MAPSET is a rectangular COORDINATE REGION and a list of any new maps created. DATABASE: This is the unix directory containing the geographic databases The REGION defaults to the entire area of the chosen LOCATION. You may change it later with the command: g.region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOCATION: kil.tutor.targ_(enter list for a list of locations) MAPSET: schwehr_____(or mapsets within a location) DATABASE: /home/schwehr/grass/data__________________________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL)Please input 'kil.tutor.targ' as the Location and your name as the Mapset:
LOCATION <kil.tutor.targ> - doesn't exist Available locations: ---------------------- den.utm.z12 kil.sample.xy kill.dan.xy spearfish.tar.Z denver.aea.2 kil.sample.xy.tar mars.in.xy text.files denver.in.1 kil.tutor.xy mars.tutor.xy denver.ll spearfish ---------------------- Would you like to create location <kil.tutor.targ> ? (y/n) y To create a new LOCATION, you will need the following information: 1. The coordinate system for the database x,y (for imagery and other unreferenced data) UTM State Plane Latitude-Longitude other projection 2. The zone for the database (except for x,y and Latitude-Longitude databases) 3. The coordinates of the area to become the default region and the grid resolution of this region 4. A short, one-line description or title for the location Do you have all this information for location <kil.tutor.targ> ? (y/n) y Please specify the coordinate system for location <kil.tutor.targ> 0 x,y 1 UTM 2 State Plane 3 Latitude-Longitude 99 Other RETURN to cancel > 0 x,y coordinate system? (y/n) [y] Please enter a one line description for location <kil.tutor.targ> > Tutorial location for Kilauea - target for registering files - xy coords ===================================================== Tutorial location for Kilauea - target for registering files - xy coords ===================================================== ok? (y/n) [y] DEFINE THE DEFAULT REGION ====== DEFAULT REGION ======== | NORTH EDGE:400________ | WEST EDGE| |EAST EDGE 0__________| |400_______ | SOUTH EDGE:0__________ | ============================ PROJECTION: 0 (x,y) ZONE: 0 GRID RESOLUTION East-West: 1_________ North-South: 1_________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) projection: 0 (x,y) zone: 0 north: 400 south: 0 east: 400 west: 0 e-w res: 1 n-s res: 1 total rows: 400 total cols: 400 total cells: 160,000 Do you accept this region? (y/n) [y] > LOCATION <kil.tutor.targ> created!After specifiying the Location and Mapset, be sure to save it when exiting:
When ready to quit enter: exit GRASS 4.1 > exit GRASS SESSION WRAPUP You have just finished working on mapset: <schwehr> There are no RASTER maps in this mapset There are no VECTOR maps in this mapset There are no SITES maps in this mapset Shall the mapset <schwehr> be saved? y/n [y]Enter GRASS again and specify the Location kil.tutor.targ and your Mapset ('schwehr' in this tutorial). By using a 'g' command (i.e. general, one can list the raster files available):
GRASS 4.1 > g.list rast --------------------------------------------- raster files available in mapset PERMANENT: kildem skil12n2.img skil12n4.img skil12n7.img ----------------------------------------------Customizing the Database Environment and Selecting the Graphic Output Device One can now customize the database environment and select the graphics output device. Use of the `g.gisenv ` command displays the specified variable as part of the prompt if desired:
GRASS 4.1 > g.gisenv GISDBASE=/home/schwehr/grass/data LOCATION_NAME=kil.tutor.targ MAPSET=schwehr GRASS 4.1 > setenv DISPLAY console:0 GRASS 4.1 > d.mon start=iris Graphics driver [iris] started GRASS 4.1 > d.frame -eObtaining a Grey Scale
Obtain a grey scale with the following commands:
GRASS 4.1 > g.region rast=kildem GRASS 4.1 > d.rast kildem GRASS 4.1 > i.grey.scale which layer needs a grey scale? Enter 'list' for a list of existing raster files Enter 'list -f' for a list with titles Hit RETURN to cancel request > list <list> --------------------------------------------- raster files available in mapset PERMANENT: kildem skil12n2.img skil12n4.img skil12n7.img ---------------------------------------------- which layer needs a grey scale? Enter 'list' for a list of existing raster files Enter 'list -f' for a list with titles Hit RETURN to cancel request > kildem <kildem> Reading kildem ... [kildem in PERMANENT] now has a grey scale color table which layer needs a grey scale? Enter 'list' for a list of existing raster files Enter 'list -f' for a list with titles Hit RETURN to cancel request >Display the output:
GRASS 4.1 > d.rast kildemThe grey scale file is an ascii text that is can be edited using any text editor such as vi or emacs. The format is of an altitude, followed by the grey scale range to code for that altitude level:
GRASS 4.1 > cd ~schwehr/grass/data/kil.tutor.targ/schwehr/colr2/PERMANENT GRASS 4.1 > cat kildem % 1 6363 0:0 1:0 15:0 16:1 28:1 29:2 37:2 38:3 47:3 48:4 53:4 54:5 62:5 63:6 69:6 ... etc ...To get familiar with the data, one can use the d.what.rast command. This will let you use your mouse to select a point and obtain information on that point: Using this, one can select different altitudes ranges and modify the grey scale.
GRASS 4.1 > d.what.rast Buttons Left: what's here Right: quit 221.5(E) 935.5(N) kildem in PERMANENT (4496) 212.5(E) 762.5(N) kildem in PERMANENT (3618) 469.5(E) 691.5(N) kildem in PERMANENT (3547) 558.5(E) 629.5(N) kildem in PERMANENT (3250) 724.5(E) 598.5(N) kildem in PERMANENT (2505) Buttons Left: what's here Right: quit GRASS 4.1 > ls -l total 9 -rw-r--r-- 1 schwehr vpe 4292 Aug 18 17:07 kildemUsing this technique, the grey scale can be changed to what one desires (after using the `d.what.rast' command to obtain the values one wants). For this example the kildem grey scale was changed to the following:
GRASS 4.1 > more kildem % 1 6363 0:0 2505:255 2506:255:255:255 3250:0:255:0 3251:0:255:0 3547:255:0:0 3548:255:0:0 3618:0:255:0 3619:0:255:0 4045:255:0:255 4046:255:0:255 4496:255:0:0This is not the best color scale. Try your own, and you will probably get better results.
One can use the 'zoom' command to change the current region:
GRASS 4.1 > d.rast kildem GRASS 4.1 > d.zoom Buttons: Left: Establish a corner Middle: Check coordinates Right: Accept region north: 889 south: 888 east: 512 west: 511 north: 889 south: 654 east: 512 west: 265 This region now saved as current region. Note: run 'd.erase' for the new region to affect the graphics.See Figure 1: kildem.1.gif for a sample of the display output. Since the display is using an iris monitor, it needs to be cleared using the d.frame -e command.
> GRASS4.1 > d.frame -e > GRASS4.1 > d.rast kildemGrouping the first Raster Image Grass can be used on multiples of images. This is facilitated by the use of a 'group'; i.e. sets of images that are coprocessed. Creating a group is required for this registration:
> GRASS4.1 > i.group This program edits imagery groups. You may add data layers to, or remove data layers from an imagery group. You may also create new groups Please enter the group to be created/modified GROUP: kildem.grp__________ (list will show available groups) AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) kildem.grp - does not exist, do you wish to create a new group? (y/n) [n] y LOCATION: kil.tutor.targ GROUP: kildem.grp MAPSET: schwehr Please mark an 'x' by the files to be added in group [kildem.grp] MAPSET: PERMANENT _x kildem __ skil12n2.img __ skil12n4.img __ skil12n7.img AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) Group [kildem.grp] references the following raster file ----------------------- kildem in PERMANENT ----------------------- Look ok? (y/n) y Group [kildem.grp] created! LOCATION: kil.tutor.targ GROUP: kildem.grp MAPSET: schwehr 1. Select a different group 2. Edit group title 3. Include new raster files in the group or remove raster files from the group 4. Assign colors to the group 5. Create a new subgroup within the group RETURN exitTargeting the First Image After creating the group, one must target it to the database one wants to use:
GRASS 4.1 > i.target This program targets an imagery group to a GRASS database Enter group that needs a target Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > list <list> Available groups --------------------------------- kildem.grp --------------------------------- hit RETURN to continue --> Enter group that needs a target Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > kildem.grp <kildem.grp> Please select the target LOCATION and MAPSET for group <kildem.grp> CURRENT LOCATION: kil.tutor.targ CURRENT MAPSET: schwehr TARGET LOCATION: ____________________ TARGET MAPSET: ____________________ (enter list for a list of locations or mapsets within a location) AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL)Fill this form with 'kil.tutor.targ' as the Location and your name as the Mapset. Using `i.points' on the First Image Finally, one can begin the registration process. 'i.points' will let you locate the points that you will use as markers. It uses a mouse menuing system to let you pick the map points that you believe you have coordinate information on. You can then do an analysis that shows the list of control points and the positioning error. Iteratively, one can do the point selection and analysis to reduce the error ( Figure 6: img.pts.3.sml.gif):
GRASS 4.1 > i.points Enter imagery group to be registered Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > list <list> Available groups --------------------------------- kildem.grp --------------------------------- hit RETURN to continue --> Enter imagery group to be registered Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > kildem.grp
Figure 6: img.pts.3.sml.gif:
Rectifying The First ImageGRASS 4.1 > i.rectify Enter the group containing files to be rectified Enter 'list' for a list of existing imagery groups Enter 'list - f' for a verbose listing Hit RETURN to cancel request > list <list> Available groups --------------------------------- kildem.grp --------------------------------- hit RETURN to continue --> Enter the group containing files to be rectified Enter 'list' for a list of existing imagery groups Enter 'list - f' for a verbose listing Hit RETURN to cancel request > kildem.grp <kildem.grp> Please select the file(s) you wish to rectify by naming an output file kildem@schwehr . . . . . . . . . . kildem_________ (enter list by name to get a list of existing raster files) AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) Please select one of the following options 1. Use the current region in the target location 2. Determine the smallest region which covers the image > 1You will receive mail when i.rectify is complete. The contents of the rectification notice will look similar to the following:
GRASS 4.1 > mail From schwehr Thu Aug 18 17:42:25 1994 Thu, 18 Aug 94 17:42:25 -0700 From: schwehr (Kurt Schwehr) Subject: i.rectify Apparently-To: schwehr *********************************************** Rectify [kildem@PERMANENT] (LOCATION kil.tutor.targ) into [kildem in schwehr] (LOCATION kil.tutor.tar) complete ----------------------------------------------- 400 rows, 400 cols (160000 cells) completed in 0:06 1600000.0 cells per minute ? dGrouping the Three Other Images After receiving notification one can continue:
GRASS 4.1 > i.group LOCATION: kil.tutor.targ.group MAPSET: schwehr This program edits imagery groups. You may add data layers to, or remove data layers from an imagery group. You may also create new groups Please enter the group to be created/modified GROUP: images.grp__________ (list will show available groups) AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) images.grp - does not exist, do you wish to create a new group? (y/n) [n] y LOCATION: kil.tutor.targ GROUP: images.grp MAPSET: schwehr Please mark an 'x' by the files to be added in group [images.grp] MAPSET: PERMANENT __ kildem _x skil12n2.img _x skil12n4.img _x skil12n7.img AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL)These images can be grouped together since they have already been registered to each other. Thus the same transform will be used on all three to rectify them together to match the kildem in kil.tutor.targ
Group [images.grp] references the following raster files ----------------------- skil12n2.img in PERMANENT skil12n4.img in PERMANENT skil12n7.img in PERMANENT ----------------------- Look ok? (y/n) y Group [images.grp] created! LOCATION: kil.tutor.targ GROUP: images.grp MAPSET: schwehr 1. Select a different group 2. Edit group title 3. Include new raster files in the group or remove raster files from the group 4. Assign colors to the group 5. Create a new subgroup within the group RETURN exit >Targeting The Three Images
GRASS 4.1 > i.target This program targets an imagery group to a GRASS database Enter group that needs a target Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > list <list> Available groups --------------------------------- images.grp kildem.grp --------------------------------- hit RETURN to continue --> Enter group that needs a target Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > images.grp <images.grp> Please select the target LOCATION and MAPSET for group <images.grp> CURRENT LOCATION: kil.tutor.targ CURRENT MAPSET: schwehr TARGET LOCATION: ____________________ TARGET MAPSET: ____________________ (enter list for a list of locations or mapsets within a location) AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) group [images.grp] targeted for location [kil.tutor.tar], mapset [schwehr] Mapset <schwehr> in Location <kil.tutor.targ>Using Points on the Three Images group to prepare to Register with the First
GRASS 4.1 > i.points Enter imagery group to be registered Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > list <list> Available groups --------------------------------- images.grp kildem.grp --------------------------------- hit RETURN to continue --> Enter imagery group to be registered Enter 'list' for a list of existing imagery groups Enter 'list -f' for a verbose listing Hit RETURN to cancel request > images.grp
Use plot raster to bring up the image hidden on the right (Figure 7: img.pts.1.gif):
The i.point command uses the mouse to select the registration points. The following are some sample mouse point selections (yours may be very different):
|Point 1 marked on image at | East:732.07 | North: 496.06| |Point located at | East:277.49 | North: 242.29 |Point 2 marked on image at | East:750.19 | North: 507.36 .... |Point 9 marked on image at | East:575.12 | North: 706.23 |Point located at | East:188.86 | North: 371.47 |Point 10 marked on image at | East:686.16 | North: 693.27 |Point located at | East:247.08 | North: 363.47See above (Figure7: img.pts.1.gif). As well as Figure 8: img.pts.2.gif: Rectifying the First Image Group to the Three Image Group
GRASS 4.1 > i.rectify Enter the group containing files to be rectified Enter 'list' for a list of existing imagery groups Enter 'list - f' for a verbose listing Hit RETURN to cancel request > list <list> Available groups --------------------------------- images.grp kildem.grp --------------------------------- hit RETURN to continue --> Enter the group containing files to be rectified Enter 'list' for a list of existing imagery groups Enter 'list - f' for a verbose listing Hit RETURN to cancel request > images.grp <images.grp> Please select the file(s) you wish to rectify by naming an output file skil12n2.img@PERMANENT . . . . . . . skil12n2______ skil12n4.img@PERMANENT . . . . . . . skil12n4______ skil12n7.img@PERMANENT . . . . . . . skil12n7_______ (enter list by any name to get a list of existing raster files) AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) Please select one of the following options 1. Use the current region in the target location 2. Determine the smallest region which covers the image > 1 You will receive mail when i.rectify is complete GRASS 4.1 > mail From schwehr Thu Aug 18 18:03:32 1994 Date: Thu, 18 Aug 94 18:03:32 -0700 From: schwehr (Kurt Schwehr) Subject: i.rectify Apparently-To: schwehr *********************************************** Rectify [skil12n2.img@PERMANENT] (LOCATION kil.tutor.xy) into [skil12n2 in schwehr] (LOCATION kil.tutor.tar) complete ----------------------------------------------- 400 rows, 400 cols (160000 cells) completed in 0:06 1600000.0 cells per minute *********************************************** Rectify [skil12n4.img@PERMANENT] (LOCATION kil.tutor.xy) into [skil12n4 in schwehr] (LOCATION kil.tutor.tar) complete ----------------------------------------------- 400 rows, 400 cols (160000 cells) completed in 0:06 1600000.0 cells per minute *********************************************** Rectify [skil12n7.img@PERMANENT] (LOCATION kil.tutor.xy) into [skil12n7 in schwehr] (LOCATION kil.tutor.tar) complete ----------------------------------------------- 400 rows, 400 cols (160000 cells) completed in 0:05 1920000.0 cells per minute ? d
SGI Irix 7% grass4.1 GRASS 4.1 LOCATION: This is the name of an available geographic location. -spearfish is the sample data base for which all tutorials are written. MAPSET: Every GRASS session runs under the name of a MAPSET. Associated with each MAPSET is a rectangular COORDINATE REGION and a list of any new maps created. DATABASE: This is the unix directory containing the geographic databases The REGION defaults to the entire area of the chosen LOCATION. You may change it later with the command: g.region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOCATION: kil.tutor.xy__(enter list for a list of locations) MAPSET: schwehr_______(or mapsets within a location) DATABASE: /home/schwehr/grass/data__________________________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) list ________ Available locations: ---------------------- den.utm.z12 kil.tutor.tar mars.tutor.xy denver.aea.2 kil.tutor.xy spearfish denver.in.1 denver.ll kill.dan.xy kil.sample.xy.tar.Z mars.in.xy ---------------------- Hit RETURN --> GRASS 4.1 LOCATION: This is the name of an available geographic location. -spearfishis the sample data base for which all tutorials are written. MAPSET: Every GRASS session runs under the name of a MAPSET. Associated with each MAPSET is a rectangular COORDINATE REGION and a list of any new maps created. DATABASE: This is the unix directory containing the geographic databases The REGION defaults to the entire area of the chosen LOCATION. You may change it later with the command: g.region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LOCATION: kil.tutor.xy_____(enter list for a list of locations) MAPSET: schwehr_______(or mapsets within a location) DATABASE: /home/schwehr/grass/data__________________________ AFTER COMPLETING ALL ANSWERS, HIT <ESC> TO CONTINUE (OR <Ctrl-C> TO CANCEL) Welcome to GRASS 4.1 (Spring 1993) Update package 4 Geographical Resources Analysis Support Systems (GRASS) is a Trademark of U.S. Army Construction Engineering Research Laboratories (USACERL) New releases of GRASS are coordinated and produced by the Office of GRASS Integration (OGI) located at USACERL, and incorporate software contributions from numerous sources This version running thru the C Shell (/bin/csh) Help is available with the command: g.help When ready to quit enter: exit GRASS 4.1 > g.list rast --------------------------------------------- raster files available in mapset schwehr: kildem skil12n2 skil12n4 skil12n7 ----------------------------------------------If the Iris window is already running type:
GRASS 4.1 > d.mon unlock=iris GRASS 4.1 > d.mon sel=irisOtherwise type:
GRASS 4.1 > d.mon start=irisContinue with :
GRASS 4.1 > GRASS 4.1 > d.frame -e GRASS 4.1 > slide.show.sh mapset=schwehr GRASS 4.1 > slide.show.sh help Unrecognized option: help Options: across=#maps_across down=#_maps_down Defaults: across = 4 down = 3 GRASS 4.1 > slide.show.sh across=2 down=2 mapset=schwehrFigure 9: slide.show.gif:
GRASS 4.1 > setenv DISPLAY machine name:0 GRASS 4.1 > SG3d OPTION: Raster file for Elevation key: elevation required: YES Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > list <list> --------------------------------------------- Raster files available in mapset schwehr: kildem skil12n2 skil12n4 skil12n7 ---------------------------------------------- Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > kildem <kildem> OPTION: Raster file(s) for Color (1 or 3 files) key: color required: YES multiple: YES Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > skil12n2 <skil12n2> Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to accept the default > <> OPTION: Vector overlay file key: vector required: NO Enter the name of an existing Vector file Enter 'list' for a list of existing Vector files Hit RETURN to cancel request > <> OPTION: 3D viewing parameters key: 3dview required: NO Enter the name of an existing 3dview file Enter 'list' for a list of existing 3dview files Hit RETURN to cancel request > <> OPTION: Sites overlay file key: sites required: NO Enter the name of an existing Sites file Enter 'list' for a list of existing Sites files Hit RETURN to cancel request > <> OPTION: Raster file for site category color key: scolor required: NO Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > OPTION: Automatically run script file key: script required: NO enter option > FLAG: Set the following flag? Enable writing to script files?(y/n) [n] FLAG: Set the following flag? Use site category as Z value?(y/n) [n] Initial load of data: Loading data: Done. elevation range: 3165.000000 to 4097.000000 Done. recalculating normals...100 GRASS 4.1 > SG3d
First you will see a wire frame representation of the topography as in Figure3: SG3d.1.gif:
Click on the draw button to see a rendered version that looks like figure10: SG3d.2.gif:
To finish, click on the `quit'
button to exit
back to GRASS.
Now we'll merge together three image bands. The first will be red, the second green, and the third green. This will give the impression of 'color' from the images.
OPTION: Raster file for Elevation key: elevation required: YES Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > list <list> --------------------------------------------- Raster files available in mapset schwehr: kildem skil12n2 skil12n4 skil12n7 ---------------------------------------------- Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > kildem <kildem> OPTION: Raster file(s) for Color (1 or 3 files) key: color required: YES multiple: YES Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > skil12n2 <skil12n2> Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to accept the default > skil12n4 <skil12n4> Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to accept the default > skil12n7 <skil12n7> Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to accept the default > <> OPTION: Vector overlay file key: vector required: NO Enter the name of an existing Vector file Enter 'list' for a list of existing Vector files Hit RETURN to cancel request > <> OPTION: 3D viewing parameters key: 3dview required: NO Enter the name of an existing 3dview file Enter 'list' for a list of existing 3dview files Hit RETURN to cancel request > <> OPTION: Sites overlay file key: sites required: NO Enter the name of an existing Sites file Enter 'list' for a list of existing Sites files Hit RETURN to cancel request > OPTION: Raster file for site category color key: scolor required: NO Enter the name of an existing Raster file Enter 'list' for a list of existing Raster files Hit RETURN to cancel request > <> OPTION: Automatically run script file key: script required: NO enter option > FLAG: Set the following flag? Enable writing to script files?(y/n) [n] FLAG: Set the following flag? Use site category as Z value?(y/n) [n] Initial load of data: Loading data: Done. elevation range: 3165.000000 to 4097.000000 Done. See 12: SG3d.3.gif: recalculating normals...100 recalculating normals...100 200 300 recalculating normals...100 recalculating normals...100 200 300 recalculating normals...100 LEFT MOUSE BUTTON to mark center of scale ESCAPE key to cancel <scale set> LEFT MOUSE BUTTON to mark center of scale ESCAPE key to cancel <scale set> LEFT MOUSE BUTTON to mark first letter of label ESCAPE key to cancel <label set> LEFT MOUSE BUTTON to mark first letter of label ESCAPE key to cancel <label set> LEFT MOUSE BUTTON to mark first letter of label ESCAPE key to cancel <label set> LEFT MOUSE BUTTON to mark first letter of label ESCAPE key to cancel <label set> LEFT MOUSE BUTTON to mark first letter of label ESCAPE key to cancel <label set> : \GRASS 4.1 > exit GRASS 4.1 > GRASS SESSION WRAPUP You have just finished working on mapset: <schwehr> The following RASTER maps belong to it: kildem skil12n2 skil12n4 skil12n7 There are no VECTOR maps in this mapset There are no SITES maps in this mapset Shall the mapset <schwehr> be saved? y/n [y] Do you wish to selectively remove data files? y/n [n] GOOD BYE from GRASS SGI Irix 8% exit SGI Irix 9% logoutThe output: Figure 4: SG3d.final.gif:
Date: Fri, 5 Aug 1994 21:35:07 -0500 >From: James Darrell McCauley <mccauley@ecn.purdue.edu> To: grassu-list@max.cecer.army.mil Subject: FYI: free database systems > Catalog of Free Database Systems > > This document attemts to catalog databases that are > available without payment and with source. > > The latest version of the document can be ftp'ed: get > pub/free-databases from idiom.berkeley.ca.us. > > I will post this document about once a month to comp.databases, > comp.databases.object, comp.answers, and news.answers. I will > also post it to other groups somewhat randomly.In addition here are some FTP sites with geospatial data: FTP sites:
This document contains a tutorial on various aspects of GRASS (Section 1.3). This document, with the tutorial, is available on non-public NASA machine :
~delgado/tutor/allIn addition, the appendix includes a tutorial originally included with a Stanford workshop on GRASS usage. This document is available on non-public NASA machine :
~delgado/tutor/stanfordThere are several WWW homepages where you can get information:
If you want a overview of GIS system, there is a Net News article posted monthly in net.answers called the GIS FAQ that answers Frequently Asked Questions (i.e. a FAQ using internet termininology) about GIS systems.
There is also a newsgroup devoted to GIs systems that frequently mentions GRASS: comp.infowsystems.gis
~schwehr/tutor/This directory contains subdirectories with the capture and graphics snapshots needed for a particular procedure e.g.:
List Name Host Name Send Message To List ------------------------------------------------- GIS-L listserv@ubvm.cc.buffalo.edu GIS-L@ubvm.cc.buffalo.edu MAPS-L listserv@uga.bitnet MAPS-L@uga.cc.uga.edu GOVDOC-L listserv@psuvm.psu.edu GOVDOC-L@psuvm.psu.edu COASTGIS listserv@irlearn.ucd.edu.ie TGIS-L listserv@ubvm.cc.buffalo.edu UIGIS-L listserv@ubvm.cc.buffalo.edu GEOGRAPH listserv@finhutc.hut.fi IMAGRS-L listserv@csearn.earn INGRAFX listserv@psuvm.psu.edu BIONET biosci@net.bio.net ECOLOG-L listserv@umdd.umd.edu CONSBIO listserv@uwavm.u.washington.edu AQUA-L listserv@vm.uoguelph.ca MARINE-L listserv@vm.uoguelph.ca BEN ben@cue.bc.ca (botany/ecology news letter) CP listserv@opus.hpl.hp.com NSDI-L listproc@grouse.umesve.maine.edu NSDI-L@grouse.umesve.maine.eduGRASS Mailing list
Date: Thu, 1 Sep 1994 06:01:02 -0500 To: grassp-list@max.cecer.army.mil Subject: Intro to the GRASShopper lists [posted once a month] ------------------------------------------- About the OGI GRASS Mailing Lists Office of Grass Integration [This document is sent out to the GRASS Programmers' Electronic Mailing List once a month as a reminder and introduction to the list manager software.] November 25, 1991 The Office of GRASS Integration has set up a service that will be of interest especially to those GRASS users who have access to electronic mail. We have set up two e-mail lists to foster communication between GRASS Users and GRASS Programmers. The lists work on the principle of "mail exploding" -- a user mails a note to one address, and the computer at that address "explodes" the letter, re-mailing it to everyone who subscribes to the list. Replies to the original letter generally go to the list as well (if there is general interest in the answer), but can be directed solely to the original author if desired. Both lists are also automatically preserved in an archive, and users may at any time request a file containing an archive of list messages. These lists exist to foster communication between parties interested in the GRASS software; many CERL employees will participate in the lists, but on an infrequent and informal basis. The list will be maintained and stored on CERL computers; however, CERL will not officially monitor the content, intent, or accuracy of any messages that pass through the list. The point-of-contact for the list is: grass-lists-owner@moon.cecer.army.mil The list for GRASS users and friends is called "grassu" (short for "GRASS users"), while the list for programmers and system-level users is called "grassp" (short for "GRASS programmers"). Topics for discussion on the |grassu-list| may include questions about various GRASS applications, sources of (or reviews of) third-party support, and various and sundry other experiences with GRASS. |Grassp-list| topics will include discussion of the algorithms and intricacies of current GRASS programs, programming hints and ideas for new GRASS applications, and other prorgrammer-oriented issues. Note that the grassp-list is |not| the best (nor even an appropriate) place to report suspected bugs in GRASS code; the current <bug.report.sh> program and correspondance with OGI are the preferred problem-report procedures. Accessing the mailing lists Each mailing list has two addresses. The first is the destination of messages that should be "exploded" out to all subscribers. This address takes the form of grassu-list@moon.cecer.army.mil for the user's list, and grassp-list@moon.cecer.army.mil for the programmer's lists.{1} {footnote1:These, and all other e-mail addresses in this article, are provided in an "Internet-standard" format; different host computers might require different specifications of the address. The system administrator at each site should be able to help if the addresses here do not work as specified.} The other important address for each list is the destination of commands to the list-management software (such as subscribe, unsubscribe, etc.). They should be sent to grassu-request@moon.cecer.army.mil or grassp-request@moon.cecer.army.mil as appropriate. Multiple commands may be included in messages. Commands may be located in the subject line or in the body of the letter, but there should be only one command per line. Upper- or lower-case letters may be used for commands, and they may be abbreviated to simply the first three letters if desired. All commands are acknowledged with return e-mail. Commands that the server will accept are: HELp This command mails back a copy of the list's help file from the archive directory. PINg This command "pings" the mailing list, causing a simple "I'm alive" response to be returned. This is a good way to check the list's address, to check if the list is reachable from your machine, and to check if the list is up and running. This command is meant to be an alternative to mailing a message to the everyone on the list asking "Is the list working" and so forth. SUBscribe [name] This command adds [name] to the mailing list. The subscriber's e-mail address is taken from the "From:" line of the subscription letter, and this address is what is added to the list. The [name] parameter is is used to specify the user's real name. UNSubscribe This command removes the user's subscription from the list. It relies on the "From:" field of the request letter. If this address does not match any name in the list, the software will notify the sender and the CERL list-maintainer, who will resolve the problem by hand. WHO [address] If no [address] option is given, this command returns a sorted list of list subscribers. If [address] is supplied, the software searches for a user with that address and returns that user's name. DIRectory This command returns the mailing list's archive directory. The primary purpose of this is to see which list-archive files are available. The list software will mail back a list of available files. GET [file] This command returns the named [file] from the list's archive directory. Case and spelling are important; the name must |exactly| match a file shown by the "DIR" command. A message acknowledging the request will be mailed to the user. If the file is short, the user will simply receive a copy of it in mail. For example, the command "GET LOG" (capitalization of "LOG" is important) will cause the list-server to mail back a copy of the most recent messages to the list (which are always stored in the file named "LOG"). If the file is very long, the list server software will <uuencode> the file and split it into several mail-sized chunks. ("Uuencode" and "uudecode" are common UNIX programs to encode files for e-mail transport. The local computer must have the <uudecode> program in order to decode these files. The acknowledgement note will inform the user how many chunks to expect, and each chunk will have a subject line that specifies "filename: part X of Y". Examples of List Usage To "ping" the list (i.e. check that it is functioning and reachable from your computer): Send a mail message to: grassu-request@moon.cecer.army.mil In the subject or the message body, type "PING" or "ping" or "pin" (without the quotes; case is unimportant and only the first three letters of commands are significant). The list server will reply with a brief "I'm here" message. To ping the programmer's list, substitute "grassp" for "grassu" in the address above. To subscribe to one of the lists: Send a mail message to either grassu-request@moon.cecer.army.mil or grassp-request@moon.cecer.army.mil with "subscribe [yourname]" in the subject or body. Replace [yourname] with your real name. The list will add the e-mail address that it finds in the "From:" field of your letter. Summary These two lists are provided by OGI as a service for the GRASS community; we hope that they will prove to be useful resources. We encourage you to try several commands to experiment with the lists. If there are any questions, feel free to send mail to grass-lists-owner@moon.cecer.army.mil or contact the OGI by phone or mail.
Date: Thu, 11 Aug 1994 13:51:12 -0500 >From: Bill Brown <brown@diego.cecer.army.mil> To: grassu-list@max.cecer.army.mil Subject: Re: IRIX 5 GRASS Kurt, I compiled GRASS for IRIX 5.2 a few weeks ago. Here's my compilation notes: ---------------------------------------------------------------- ---------- A few compile problems: To fix the i.points, i.ortho.photo, i.vpoints problem: make the function "screen" in the files "mark.c" a non-static function. (Just delete the keyword "static" where the function is defined) These files need to get this fix: src/imagery/i.points/mark.c src.alpha/imagery/i.ortho.photo/photo.2image/mark.c src.alpha/imagery/i.ortho.photo/photo.2target/mark.c src.alpha/imagery/i.vpoints/mark.c To compile xgrass, I needed to use these XCFLAGS: XCFLAGS = -D_NO_PROTO -DXM_1_1_BC -Umips To compile v.digit, I needed to remove this dependancy from the Gmakefile: menus.o: menus.i Everything else compiled OK. xdigit did not work correctly when run. To fix I added this test in the function init_graphics() in the file src/xgrass/xdigit/draw.c : (~line 76) if(XtIsRealized(canvas)){ /* ...body of function... */ } ---------------------------------------------------------------- ---------- This is the head file I used: CC = cc ARCH = sgi5 GISBASE = /GRASS.bin/4.1/sgi5 UNIX_BIN = /usr/local/bin DEFAULT_DATABASE = /data/foghorn/4.0 DEFAULT_LOCATION = spearfish COMPILE_FLAGS = -O -cckr LDFLAGS = -s XCFLAGS = -D_NO_PROTO -DXM_1_1_BC -Umips XLDFLAGS = -lPW XINCPATH = XMINCPATH = XLIBPATH = XTLIBPATH = -L/usr/lib XMLIBPATH = -L/usr/lib XLIB = -lX11 XTLIB = -lXt XMLIB = -lXm XEXTRALIBS = -lPW TERMLIB = -ltermlib CURSES = -lcurses $(TERMLIB) MATHLIB = -lm # LIBRULE = ar ruv $@ $? # LIBRULE = ar ruv $@ $?; ranlib $@ # LIBRULE = ar ruv $@ $?; ar ts $@ # LIBRULE = ar rc $@ `lorder $(OBJ) | tsort` LIBRULE = ar ruv $@ $? USE_TERMIO = -DUSE_TERMIO USE_MTIO = -DUSE_MTIO USE_FTIME = DIGITFLAGS = -DUSE_SETREUID -DUSE_SETEUID - DUSE_SETPRIORITY VECTLIBFLAGS = GETHOSTNAME = -DGETHOSTNAME_OK XDRLIB = -lsunMars Data
From: Bill Brown <brown@diego.cecer.army.mil> > Also, is there a way to let grass georeference stuff on mars > or will I have to stick to keeping the data in xy? I guess it depends somewhat on what it looks like now, but I had some Mars data in a lat-long location & it seemed to work OK. (see http://www.cecer.army.mil/grass/viz/global.html)Searching through the grassu-list archives
Newsgroups: info.grass.user >From: ront@picea.CNR.ColoState.EDU (Ronald Thomas) Subject: Re: Grassu archives searching? Date: Fri, 12 Aug 1994 13:09:12 GMT Apparently-To: grassu-list@max.cecer.army.mil >is there any way to search ?through the grassu-list archives at >the max.cecer.army.mil site? >Many problems haunting a grass novice were probably grilled there >zillions of times. >Cheerio, Ania Don't know about searching achives on the "moon"; best bet is to retrieve the achives and search at your own site. Your comments about some questions being asked (& answered) over & over are right on. Here is a script I use to query a copy of the archives that I keep: --------------------------------------- #!/bin/sh #This script "grassu94" searches for a 'keyword' in the following # file: grassu.92.gz. If it finds whatever you requested, the # script then prints that line or lines out on the terminal. If it doesn't # find what you asked for, the script will tell you that it can't be found. # usage: grassu94 'keyword' if test $# -gt 0 then arg="$*" gzcat $HOME/mail/grassu.94.gz | grep -i -n "$arg" | more es=$? if test $es = '0' then exit 0 else echo "$*" not found in grassu.94 file. exit 1 fi else echo You have not entered anything to look up. exit 2 fi ----------------------- The following script file can be used to delete a LOT of extraneous header lines that unfortunately come with the archives -- I estimate this reduces the size of the achives by 30%. Of course, UNIX compress of GNU gzip should be used to keep the 'cleaned' file as small as possible, but that's a personal decision. ---------------------- #clean #usage: clean 'file' ex $1 << EOF :g/^Re/d :g/^ id/d :g/^ (/d :g/^Se/d :g/^Appar/d :g/^X/d :g/^In-Reply/d :g/^Status:/d :g/^Errors-To/d :g/^Pre/d :g/^From lists/d :g/^Message/d :g/^To:/d :g/^From grass/d :g/^Content/d :g/^Organization/d :g/^Received/d :wq EOFHistograms
Date: Sun, 21 Aug 1994 02:32:29 -0500 >From: James Darrell McCauley <mccauley@ecn.purdue.edu> Subject: histograms >for a rast-based image on GRASS monitor, after running a GRASS d.histogram >command, colored pie-scale histogram with category values are shown, as >general process of GRASS. My question is ..... >Anyway, anyone help me to printout histogram graphics ? an alternative for histograms may be to use g.gnuplot: GRASS 4.1 > r.stats -c sample > sample.dat GRASS 4.1 > g.gnuplot gnuplot> set term postscript gnuplot> set out 'sample.ps' gnuplot> plot [1:] 'sample.dat' w i gnuplot> quit GRASS 4.1 > lp sample.psColor display in GRASS explained
Date: Mon, 22 Aug 1994 14:29:55 -0500 >From: Bill Brown <brown@diego.cecer.army.mil> To: grassu-list@max.cecer.army.mil Subject: Re: GRASS colors > From: kilee@CC.UManitoba.CA > Date: Mon, 22 Aug 94 13:02:28 CDT > To: grassu-list@max.cecer.army.mil > > Q: In GRASS, just 0-255 integer rast-based color coding image is possible, Using GRASS color files, you can specify values from 0-255 for EACH of the three (red,green,blue) color components, yielding something like 16 million possible colors. Of course, the problem comes in trying to display your map. There are severe limitations with the GRASS X-driver and with 256 color 8-bit monitors. But even with 24-bit displays, the GRASS X-driver still limits you to something like 216 colors. (I understand that the tcl/tk viewer will let you use all your available color depth). But for now, if you have a display device capable of more colors, you could use r.out.ppm to convert the GRASS raster file into a 24-bit ppm image, then output that. And just a reminder that if you're running on an SGI with 24-bit graphics, don't overlook the IRIS monitor driver, which will give you 3840 colors.Running GRASS programs without starting grass
Date: Tue, 23 Aug 1994 13:11:41 +0100 To: grassu-list@max.cecer.army.mil Subject: Re: problems in interface >Does anyone knows how to excute GRASS command or scripts >in external? I wrote the following script a couple of years ago to see how this could be done (we didn't need to in the end). I'm sure that it could be a lot prettier but at least it's a starting point ! To find out what the variables need to be set to on your system, it's easiest to start grass and type "printenv |more" (assuming you use csh). The files: ----------<< grassrc_test >>---------- GISDBASE: /data/grass LOCATION_NAME: tyne MAPSET: phil ----------<< exec_grass >>---------- #!/usr/bin/csh set path= (/user/grass/sun4/bin /user/grass/sun4/scripts /user/grass/sun4/garden/bin /user/grass/sun4/alpha/bin /usr/local/bin /usr/bin /usr/ucb /etc /usr/etc /usr/lib) setenv GISBASE /user/grass/sun4 setenv GISDBASE /data/grass setenv GISRC grassrc_test setenv LOCATION /data/grass/tyne/phil setenv LOCATION_NAME tyne setenv MAPSET phil g.list rastSample usage of r.mapcalc
>From: Firma Nieuwland <nieuwlnd@sci.kun.nl> Date: Thu, 25 Aug 1994 09:09:37 +0200 To: grassu-list@max.cecer.army.mil Subject: Re: thresholding in GRASS Try: rmapcalc output=if(input > 110 && input < 140 , a + bx , if (input>160 && input < 200, c + dx,0) -Olga van de VeerAutocad DXF files
Date: Fri, 26 Aug 1994 10:21:20 -0400 (EDT) >From: preston@malibu.dst.battelle.org (Evan Preston) Subject: DXF Files?? To: grassu-list@max.cecer.army.mil We are working on a project that is using GRASS as well as a package called World Toolkit (for 3D/animation). An ideal way to display map data in this package is by importing DXF polygons and texturing them. So...we are looking for anyone who may have some DXF files they would like to share (preferably maps of the Korean Penninsula, but we'll take anything reasonable in order to test out this concept). Please post response or email me directly. Evan Evan B. Preston # Battelle # phone: 614.424.3983 # National Security Division # fax: 614.424.3776 # 505 King Ave. # internet: preston@malibu.dst.battelle.org # Columbus, Ohio 43201 #Databases and GRASS
Date: Tue, 6 Sep 94 07:29:39 MDT >From: susan@its.nbs.gov (Susan Stitt) To: nsegura@halcon.dpi.udec.cl (Nelson Segura Nunez) Subject: Data Bases and GRASS Nelson, Another item you may wish to be aware of is the pending availability of L.A.S.'s version of GRASS in TCL-TK. They have claimed that they have created a version with an implementation of a database capability built into the GRASS software. This software is described below by Gilles Clement who is president of LAS. >Date: Fri, 8 Jul 1994 09:54:54 -0400 >From: gc@copernic.lasinc.qc.ca (Gilles Clement) >To: grassu-list@max.cecer.army.mil >Subject: [ANNOUNCE] tcltkgrass >> >A lot of people are asking about the status of tcltkgrass. Initially, we >thought we could have a release for mid-May. Unfortunately, financing for the >project was slightly delayed and we decided to redesign the software almost >completely. This is why we haven't been able to release any new version so >far. We've been working on this project for several months now and we believe >our final beta version will be available in September 1994. > > >This new version is entirely redesigned using object-oriented development >technique and will have a lot of very cool new features such as: an enhanced >bugfree superviewer, a WYSIWYG postscript output for the superviewer, a >completely rebuilded GUI for every GRASS function, a visual interactive >programming environment for GRASS, a new set of converters for vector, raster >and databases, an imbedded RDBMS and georelational link capability and a >simplification of the installation procedure. > >As promised, the UNIX version of tcltkgrass will be contributed to the public >domain but the long awaited MSWindows version will be a commercial product. >Presently, 8 sites have shown interest in acting as alpha and beta testers for >the new version but we would like to extend that to approximately 20 >organisations. > >Anybody can have the opportunity to be one of the 20 alpha test sites, provided >that their organisation is active in either development, applications or >education of GRASS and is using either a PC with MS-Windows or a SUN >SparcStation running SUN OS 4.0.x or a DEC DecStation running Ultrix 4.x. The >alpha version will be available at the end of July. > > >Of course, the sites using PC's will be provided with a free alpha and beta >version. > >For those interested, please contact Valerie DesRoches: >vader@copernic.lasinc.qc.ca > > >L.A.S. inc. > >Gilles Clement, president > >p.s.: list of organisations interested in acting as alpha and beta testers: > >Organisation Scientific authority E-mail >PNFI (Forestry Canada) Tom Moore tmoore@pnfi.forestry.ca >DREV (National Defense) Dominic Roy droy@jupiter.drev.dnd.ca >CAST (Un. of Arkansas) Jim Farley jim@cast.uark.edu >USACERL (US Army) Kurt Buehler kurt@zorro.cecer.army.mil >HQ (Qubec Hydro) Guy Moisan moisang@envir.hydro.qc.ca >and a few private companies we can't name... :-)New r.in.hdf Command Date: Thu, 8 Sep 1994 14:33:36 -0500 >From: Bill Brown <brown@diego.cecer.army.mil> To: grassu-list@max.cecer.army.mil Subject: new r.in.hdf I just put an updated version of r.in.hdf on moon in grass/incoming . This latest version adds features to correctly import NASA AVHRR data & other HDF format data that uses the HDF calibration feature. It also allows you to list the contents of the HDF file, and select random datasets from the file for importing to GRASS. (With the old version, you had to either import only the first dataset or all datasets.) This version also writes some of the HDF annotation & label info to the GRASS history file. Bill B.
[Prev] [Next]
Email to: Kurt Schwehr schwehr _at_ cs stanford edu -- Dan Delgado renata _at_ eos arc nasa gov
Kurt Schwehr