Provided by: grass-doc_6.4.3-3_all bug

NAME

       v.to.db  - Populates database values from vector features.

KEYWORDS

       vector, database, attribute table

SYNOPSIS

       v.to.db
       v.to.db help
       v.to.db  [-psc]  map=name  [type=string[,string,...]]   [layer=integer]   [qlayer=integer]  option=string
       [units=string]   [columns=name[,name,...]]   [qcolumn=name]   [--verbose]  [--quiet]

   Flags:
       -p
           Print only

       -s
           Only print SQL statements

       -c
           In print mode prints totals for options: length,area,count

       --verbose
           Verbose module output

       --quiet
           Quiet module output

   Parameters:
       map=name
           Name of input vector map

       type=string[,string,...]
           Feature type
           For coor valid point/centroid, for length valid line/boundary
           Options: point,line,boundary,centroid
           Default: point,line,boundary,centroid

       layer=integer
           Layer number (write to)
           A single vector map can be connected to multiple database tables. This number determines which  table
           to use.
           Default: 1

       qlayer=integer
           Query layer number (read from)
           A  single vector map can be connected to multiple database tables. This number determines which table
           to use.
           Default: 1

       option=string
           Value to upload
           Options: cat,area,compact,fd,perimeter,length,count,coor,start,end,sides,query,slope,sinuous,azimuth
           cat: insert new row for each category if doesn't exist yet
           area: area size
           compact: compactness of an area, calculated as compactness = perimeter / (2 * sqrt(PI * area))
           fd: fractal dimension of boundary defining a polygon, calculated  as  fd  =  2  *  (log(perimeter)  /
           log(area))
           perimeter: perimeter length of an area
           length: line length
           count: number of features for each category
           coor: point coordinates, X,Y or X,Y,Z
           start: line/boundary starting point coordinates, X,Y or X,Y,Z
           end: line/boundary end point coordinates, X,Y or X,Y,Z
           sides:  categories  of  areas  on  the left and right side of the boundary, 'qlayer' is used for area
           category
           query: result of a database query for all records of the geometry(or geometries) from table specified
           by 'qlayer' option
           slope: slope steepness of vector line or boundary
           sinuous: line sinuousity, calculated as line length / distance between end points
           azimuth: line azimuth, calculated as angle between North direction and endnode direction at startnode

       units=string
           Units
           mi(les),f(eet),me(ters),k(ilometers),a(cres),h(ectares),r(adians),d(egrees)
           Options: mi,miles,f,feet,me,meters,k,kilometers,a,acres,h,hectares,r,radians,d,degrees

       columns=name[,name,...]
           Name of attribute column(s)

       qcolumn=name
           Name of attribute column used for 'query' option
           E.g. 'cat', 'count(*)', 'sum(val)'

DESCRIPTION

       v.to.db loads vector map features or metrics into a database table, or prints them (or  the  SQL  queries
       used  to  obtain them) in a form of a human-readable report. For uploaded/printed category values ’-1' is
       used for 'no category' and 'null'/'-' if category cannot be found or multiple categories were found.  For
       line azimuths '-1' is used for closed lines (start equals end).

NOTES

       The units miles, feet, meters and kilometers are square for option=area.

       Feet  and  acre  units are always reported in their common versions (i.e. the International Foot, exactly
       5280 feet in a mile), even when the location's standard map unit is the US Survey foot.

       When calculating perimeters in Latitude-Longitude locations, the geodesic distance between  the  vertices
       is used.

       When  using  option=coor on a vector area map, only coordinates of centroids with unique category will be
       reported.

       Line azimuth is calculated as angle from the North direction to the line endnode direction  at  the  line
       statnode.  By  default it's reported in decimal degrees (0-360, CW) but it also may be repored in radians
       with unit=radians. Azimuth value -1 is used to report closed line with it's startnode and  endnode  being
       in same place. Azimuth values make sense only if every vector line has only one entry in database (unique
       CAT value).

       If  the  module  is  apparently  slow  and  the  map  attributes  are  stored in an external DBMS such as
       PostgreSQL, it is highly recommended to create an index on the key (category) column.

       Uploading the vector map attributes to a database requires a table  attached  to  a  given  input  vector
       layer.  The  print  only  (-p)  mode doesn't require a table. Use db.execute or v.db.addtable to create a
       table if needed.

       Updating the table has to be done column-wise. The column must be present in the table, except when using
       the print only (-p) mode. Use db.execute or v.db.addcol to add new columns if needed.

