[GRASS-user] Returning to an old bug...

Glynn Clements glynn at gclements.plus.com
Fri Nov 14 06:20:25 EST 2008


Richard Chirgwin wrote:

> A while back I noted that if patching very large numbers of files, GRASS
> 6.3 generates frequent topo errors:
> 
> ERROR: BUG (Vect_build_sidx_from_topo): area does not exist
> 
> This can be reproduced in Spearfish:
> 
> 1) Create individual points
> 
> for i in `echo "select cat from bugsites" | db.select`; do
> v.extract input=$i output="bugsites_""$i" where=cat=$i; done
> 
> 2) Buffer individual points
> for i in `g.mlist vect pattern="bugsites_*"`; do
> v.buffer input=$i output="buffer_""$i" buffer=500; done
> 
> 3) Add tables to buffers
> for i in `g.mlist vect pattern="buffer_*"`; do
> v.db.addtable map=$i; done
> 
> 4) Overlay buffers with areas
> for i in `g.mlist vect pattern="buffer_*"; do
> v.overlay ainput=$i binput=trn_sites output="overlay_""$i" operator=and;
> done
> 
> 5) Create target patch map
> for i in `g.mlist vect pattern="overlay_*"`; do
> v.patch -a -e input=$i output=patch --overwrite; done
> 
> 
> Can anyone suggest solutions? It would be nice to avoid having to patch
> a bunch of maps by hand to avoid the error!

Run v.build after each v.patch:

	for i in `g.mlist vect pattern="overlay_*"`; do
		v.patch -a -e input=$i output=patch --overwrite
		v.build patch
	done

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-user mailing list