#!/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}" }