Provided by: grass-doc_7.6.1-3_all bug

NAME

       v.lrs.create  - Creates a linear reference system.

KEYWORDS

       vector, linear reference system, network

SYNOPSIS

       v.lrs.create
       v.lrs.create --help
       v.lrs.create   in_lines=name   out_lines=name   [err=name]   points=name   [llayer=string]
       [player=string]   lidcol=string  pidcol=string    [start_mp=string]     [start_off=string]
       [end_mp=string]        [end_off=string]        [rsdriver=string]       [rsdatabase=string]
       rstable=string   [threshold=float]    [--overwrite]   [--help]    [--verbose]    [--quiet]
       [--ui]

   Flags:
       --overwrite
           Allow output files to overwrite existing files

       --help
           Print usage summary

       --verbose
           Verbose module output

       --quiet
           Quiet module output

       --ui
           Force launching GUI dialog

   Parameters:
       in_lines=name [required]
           Name of input vector map
           Input vector map containing lines

       out_lines=name [required]
           Output vector map where oriented lines are written

       err=name
           Output vector map of errors

       points=name [required]
           Name of input vector map
           Input vector map containing reference points

       llayer=string
           Layer number or name
           Line layer
           Default: 1

       player=string
           Layer number or name
           Point layer
           Default: 1

       lidcol=string [required]
           Column containing line identifiers for lines

       pidcol=string [required]
           Column containing line identifiers for points

       start_mp=string
           Column containing milepost position for the beginning of next segment
           Default: start_mp

       start_off=string
           Column containing offset from milepost for the beginning of next segment
           Default: start_off

       end_mp=string
           Column containing milepost position for the end of previous segment
           Default: end_mp

       end_off=string
           Column containing offset from milepost for the end of previous segment
           Default: end_off

       rsdriver=string
           Driver name for reference system table
           Options: dbf, mysql, odbc, ogr, pg, sqlite
           Default: sqlite

       rsdatabase=string
           Database name for reference system table
           Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db

       rstable=string [required]
           Name of table where the reference system will be written
           New table is created by this module

       threshold=float
           Maximum distance of point to line allowed
           Default: 1

DESCRIPTION

       v.lrs.create generates a LRS (Linear Reference System) from vector line and point data.

       It  is  highly  recommended  to work with polylines instead of segmented vector lines. The
       command v.build.polylines creates this map structure.

NOTES

       The mileposts (point) vector map columns start_mp, start_off, end_mp, end_off must  be  of
       ’double  precision’  type.  For  milepost  ordering,  it is sufficient to enter increasing
       numbers into the start_mp column indicating the order along the vector line.

       The lidcol and pidcol columns contain the line  IDs  which  relate  mileposts  and  vector
       line(s) to each other.

       When creating a LRS with this module, any existing rstable will be replaced.

EXAMPLE

       This example is written for the Spearfish dataset.

       As first step, bus route data are prepared.
       # break into segments for correct route selection
       v.clean roads_net out=busroute_tmp tool=break
       # make polyline for easier line selection by coordinate pairs
       v.build.polylines busroute_tmp out=busroute_tmp2
       # reverse delete: reduce route map to bus route (enter in one line)
       v.edit -r busroute_tmp2 tool=delete coords=590273,4927304,\
       590346,4927246,590414,4927210,590438,4927096,590468,4926966,\
       590491,4926848,590566,4926798,590637,4926753,590701,4926698,\
       590830,4926726,590935,4926751,590993,4926830,590972,4926949,\
       590948,4927066,590922,4927182,590957,4927251 threshold=5
       # vector line needs to be polyline
       v.build.polylines busroute_tmp2 out=busroute_tmp3
       v.category busroute_tmp3 out=busroute op=add
       g.remove -f type=vector name=busroute_tmp,busroute_tmp2,busroute_tmp3
       The result can be visualized:
       g.region vector=busroute n=n+100 s=s-100 w=w-100 e=e+100
       d.mon x0
       d.vect roads_net
       d.vect busroute col=red width=2
       The  vector  map  ’busroute’ needs have an attribute table which contain an integer column
       lidcol with value be ’22’ for this example (bus route):
       v.db.addtable busroute col="lid integer"
       v.db.update busroute col=lid value=22
       v.db.select busroute
       cat|lid
       1|22
       A new point map ’busstops’ shall contain mileposts (bus stops) along this line (use thresh
       to define maximal accepted deviation from this line):
       # generate points map
       echo "590263|4927361
       590432|4927120
       590505|4926776
       590660|4926687
       590905|4926742
       590972|4926949
       591019|4927263" | v.in.ascii out=busstops
       d.vect busstops icon=basic/triangle col=blue
       d.vect busstops disp=cat lcol=blue
       The milepost attributes table needs to be created with specific columns:
       v.db.addtable busstops col="lid integer, start_mp double precision, \
                   start_off double precision, end_mp double precision, \
                   end_off double precision"
       v.db.update busstops col=lid value=22
       Since  the  digitizing  order  of  v.in.ascii  above reflects the bus stop order along the
       route, we can simply copy the category number as milepost order number in column start_mp:
       v.db.update busstops col=start_mp qcol=cat
       # verify table
       v.db.select busstops
       cat|lid|start_mp|start_off|end_mp|end_off
       1|22|1|||
       2|22|2|||
       3|22|3|||
       4|22|4|||
       5|22|5|||
       6|22|6|||
       7|22|7|||
       # visualize with start_mp to check order
       d.erase
       d.vect roads_net
       d.vect busroute col=red width=2
       d.vect busstops icon=basic/triangle col=blue
       d.vect busstops disp=attr attrcol=start_mp lcol=blue
       Offsets (start_off, end_off) can be  later  used  in  case  the  route  or  mileposts  get
       modified.

       As second step, the linear reference network is created:
       v.lrs.create busroute points=busstops out=route_lrs err=lrs_error \
                    lidcol=lid pidcol=lid rstable=route_lrs threshold=50
       This creates the maps ’route_lrs’ containing the LRS and ’lrs_error’ containing the errors
       if any. The resulting LRS table and map can be shown:
       # show LRS table
       db.select table=route_lrs
       d.vect route_lrs col=blue width=2

SEE ALSO

       LRS tutorial,
       Introducing the Linear Reference System in GRASS,

       v.build.polylines, v.lrs.segment, v.lrs.where, v.lrs.label

AUTHOR

       Radim Blazek, ITC-irst/MPA Solutions
       Documentation update (based on above journal  article  and  available  fragments):  Markus
       Neteler

       Last changed: $Date: 2015-12-17 15:38:13 +0100 (Thu, 17 Dec 2015) $

SOURCE CODE

       Available at: v.lrs.create source code (history)

       Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

       © 2003-2019 GRASS Development Team, GRASS GIS 7.6.1 Reference Manual