GRASS 6 Tutorial: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(new examples)
Line 71: Line 71:


===Vector network analysis examples===
===Vector network analysis examples===
http://grass.itc.it/grass57/tutorial/network.html
 
* New Spearfish examples: [http://grass.itc.it/grass63/manuals/html63_user/v.net.html v.net], [http://grass.itc.it/grass63/manuals/html63_user/v.net.iso.html v.net.iso], [http://grass.itc.it/grass63/manuals/html63_user/v.net.path.html v.net.path] etc.
* Old tutorial: http://grass.itc.it/grass57/tutorial/network.html


===Vector overlay/clipping examples===
===Vector overlay/clipping examples===

Revision as of 14:46, 25 July 2007

The Free Software/Open Source GIS GRASS 6 is fully operational and stable version for production use. This tutorial tries to give you a hand to familiarize yourself with the improved functionality, especially in the vector engine and attribute management. For further reading, see the references below.

Disclaimer: In case the examples described here do not work properly, you are kindly invited to send us further examples and/or code bugfixes/enhancements. Enjoy the WIKI!

This tutorial is intended for GRASS users who want to migrate from a previous release to the new GRASS Version. If you are a beginner, please also consider additional books or tutorials.

NOTE: This tutorial here still awaits the merge of the previous GRASS 5.7 tutorial.

Introduction

New GRASS development has made major improvements to the vector architecture. The most significant change includes a new 2- and 3-dimensional vector library that manages vector attributes in standard database management systems (DBMS). This system provides the power of true relational databases for vector attribute management while preserving the flexibility of traditional GRASS topological tools. GRASS now also incorporates true 3-dimensional voxels in the NVIZ visualization environment as well as numerous enhancements to virtually every tool in the GRASS library.

Getting started in general

Getting started - how to migrate to the new GRASS version

Raster data management

  • The raster management works as it did in previous GRASS versions.
Tutorials and books written for GRASS 4 and 5 should for the most part still work.

Vector data management

Grass Six Tutorial Default Settings

      -  Default settings for vector geometry;
         for vector attributes; for db.* modules

Grass Six Tutorial Geometry Management

http://grass.itc.it/grass57/tutorial/geom_storage.html

       -  General notes on Geometry 
         management; Managing the default settings; 
         GRASS vector architecture; Geometry stored in native format;
         Geometry stored in SHAPE file; 
         Import/export of vector data Geometry;
         Generating vector geometry from various sources

Grass Six Tutorial Attribute Management

http://grass.itc.it/grass57/tutorial/attrib_storage.html

       - General notes on Attribute 
         management; Managing the default settings; Examples;
         Database Schema

Usage examples

There await porting from the GRASS 5.7 tutorial

Basic usage examples

http://grass.itc.it/grass57/tutorial/ex_basic.html

Complex usage examples

http://grass.itc.it/grass57/tutorial/ex_complex.html

Vector network analysis examples

Vector overlay/clipping examples

http://grass.itc.it/grass57/tutorial/vectoroverlay.html

Examples from US National Atlas

http://grass.itc.it/grass57/tutorial/usa_demo.html

FAQ (Frequently Asked Questions)

Troubleshooting

http://grass.itc.it/grass57/tutorial/troubleshooting.html

  • Grass Six Tutorial Troubleshooting

Links of interest

Further reading

GRASS and R kriging interpolation

Mini How to interpolate using kriging with GRASS and R

            ORDINARY KRIGING IN R WITH GRASS6 DATA

(WARNING!! Most of the code quoted here is very out of date, and simply does not work for current R/sp/gstat/spgrass6. Untried suggestions have been edited in, but without a test location, there is no guarantee that they will work! Roger Bivand, 5 April 2007)

Of all the methods we tried this is the most easy and (I suppose) exact too:

You have to have in your library the packages "gstat" and "spgrass6", you can download this last one directly from R using the command "install.packages". In GRASS we have a vector file named "giaciture_cat_clean3" and we want to do a prediction on this data... these are the commmands:

enter R from the GRASS prompt, and type:

library(spgrass6) 

#get vector points as SpatialPointsDataFrame 
#giaciture <- getSites6sp("giaciture_cat_clean3") RSB 070405

giaciture <- readVECT6("giaciture_cat_clean3") # RSB 070405

class(giaciture) #shows the class of "giaciture" (SpatialPointsDataFrame)
 
# G <- gmeta6() #get region from GRASS to R  RSB 070405

now if you want you can continue to work in R from GRASS or not...

#create a grid from the region settings of GRASS, it is very important
# to have square cells, so you can set the region settings of GRASS or
# you can give directly square dimensions using the values:  
# e.g."cells.dim=c(50,50)"
#grd <- GridTopology(cellcentre.offset=c(G$west+(G$ewres/2)
#                    ,G$south+(G$nsres/2))
#                    ,cellsize=c(G$ewres, G$nsres)
#                    ,cells.dim=c(G$cols, G$rows)) RSB 070405

grd <- gmeta2grd() # RSB 070405

#create a SpatialGridDataFrame
mask_SG <- SpatialGridDataFrame(grd,
#                                ,data=list(k=rep(1, G$cols*G$rows)) RSB 070405
     data=data.frame(k=rep(1, prod(slot(grd, "cells.dim")))), # RSB 070405
     proj4string=CRS(proj4string(giaciture))) # RSB 070405
# proj4string(giaciture) and proj4string(mask_SG) must agree
class(mask_SG)

library(gstat)

cvgm <- variogram(IMMERSIONE~1, data=giaciture, width=400, cutoff=4000) # RSB 070405
#create variogram, and "IMMERSIONE" 
#here is the our variable, the variable on wich we have to do the prediction,
# ~ 1 select the type of kriging, this is the ordinary one

efitted <- fit.variogram(cvgm, vgm(psill=5000, model="Exp", range=1500, nugget=8000))
# choose the model to fit variogram (here is exponential) and give the
# estimated parameters of the variogram (partial sill, range and nugget)

OK_pred <- krige(IMMERSIONE~1, data=giaciture, newdata=mask_SG, model=efitted) # RSB 070405
# make the kriging prediction

names(OK_pred) #show the name of variable kriged

writeRAST6(OK_pred, "OK_pred", zcol="var1.pred") # RSB 070405
#write a raster file and save it in GRASS, now you can open it from there.

that's all!

special thanks to Roger Bivand, ever ready to lend a hand!