compass bearing from vector

From grass-lists-owner@moon.cecer.army.mil Thu Jul 20 11:11:30 1995
Date: Thu, 20 Jul 95 11:42:28 MDT
From: kelly@eos.icess.ucsb.edu (Kelly Elder)
Sender: grass-lists-owner@moon.cecer.army.mil
Reply-To: grassu-list@moon.cecer.army.mil
To: grassu-list@max.cecer.army.mil
Subject: compass bearing from vector
Cc: kelly@eos.icess.ucsb.edu
Content-Length: 994

requesting help for netless friend:

a colleague has a file of coordinates for start and stop x,y's
for a number of lines. she wants a shell script that gives
her back compass bearings (what i call azimuths) for each pair
of coordinates.

given:
  x1 y1 X1 Y1
  x2 y2 X2 Y2
  x3 y3 X3 Y3
  -- -- -- --
  -- -- -- --
  xN yN XN YN

she wants:

  x1 y1 X1 Y1 12
  x2 y2 X2 Y2 272
  x3 y3 X3 Y3 315
  -- -- -- -- --
  -- -- -- -- --
  xN yN XN YN 52

better yet, would be a mouse program that lets her click on a
given displayed vector and produces an azimuth for the line
of choice.

seems the shell script would be simple to write in awk, but i
don't have the time. seems the mouse program would be a pain
to write and i don't have the ability. i would guess it has
already been done, or is part of the military grass modules.
seems like the bazooka folks would want this capability too.

please send any possibilities to me at:

  kelly@icess.ucsb.edu

thanks for your time!

kelly

Kelly:

This may be a starting point with awk:

awk '{printf "%s %.8f \n",$0,(atan2(($4 - $2),($3 - $1))) * 180 /3.1415926535897}' infile >outfile

Regards

Alejandro Hinojosa
Research Associate
Earth Sciences Division
CICESE (Centro de Investigacion Cientifica y Educacion Superior de Ensenada)
Ensenada, Baja California, Mexico.

Mailing address: P.O. Box 434843
                 San Diego Ca. 92143-4843
voice; (01152)6174-4501 to 08 fax:(01152)6174-4933
email: alhinc@cicese.mx (158.97.1.33)