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

Hamish hamish_nospam at yahoo.com
Wed Mar 15 19:41:05 EST 2006


> 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




More information about the grass-user mailing list