[GRASS-user] Issues in v.distance and v.overlay

Richard Chirgwin rchirgwin at ozemail.com.au
Sat Jan 30 20:40:25 EST 2010


Hi all,

In running some largish vector calculations that involved calculating 
population, using areas overlaid with Australian Census Collection 
districts (which have up to 12,000 areas), I've noticed a couple of 
issues with the above modules.

v.overlay - Is leaving a lot of "orphan" lines ("incorrect boundaries") 
when a large map is overlaid with a much smaller map. This doesn't 
affect calculation much, but it does affect display.

If I were only working with a few target areas, I could use v.digit to 
correct the result, but with a large and complex map the job is rather 
daunting!


v.distance - when using the -a option (measure distance to all areas in 
boundary), it cannot create the database table for to_attr outputs.

example from Spearfish:


> v.distance from=bugsites from_type=point to=archsites to_type=point -a 
> upload=dist,to_attr column=dist,character to_column=str1 table=test2
>  100%
>  100%
> DBMI-DBF driver error:
> Column 'dist' already exists (duplicate name)
> Cannot create table.
> Error in db_execute_immediate()
>
> ERROR: Unable to create table: 'create table test2 (from_cat integer, dist
>        double precision, dist double precision )'
>

or, if I alter the column order:

> v.distance from=bugsites from_type=point to=archsites to_type=point -a 
> upload=to_attr,dist column=character,distance to_column=str1 table=test2
>  100%
>  100%
> DBMI-DBF driver error:
> SQL parser error: syntax error, unexpected ',', expecting NAME 
> processing ','
> in statement:
> create table test2 (from_cat integer, , distance double precision )
> Error in db_execute_immediate()
>
> ERROR: Unable to create table: 'create table test2 (from_cat integer, ,
>        distance double precision )'

Cheers,
Richard Chirgwin


More information about the grass-user mailing list