EXAMPLES

   Updating attribute tables
       Upload category numbers to attribute table (used for new map):

       v.to.db map=soils type=centroid option=cat

       Upload polygon areas to corresponding centroid record in the attribute table:

       v.to.db map=soils type=centroid option=area col=area_size unit=h

       Upload line lengths (in meters) of each vector line to attribute table (use v.category in case of missing
       categories):

       v.to.db map=roads option=length type=line col=linelength units=me

       Upload x and y coordinates from vector geometry to attribute table:

       v.to.db map=pointsmap option=coor col=x,y

       Upload x, y and z coordinates from vector geometry to attribute table:

       v.to.db map=pointsmap option=coor col=x,y,z

       Transfer attributes from a character column (with numeric contents) to a new integer column:

       v.db.addcol usa_income_employment2002 col="FIPS_NUM integer"
       v.to.db usa_income_employment2002 option=query col=FIPS_NUM qcol=STATE_FIPS

       Upload category numbers of left and right area, to an attribute table of boundaries common for the areas:

       # add categories for boundaries of the input vector map, in layer 2:
       v.category soils out=mysoils layer=2 type=boundary option=add
       # add a table with columns named "left" and "right" to layer 2 of the input
       # vector map:
       v.db.addtable mysoils layer=2 col="left integer,right integer"
       # upload categories of left and right areas:
       v.to.db mysoils option=sides col=left,right layer=2
       # display the result:
       v.db.select mysoils layer=2

       Compute DL, the Fractal Dimension (Mandelbrot, 1982), of the boundary defining a  polygon  based  on  the
       formula:
       D = 2 * (log perimeter) / (log area):

       g.copy vect=soils,mysoils
       v.db.addcol mysoils col="d double precision"
       v.to.db mysoils option=fd column="d"
       g.region vect=mysoils res=50
       v.to.rast in=mysoils out=soils_fd type=area use=attr column=d
       r.colors map=soils_fd color=gyr
       d.mon x0
       d.rast.leg soils_fd
       d.vect mysoils type=boundary

   Printing reports
       Report x,y,z coordinates of points in the input vector map:

       v.to.db -p bugsites option=coor type=point
        Report all area sizes of the input vector map:

       v.to.db -p soils option=area type=boundary units=h

       Report  all area sizes of the input vector map, in hectares, sorted by category number (requires GNU sort
       utility installed):

       v.to.db -p soils option=area type=boundary units=h | sort -n

       Report all line lengths of the input vector map, in kilometers:

       v.to.db -p roads option=length type=line units=k

       Report number of features for each category in the input vector map:

       v.to.db -p roads option=count type=line

SEE ALSO

        d.what.vect, db.execute, v.category, v.db.addtable,  v.db.addcol,  v.db.connect,  v.distance,  v.report,
       v.univar, v.what

REFERENCES

       Mandelbrot,  B.  B. (1982). The fractal geometry of nature. New York: W. H. Freeman.  Xu, Y. F. & Sun, D.
       A. (2005). Geotechnique 55, No. 9, 691-695

AUTHOR

       Radim Blazek, ITC-irst, Trento, Italy
       Line sinuousity implemented by Wolf Bergenheim

       Last changed: $Date: 2011-11-08 03:29:50 -0800 (Tue, 08 Nov 2011) $

       Full index

       © 2003-2013 GRASS Development Team

GRASS 6.4.3                                                                                      v.to.db(1grass)