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

NAME

       m.cogo  - A simple utility for converting bearing and distance measurements to coordinates
       and vice versa.
       It assumes a cartesian coordinate system

KEYWORDS

       miscellaneous, distance

SYNOPSIS

       m.cogo
       m.cogo help
       m.cogo [-lqr]  [input=name]   [output=name]   [coord=x,y]   [--verbose]  [--quiet]

   Flags:
       -l
           Lines are labelled

       -q
           Suppress warnings

       -r
           Convert from coordinates to bearing and distance

       --verbose
           Verbose module output

       --quiet
           Quiet module output

   Parameters:
       input=name
           Name of input file
           Default: -

       output=name
           Name for output file
           Default: -

       coord=x,y
           Starting coordinate pair
           Default: 0.0,0.0

DESCRIPTION

       m.cogo converts data points between bearing and distance and X,Y coordinates.  Only simple
       bearing/distance  or  coordinate  pairs  are  handled.  It  assumes a cartesian coordinate
       system.

       Input can be entered via standard input (default) or from the file input=name.  Specifying
       the  input  as "-" also specifies standard input, and is useful for using the program in a
       pipeline.  Output will be to standard  output  unless  a  file  name  other  than  "-"  is
       specified.   The  input file must closely adhere to the following format, where up to a 10
       character label is allowed but not required (see -l flag).

       Example COGO input:
          P23 N 23:14:12 W 340
          P24 S 04:18:56 E 230
          ...

       The first column may contain a label and you must use the -l flag so  the  program  knows.
       This  is followed by a space, and then either the character 'N' or 'S' to indicate whether
       the bearing is relative to the north or south directions.  After another space, the  angle
       begins  in  degrees, minutes, and seconds in "DDD:MM:SS.SSSS" format. Generally, the angle
       can be of the form digits + separator + digits + separator + digits [+ '.' +  digits].   A
       space follows the angle, and is then followed by either the 'E' or 'W' characters. A space
       separates the bearing from the distance (which should be in appropriate linear units).

       Output of the above input:
          -134.140211 312.420236 P23
          -116.832837 83.072345 P24
          ...

       Unless specified with the coord option, calculations begin from (0,0).

       For those unfamiliar with the notation for bearings: Picture yourself in the center  of  a
       circle.   The  first  hemispere  notation tell you whether you should face north or south.
       Then you read the angle and either turn that many degrees to the east or  west,  depending
       on  the  second hemisphere notation.  Finally, you move  units in that direction to get to
       the next station.  m.cogo can be  run  either  non-interactively  or  interactively.   The
       program  will  be  run  non-interactively if the user specifies any parameter or flag. Use
       "m.cogo -", to run the program in a pipeline.  Without any  flags  or  parameters,  m.cogo
       will prompt for each value using the familiar GRASS parser interface.

NOTES

       This  program  is  very  simplistic,  and will not handle deviations from the input format
       explained above.  Currently, the program doesn't do anything particularly useful with  the
       output.   However,  it  is  envisioned  that  this program will be extended to provide the
       capability to generate vector and/or sites layers.

EXAMPLE


          m.cogo -l in=cogo.dat
        Where the cogo.dat input file looks like:
       # Sample COGO input file -- This defines an area.
       # <label> <bearing> <distance>
       P001 S 88:44:56 W 6.7195
       P002 N 33:34:15 W 2.25
       P003 N 23:23:50 W 31.4024
       P004 N 05:04:45 W 25.6981
       P005 N 18:07:25 E 22.2439
       P006 N 27:49:50 E 75.7317
       P007 N 22:56:50 E 87.4482
       P008 N 37:45:15 E 37.7835
       P009 N 46:04:30 E 11.5854
       P010 N 90:00:00 E 8.8201
       P011 N 90:00:00 E 164.1128
       P012 S 48:41:12 E 10.1311
       P013 S 00:25:50 W 255.7652
       P014 N 88:03:13 W 98.8567
       P015 S 88:44:56 W 146.2713
       P016 S 88:44:56 W 18.7164
        Round trip:
          m.cogo -l in=cogo.dat | m.cogo -rl in="-"
        Import as a vector points map:
          m.cogo -l in=cogo.dat | v.in.ascii out=cogo_points x=1 y=2 fs=space
        Shell script to import as a vector line map:
           m.cogo -l in=cogo.dat | tac | awk '
              BEGIN { FS=" " ; R=0 }
              $1~/\d*\.\d*/ { printf(" %.8f %.8f\n", $1, $2) ; ++R }
              END { printf("L %d\n", R) }' | tac | \
              v.in.ascii -n format=standard out=cogo_line
        Unclosed lines may be snapped with v.clean, converted  to  boundaries  with  v.type,  and
       closed boundaries may be converted to areas with v.centroids.

SEE ALSO

        v.centroids, v.clean, v.digit, v.in.ascii, v.type

AUTHOR

       Eric G. Miller

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

       Full index

       © 2003-2013 GRASS Development Team