[GRASSLIST:152] Re: How to report length totals for all lines matching specific ID

Miha Staut mihastaut at yahoo.co.uk
Thu Mar 16 03:22:45 EST 2006


Another way is by using v.report (or Rdbi.PgSQL package) and R.

v.report map=Coastal_Classes option=length > coastal.classes
R # start R
cc <- read.table("coastal.classes",sep="|")
?tapply
tapply(cc$SEG_LENGTH,cc$CLASS,sum) # voila

You may also import the PostgreSQL table directly into R via the Rdbi.PgSQL
package. See http://grass.itc.it/statsgrass/r_and_dbms.html written by Markus
Neteler.

Miha



--- Hamish <hamish_nospam at yahoo.com> wrote:

> > I have a vector of a coastline; the coast is segmented into different
> > coastal types, according to unique IDs:
> >
> > CAT Class_ID CLASS         SEG_LENGTH
> > 1   5        Rock Cliff    56.789000
> > 2   7        Barrier Beach 13.450000
> > ....
> > 
> > 
> > I successfully popluated the SEG_LENGTH column with the length of each
> > segment using v.to.db:
> > 
> > v.to.db Coastal_Classes option=length type=line units=m
> > 
> > Now I want to report total lengths of each CLASS (i.e., total length
> > of all "Rock Cliff" segments, etc.)
> > 
> > Any ideas?
> 
> 
> maybe not the most efficient way, but:
> 
> v.extract out=rock_cliff where="CLASS = 'Rock Cliff'"
> v.out.ascii.db rock_cliff column=SEG_LENGTH  #from the wiki add-ons page
> 
> then add up in spreadsheet, matlab/octave, awk loop, etc.
> Don't know of a UNIX command to do sums, but I'm sure there is one?
> bc?
> 
> 
> Note coastline length is a fractal problem and answers are only useful 
> when compared against the same dataset, e.g. as a percentage of the
> whole. Even then trusting it is a bit dubious (same digitizer at the
> same level of fatigue, etc).
> 
> see-
> http://mathworld.wolfram.com/CoastlineParadox.html
> http://www.vanderbilt.edu/AnS/psychology/cogsci/chaos/workshop/Fractals.html
>
http://en.wikipedia.org/wiki/How_Long_Is_the_Coast_of_Britain%3F_Statistical_Self-Similarity_and_Fractional_Dimension
> 
> 
> Hamish
> 
> 



		
___________________________________________________________ 
To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com




More information about the grass-user mailing list