#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
#//#
# This program creates (writes to the standard output)
# input file for robot.tcl from points at given coordinates
# @param station station name in coordinate list
# @param coo_file coordinate list in GeoEasy form
# @param faces faces to measure
# @param debuglevel
#
#
Ulyses - an open source project to drive total stations and
# publish observation results
# GPL v2.0 license
# Copyright (C) 2013 Zoltan Siki
# @author Zoltan Siki
# @version 1.0
#//#
source global.tcl
source common.tcl
global argv argc
global coo
set usage "Usage coo2geo.tcl station coo_file "
if {$argc < 2 } {
puts $usage
return
}
if {[LoadCoo [lindex $argv 1]]} {
puts "Error in input file, line: $w"
exit 1
}
set stat [lindex $argv 0]
if {[info exists coo($stat)] == 0} {
puts "Station not found in coordinate file"
exit 1
}
set faces 1
if {$argc > 2} {
set faces [lindex $argv 2]
}
set debuglevel 0
if {$argc > 3} {
set debuglevel [lindex $argv 3]
}
# calculate bearings and zenith angles
puts "{2 $stat} {3 0}"
foreach pn [array names coo] {
if {$stat == $pn} { continue }
set dist [Distance [GetVal 38 $coo($stat)] [GetVal 37 $coo($stat)] [GetVal 38 $coo($pn)] [GetVal 37 $coo($pn)]]
set bear [Bearing [GetVal 38 $coo($stat)] [GetVal 37 $coo($stat)] [GetVal 38 $coo($pn)] [GetVal 37 $coo($pn)]]
set dh [expr {[GetVal 39 $coo($pn)] - [GetVal 39 $coo($stat)]}]
set za [expr {atan2($dist, $dh)}]
puts "{5 $pn} {7 $bear} {8 $za} {11 $dist} {112 $faces}"
}