[GRASS-user] v.edit break ERROR: Attempt to delete dead feature
achim
ak7 at jupiter.uni-freiburg.de
Tue Aug 18 12:20:37 EDT 2009
> **************
> ## update network table with start,end point cats
> ## takes a long time!!!
> v.net -c --overwrite input=$1 operation=report > line_end_cats.txt
> while read line; do
> cat=$(echo $line | cut -d' ' -f1)
> start=$(echo $line | cut -d' ' -f2)
> end=$(echo $line | cut -d' ' -f3)
> ## update network table, line layer
> sqlite3 /home/achim/grass/sqlite_db "UPDATE $1
> SET start=$start,end=$end WHERE cat = $cat;"
> done < line_end_cats.txt
> ++++++++++++++++++++
>
>
> Can't you do this with v.to.db option=start / end ? Don't know if this
> is faster, though...
it would be faster, but v.to.db option=start/end just update the
coordinate (x,y).
then two double values instead of one integer will have to be compared
>
> In any case, you can probably speed it up by putting all your SQL
> statements into a file and then executing sqlite on that file outside
> the loop. Database connections always create quite a lot of overhead.
right, good idea. Another possibility would be to make a table from
"v.net -c --overwrite input=$1 operation=report" and make the update
with one sql statement. ...but its just a workaround and not a final
version ;-).
Achim
More information about the grass-user
mailing list