Example #1
0
    port = 'COM5'
    if len(sys.argv) > 4:
        port = sys.argv[4]
    iface = SerialIface("test", port)
    # set output file name
    fn = 'measmtrx.txt'
    if len(sys.argv) > 5:
        fn = sys.argv[5]
    # write out measurements
    wrt = FileWriter(angle='DEG', dist='.3f', fname=fn)
    if wrt.GetState() != wrt.WR_OK:
        sys.exit(-1)  # open error
    ts = TotalStation(stationtype, mu, iface, wrt)
    ts.SetATR(0)  # turn ATR off
    ts.SetEDMMode('RLSTANDARD')  # reflectorless distance measurement
    ts.SetRedLaser(1)  # turn red laser on

    w = raw_input("Target on lower left corner and press Enter")
    w1 = ts.GetAngles()
    w = raw_input("Target on upper right corner and press Enter")
    w2 = ts.GetAngles()

    dh = (w2['hz'].GetAngle() - w1['hz'].GetAngle()) / dh_nr
    dv = (w2['v'].GetAngle() - w1['v'].GetAngle()) / dv_nr
    # measurement loops
    for i in range(dh_nr + 1):  # horizontal loop
        measdir = i % 2  # check modulo
        hz = Angle(w1['hz'].GetAngle() + i * dh, 'RAD')
        for j in range(dv_nr + 1):  # vertical loop
            if measdir == 0:
                # move downward at odd steps to right
Example #2
0
        mode='a',
        sep=';')
    ts = TotalStation(stationtype, mu, iface)
    ts.SetEDMMode('RLSTANDARD')  # reflectorless distance measurement
    ts.Measure()  # initial measurement for startpoint
    startp = ts.GetMeasure()
    if ts.measureIface.state != ts.measureIface.IF_OK or 'errorCode' in startp:
        print 'FATAL Cannot measure startpoint'
        exit(1)

    act = Angle(0)  # actual angle from startpoint
    # height of startpoint above the horizontal axis
    height0 = math.cos(startp['v'].GetAngle()) * startp['distance']
    w = True
    try:
        ts.SetRedLaser(1)
    except:
        pass
    while act.GetAngle() < maxa:  # go around the whole circle
        ts.Measure()  # measure distance0
        if ts.measureIface.state != ts.measureIface.IF_OK:
            ts.measureIface.state = ts.measureIface.IF_OK
            ts.MoveRel(stepinterval, Angle(0))
            continue
        nextp = ts.GetMeasure()  # get observation data
        if ts.measureIface.state != ts.measureIface.IF_OK:
            ts.measureIface.state = ts.measureIface.IF_OK
            ts.MoveRel(stepinterval, Angle(0))
            continue

        if not 'v' in nextp or not 'distance' in nextp or not 'hz' in nextp: