From c4eb1c2ea3c371a6570e7e8647501459bd4c9472 Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Tue, 9 Apr 2019 15:24:37 +1000 Subject: [PATCH 01/12] Additional functionality for surveyconvert - get standard deviation parameters from config (*.gpy) file - add slope distance ppm standard deviation formula - update test suite resources to incorporate new changes - new test for gsi2msr with no config file --- geodepy/surveyconvert/classtools.py | 1 + geodepy/surveyconvert/config.py | 14 + geodepy/surveyconvert/dna.py | 46 +- geodepy/surveyconvert/fbk.py | 12 +- geodepy/surveyconvert/gsi.py | 13 +- geodepy/tests/resources/ST0618HZ.gpy | 6 + geodepy/tests/resources/ST0618HZ.msr | 516 +++++++++--------- geodepy/tests/resources/ST0618HZ_noconfig.msr | 259 +++++++++ geodepy/tests/resources/Site13-134.gpy | 8 +- geodepy/tests/resources/Site13-134.msr | 178 +++--- geodepy/tests/test_surveyconvert.py | 14 + 11 files changed, 687 insertions(+), 380 deletions(-) create mode 100644 geodepy/tests/resources/ST0618HZ_noconfig.msr diff --git a/geodepy/surveyconvert/classtools.py b/geodepy/surveyconvert/classtools.py index 496633b..03373ce 100644 --- a/geodepy/surveyconvert/classtools.py +++ b/geodepy/surveyconvert/classtools.py @@ -109,6 +109,7 @@ def changeface(self): self.hz_obs, self.vert_dist) + def meanfaces(ob1, ob2): """ Take two Observations and return their mean Face Left Sense Observation diff --git a/geodepy/surveyconvert/config.py b/geodepy/surveyconvert/config.py index 3ec948d..80ee40a 100644 --- a/geodepy/surveyconvert/config.py +++ b/geodepy/surveyconvert/config.py @@ -79,3 +79,17 @@ def first_vel_cfg(cfg_list): return wavelength, temperature, pressure, rel_humidity else: return None + + +def stdev_cfg(cfg_list): + # Find Survey Apriori Standard Deviations in cfg_list + for group in cfg_list: + group_header = group[0].lower() + if group_header.startswith('standard dev'): + stdev_angular = float(group[1]) + stdev_pointing = float(group[2]) + stdev_distconst = float(group[3]) + stdev_distppm = float(group[4]) + return stdev_angular, stdev_pointing, stdev_distconst, stdev_distppm + else: + return None diff --git a/geodepy/surveyconvert/dna.py b/geodepy/surveyconvert/dna.py index e42ec01..cd7055b 100644 --- a/geodepy/surveyconvert/dna.py +++ b/geodepy/surveyconvert/dna.py @@ -9,7 +9,7 @@ from geodepy.convert import dd2sec -def dnaout_dirset(obslist, same_stdev=True, stdev=1, pointing_err=0.001): +def dnaout_dirset(obslist, same_stdev=True, stdev_angular=1, stdev_pointing=0.001): # Test for Single Observation if len(obslist) < 2: return [] @@ -33,7 +33,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev=1, pointing_err=0.001): + str('%02d' % obslist[0].hz_obs.minute) + ' ' + str('{:.3f}'.format(obslist[0].hz_obs.second).rjust(6, '0').ljust(8)) - + ('{:.4f}'.format(stdev))) # add standard deviation + + ('{:.4f}'.format(stdev_angular))) # add standard deviation dnaobs.append(line1) # create other lines using range(1:) for num in range(1, len(obslist)): @@ -45,15 +45,15 @@ def dnaout_dirset(obslist, same_stdev=True, stdev=1, pointing_err=0.001): + str('%02d' % obslist[num].hz_obs.minute) + ' ' + str('{:.3f}'.format(obslist[num].hz_obs.second).rjust(6, '0').ljust(8)) - + ('{:.4f}'.format(stdev))) # add standard deviation + + ('{:.4f}'.format(stdev_angular))) # add standard deviation dnaobs.append(line) else: # calc stdev for first ob if obslist[0].sd_obs == 0: - stdev_pt = stdev + stdev_pt = stdev_angular else: - pointing_err_pt = dd2sec(degrees(atan(pointing_err / obslist[0].sd_obs))) - stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev ** 2))) + pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / obslist[0].sd_obs))) + stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2))) # create first line using obslist[0] line1 = ('D ' + obslist[0].from_id.ljust(20) @@ -69,10 +69,10 @@ def dnaout_dirset(obslist, same_stdev=True, stdev=1, pointing_err=0.001): # create other lines using range(1:) for num in range(1, len(obslist)): if obslist[num].sd_obs == 0: # keep - stdev_pt = stdev + stdev_pt = stdev_angular else: - pointing_err_pt = dd2sec(degrees(atan(pointing_err / obslist[num].sd_obs))) - stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev ** 2))) + pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / obslist[num].sd_obs))) + stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2))) line = ('D ' + ''.ljust(40) + obslist[num].to_id.ljust(20) @@ -86,7 +86,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev=1, pointing_err=0.001): return dnaobs -def dnaout_sd(obslist, stdev=0.001): +def dnaout_sd(obslist, stdev_distconst=0.001, stdev_distppm=1): dnaobs = [] for observation in obslist: # Exclude slope distances of 0m @@ -99,14 +99,14 @@ def dnaout_sd(obslist, stdev=0.001): + ''.ljust(19) + ('{:.4f}'.format(observation.sd_obs)).rjust(9) + ''.ljust(21) - + ('{:.4f}'.format(stdev)).ljust(8) # add standard deviation - + str(observation.inst_height).ljust(7) # add intrument height - + ('{:.3f}'.format(observation.target_height))) + + ('{:.4f}'.format(stdev_distconst + ((stdev_distppm/1000000) * observation.sd_obs))).ljust(8) + + ('{:.4f}'.format(observation.inst_height).ljust(7)) + + ('{:.4f}'.format(observation.target_height))) dnaobs.append(line) return dnaobs -def dnaout_va(obslist, same_stdev=True, stdev=1, pointing_err=0.001): +def dnaout_va(obslist, same_stdev=True, stdev=1, stdev_pointing=0.001): dnaobs = [] if same_stdev: for observation in obslist: @@ -115,14 +115,12 @@ def dnaout_va(obslist, same_stdev=True, stdev=1, pointing_err=0.001): + observation.from_id.ljust(20) + observation.to_id.ljust(20) + ''.ljust(34) - + str(observation.va_obs.degree).rjust(3) - + ' ' - + str(observation.va_obs.minute).rjust(2, '0') - + ' ' + + str(observation.va_obs.degree).rjust(3) + ' ' + + str(observation.va_obs.minute).rjust(2, '0') + ' ' + ('{:.3f}'.format(observation.va_obs.second).rjust(6, '0')).ljust(8) - + ('{:.4f}'.format(stdev)).ljust(8) # add standard deviation - + ('{:.3f}'.format(observation.inst_height)).ljust(7) # add intrument height - + ('{:.3f}'.format(observation.target_height))) + + ('{:.4f}'.format(stdev)).ljust(8) + + ('{:.4f}'.format(observation.inst_height)).ljust(7) + + ('{:.4f}'.format(observation.target_height))) dnaobs.append(line) else: for observation in obslist: @@ -131,7 +129,7 @@ def dnaout_va(obslist, same_stdev=True, stdev=1, pointing_err=0.001): if observation.sd_obs == 0: stdev_pt = stdev else: - pointing_err_pt = dd2sec(degrees(atan(pointing_err / observation.sd_obs))) + pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / observation.sd_obs))) stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev ** 2))) # Format Line line = ('V ' @@ -144,7 +142,7 @@ def dnaout_va(obslist, same_stdev=True, stdev=1, pointing_err=0.001): + ' ' + str(('{:.3f}'.format(observation.va_obs.second).rjust(6, '0')).ljust(8)) + stdev_pt[0:5].ljust(8) # add standard deviation - + ('{:.3f}'.format(observation.inst_height)).ljust(7) # add intrument height - + ('{:.3f}'.format(observation.target_height))) + + ('{:.4f}'.format(observation.inst_height)).ljust(7) + + ('{:.4f}'.format(observation.target_height))) dnaobs.append(line) return dnaobs diff --git a/geodepy/surveyconvert/fbk.py b/geodepy/surveyconvert/fbk.py index 1b6c15f..c461e61 100644 --- a/geodepy/surveyconvert/fbk.py +++ b/geodepy/surveyconvert/fbk.py @@ -9,7 +9,7 @@ import numpy as np from geodepy.convert import DMSAngle from geodepy.survey import first_vel_params -from geodepy.surveyconvert.config import readconfig, renameobs, removeobs, first_vel_cfg +from geodepy.surveyconvert.config import readconfig, renameobs, removeobs, first_vel_cfg, stdev_cfg from geodepy.surveyconvert.classtools import Coordinate, InstSetup, Observation, reducesetup, first_vel_observations from geodepy.surveyconvert.dna import dnaout_dirset, dnaout_va, dnaout_sd @@ -35,6 +35,8 @@ def fbk2msr(path, cfg_path, strict=False, zerodist=False, same_stdev=False): fbk_project = removeobs(cfg, fbk_project) # Get First Velocity Correction Observations first_vel_obs = first_vel_cfg(cfg) + # Get Standard Deviation Parameters + stdev_params = stdev_cfg(cfg) # Reduce observations in setups for setup in fbk_project: reduced_obs = reducesetup(setup.observation, strict, zerodist) @@ -52,10 +54,12 @@ def fbk2msr(path, cfg_path, strict=False, zerodist=False, same_stdev=False): setup.observation = corrected_obs # Produce Measurement format data from setups msr_raw = [] + if stdev_params is None: + stdev_params = (1, 0.001, 0.001, 1) # Default standard deviation parameters for setup in fbk_project: - dna_dirset = dnaout_dirset(setup.observation, same_stdev) - dna_va = dnaout_va(setup.observation, same_stdev) - dna_sd = dnaout_sd(setup.observation) + dna_dirset = dnaout_dirset(setup.observation, same_stdev, stdev_params[0], stdev_params[1]) + dna_va = dnaout_va(setup.observation, same_stdev, stdev_params[0], stdev_params[1]) + dna_sd = dnaout_sd(setup.observation, stdev_params[2], stdev_params[3]) msr_raw.append(dna_dirset + dna_va + dna_sd) # Build msr header dircount = 0 diff --git a/geodepy/surveyconvert/gsi.py b/geodepy/surveyconvert/gsi.py index 22dccb8..fa25d3b 100644 --- a/geodepy/surveyconvert/gsi.py +++ b/geodepy/surveyconvert/gsi.py @@ -10,7 +10,7 @@ from datetime import datetime from geodepy.convert import DMSAngle from geodepy.survey import first_vel_params -from geodepy.surveyconvert.config import readconfig, renameobs, removeobs, first_vel_cfg +from geodepy.surveyconvert.config import readconfig, renameobs, removeobs, first_vel_cfg, stdev_cfg from geodepy.surveyconvert.classtools import Coordinate, InstSetup, Observation, reducesetup, first_vel_observations from geodepy.surveyconvert.dna import dnaout_dirset, dnaout_va, dnaout_sd @@ -32,8 +32,11 @@ def gsi2msr(path, cfg_path=None): gsi_project = removeobs(cfg, gsi_project) # Get First Velocity Correction Observations first_vel_obs = first_vel_cfg(cfg) + # Get Standard Deviation Parameters + stdev_params = stdev_cfg(cfg) else: first_vel_obs = None + stdev_params = None # Reduce observations in setups for setup in gsi_project: reduced_obs = reducesetup(setup.observation, strict=False, zerodist=False) @@ -51,10 +54,12 @@ def gsi2msr(path, cfg_path=None): setup.observation = corrected_obs # Produce Measurement format data from setups msr_raw = [] + if stdev_params is None: + stdev_params = (1, 0.001, 0.001, 1) # Default standard deviation parameters for setup in gsi_project: - dna_dirset = dnaout_dirset(setup.observation, same_stdev=False) - dna_va = dnaout_va(setup.observation, same_stdev=False) - dna_sd = dnaout_sd(setup.observation) + dna_dirset = dnaout_dirset(setup.observation, False, stdev_params[0], stdev_params[1]) + dna_va = dnaout_va(setup.observation, False, stdev_params[0], stdev_params[1]) + dna_sd = dnaout_sd(setup.observation, stdev_params[2], stdev_params[3]) msr_raw.append(dna_dirset + dna_va + dna_sd) # Build msr header dircount = 0 diff --git a/geodepy/tests/resources/ST0618HZ.gpy b/geodepy/tests/resources/ST0618HZ.gpy index 9d831d5..d41c82a 100644 --- a/geodepy/tests/resources/ST0618HZ.gpy +++ b/geodepy/tests/resources/ST0618HZ.gpy @@ -13,3 +13,9 @@ First Velocity Parameters 14 922.8 49.5 + +Standard Deviation Parameters +3 +0.003 +0.005 +20 diff --git a/geodepy/tests/resources/ST0618HZ.msr b/geodepy/tests/resources/ST0618HZ.msr index 5e74699..110ba1b 100644 --- a/geodepy/tests/resources/ST0618HZ.msr +++ b/geodepy/tests/resources/ST0618HZ.msr @@ -1,259 +1,259 @@ !#=DNA 3.01 MSR 01.01.2020 GDA94 01.01.2020 173 -D AU45 AU52 14 18 42 37.800 3.099 -D AU52 18 42 38.000 3.099 -D AU52 18 42 38.100 3.099 -D AU52 18 42 38.250 3.099 -D AU52 18 42 39.000 3.099 -D AU48 177 11 53.500 2.265 -D AU48 177 11 53.600 2.265 -D AU48 177 11 53.850 2.265 -D AU48 177 11 53.950 2.265 -D AU48 177 11 54.150 2.265 -D STR3 359 59 54.450 3.703 -D STR3 359 59 54.450 3.703 -D STR3 359 59 54.750 3.703 -D STR3 359 59 55.000 3.703 -D STR3 359 59 55.050 3.703 -V AU45 AU52 92 13 36.300 3.099 0.000 0.000 -V AU45 AU52 92 13 36.150 3.099 0.000 0.000 -V AU45 AU52 92 13 35.950 3.099 0.000 0.000 -V AU45 AU52 92 13 36.350 3.099 0.000 0.000 -V AU45 AU52 92 13 37.750 3.099 0.000 0.000 -V AU45 AU48 90 31 48.300 2.265 0.000 0.000 -V AU45 AU48 90 31 48.450 2.265 0.000 0.000 -V AU45 AU48 90 31 47.750 2.265 0.000 0.000 -V AU45 AU48 90 31 48.350 2.265 0.000 0.000 -V AU45 AU48 90 31 48.150 2.265 0.000 0.000 -V AU45 STR3 93 24 57.800 3.703 0.000 0.000 -V AU45 STR3 93 24 56.850 3.703 0.000 0.000 -V AU45 STR3 93 24 58.300 3.703 0.000 0.000 -V AU45 STR3 93 24 57.400 3.703 0.000 0.000 -V AU45 STR3 93 24 57.700 3.703 0.000 0.000 -S AU45 AU52 70.3146 0.0010 0.0 0.000 -S AU45 AU52 70.3146 0.0010 0.0 0.000 -S AU45 AU52 70.3147 0.0010 0.0 0.000 -S AU45 AU52 70.3146 0.0010 0.0 0.000 -S AU45 AU52 70.3146 0.0010 0.0 0.000 -S AU45 AU48 101.4457 0.0010 0.0 0.000 -S AU45 AU48 101.4460 0.0010 0.0 0.000 -S AU45 AU48 101.4459 0.0010 0.0 0.000 -S AU45 AU48 101.4461 0.0010 0.0 0.000 -S AU45 AU48 101.4460 0.0010 0.0 0.000 -S AU45 STR3 57.8489 0.0010 0.0 0.000 -S AU45 STR3 57.8487 0.0010 0.0 0.000 -S AU45 STR3 57.8488 0.0010 0.0 0.000 -S AU45 STR3 57.8486 0.0010 0.0 0.000 -S AU45 STR3 57.8488 0.0010 0.0 0.000 -D STR3 AU54 14 48 50 18.750 4.531 -D AU54 48 50 18.950 4.531 -D AU54 48 50 19.000 4.531 -D AU54 48 50 19.100 4.531 -D AU54 48 50 19.650 4.531 -D AU52 248 40 11.400 8.578 -D AU52 248 40 12.050 8.578 -D AU52 248 40 12.150 8.578 -D AU52 248 40 12.350 8.578 -D AU52 248 40 12.400 8.578 -D AU45 359 59 56.350 3.703 -D AU45 359 59 56.650 3.703 -D AU45 359 59 56.850 3.703 -D AU45 359 59 57.150 3.703 -D AU45 359 59 57.200 3.703 -V STR3 AU54 90 23 27.150 4.531 0.000 0.000 -V STR3 AU54 90 23 27.850 4.531 0.000 0.000 -V STR3 AU54 90 23 27.800 4.531 0.000 0.000 -V STR3 AU54 90 23 26.400 4.531 0.000 0.000 -V STR3 AU54 90 23 27.400 4.531 0.000 0.000 -V STR3 AU52 88 18 24.200 8.578 0.000 0.000 -V STR3 AU52 88 18 24.650 8.578 0.000 0.000 -V STR3 AU52 88 18 24.050 8.578 0.000 0.000 -V STR3 AU52 88 18 24.000 8.578 0.000 0.000 -V STR3 AU52 88 18 24.200 8.578 0.000 0.000 -V STR3 AU45 86 35 01.250 3.703 0.000 0.000 -V STR3 AU45 86 35 01.850 3.703 0.000 0.000 -V STR3 AU45 86 35 01.650 3.703 0.000 0.000 -V STR3 AU45 86 35 02.700 3.703 0.000 0.000 -V STR3 AU45 86 35 02.600 3.703 0.000 0.000 -S STR3 AU54 46.6719 0.0010 0.0 0.000 -S STR3 AU54 46.6719 0.0010 0.0 0.000 -S STR3 AU54 46.6719 0.0010 0.0 0.000 -S STR3 AU54 46.6718 0.0010 0.0 0.000 -S STR3 AU54 46.6718 0.0010 0.0 0.000 -S STR3 AU52 24.2088 0.0010 0.0 0.000 -S STR3 AU52 24.2087 0.0010 0.0 0.000 -S STR3 AU52 24.2087 0.0010 0.0 0.000 -S STR3 AU52 24.2087 0.0010 0.0 0.000 -S STR3 AU52 24.2087 0.0010 0.0 0.000 -S STR3 AU45 57.8486 0.0010 0.0 0.000 -S STR3 AU45 57.8487 0.0010 0.0 0.000 -S STR3 AU45 57.8487 0.0010 0.0 0.000 -S STR3 AU45 57.8486 0.0010 0.0 0.000 -S STR3 AU45 57.8488 0.0010 0.0 0.000 -D AU52 AU54 14 36 52 07.000 3.114 -D AU54 36 52 07.100 3.114 -D AU54 36 52 07.550 3.114 -D AU54 36 52 07.600 3.114 -D AU54 36 52 07.700 3.114 -D STR3 49 57 26.450 8.578 -D STR3 49 57 26.700 8.578 -D STR3 49 57 26.800 8.578 -D STR3 49 57 26.850 8.578 -D STR3 49 57 27.100 8.578 -D AU45 359 59 54.000 3.099 -D AU45 359 59 54.050 3.099 -D AU45 359 59 54.200 3.099 -D AU45 359 59 55.050 3.099 -D AU45 359 59 55.150 3.099 -V AU52 AU54 90 50 47.150 3.114 0.000 0.000 -V AU52 AU54 90 50 47.000 3.114 0.000 0.000 -V AU52 AU54 90 50 47.050 3.114 0.000 0.000 -V AU52 AU54 90 50 47.400 3.114 0.000 0.000 -V AU52 AU54 90 50 47.850 3.114 0.000 0.000 -V AU52 STR3 91 41 31.800 8.578 0.000 0.000 -V AU52 STR3 91 41 31.100 8.578 0.000 0.000 -V AU52 STR3 91 41 31.650 8.578 0.000 0.000 -V AU52 STR3 91 41 31.300 8.578 0.000 0.000 -V AU52 STR3 91 41 31.050 8.578 0.000 0.000 -V AU52 AU45 87 46 24.250 3.099 0.000 0.000 -V AU52 AU45 87 46 24.500 3.099 0.000 0.000 -V AU52 AU45 87 46 23.900 3.099 0.000 0.000 -V AU52 AU45 87 46 24.750 3.099 0.000 0.000 -V AU52 AU45 87 46 25.000 3.099 0.000 0.000 -S AU52 AU54 69.9254 0.0010 0.0 0.000 -S AU52 AU54 69.9251 0.0010 0.0 0.000 -S AU52 AU54 69.9253 0.0010 0.0 0.000 -S AU52 AU54 69.9253 0.0010 0.0 0.000 -S AU52 AU54 69.9254 0.0010 0.0 0.000 -S AU52 STR3 24.2092 0.0010 0.0 0.000 -S AU52 STR3 24.2090 0.0010 0.0 0.000 -S AU52 STR3 24.2090 0.0010 0.0 0.000 -S AU52 STR3 24.2088 0.0010 0.0 0.000 -S AU52 STR3 24.2089 0.0010 0.0 0.000 -S AU52 AU45 70.3146 0.0010 0.0 0.000 -S AU52 AU45 70.3146 0.0010 0.0 0.000 -S AU52 AU45 70.3146 0.0010 0.0 0.000 -S AU52 AU45 70.3147 0.0010 0.0 0.000 -S AU52 AU45 70.3147 0.0010 0.0 0.000 -D AU54 STR3 14 0 00 00.550 4.531 -D STR3 0 00 00.700 4.531 -D AU52 6 44 32.600 3.114 -D AU52 6 44 32.700 3.114 -D AU52 6 44 32.850 3.114 -D AU52 6 44 32.900 3.114 -D AU52 6 44 33.050 3.114 -D AU49 189 14 36.900 4.623 -D AU49 189 14 36.950 4.623 -D AU49 189 14 37.100 4.623 -D AU49 189 14 37.250 4.623 -D AU49 189 14 37.300 4.623 -D STR3 359 59 59.200 4.531 -D STR3 359 59 59.400 4.531 -D STR3 359 59 59.450 4.531 -V AU54 STR3 89 36 35.550 4.531 0.000 0.000 -V AU54 STR3 89 36 35.400 4.531 0.000 0.000 -V AU54 AU52 89 09 13.000 3.114 0.000 0.000 -V AU54 AU52 89 09 13.850 3.114 0.000 0.000 -V AU54 AU52 89 09 13.650 3.114 0.000 0.000 -V AU54 AU52 89 09 13.300 3.114 0.000 0.000 -V AU54 AU52 89 09 12.800 3.114 0.000 0.000 -V AU54 AU49 95 16 50.550 4.623 0.000 0.000 -V AU54 AU49 95 16 50.750 4.623 0.000 0.000 -V AU54 AU49 95 16 50.150 4.623 0.000 0.000 -V AU54 AU49 95 16 50.250 4.623 0.000 0.000 -V AU54 AU49 95 16 50.700 4.623 0.000 0.000 -V AU54 STR3 89 36 35.300 4.531 0.000 0.000 -V AU54 STR3 89 36 36.200 4.531 0.000 0.000 -V AU54 STR3 89 36 37.200 4.531 0.000 0.000 -S AU54 STR3 46.6721 0.0010 0.0 0.000 -S AU54 STR3 46.6718 0.0010 0.0 0.000 -S AU54 AU52 69.9252 0.0010 0.0 0.000 -S AU54 AU52 69.9254 0.0010 0.0 0.000 -S AU54 AU52 69.9254 0.0010 0.0 0.000 -S AU54 AU52 69.9252 0.0010 0.0 0.000 -S AU54 AU52 69.9251 0.0010 0.0 0.000 -S AU54 AU49 45.6893 0.0010 0.0 0.000 -S AU54 AU49 45.6895 0.0010 0.0 0.000 -S AU54 AU49 45.6894 0.0010 0.0 0.000 -S AU54 AU49 45.6894 0.0010 0.0 0.000 -S AU54 AU49 45.6895 0.0010 0.0 0.000 -S AU54 STR3 46.6719 0.0010 0.0 0.000 -S AU54 STR3 46.6719 0.0010 0.0 0.000 -S AU54 STR3 46.6718 0.0010 0.0 0.000 -D AU49 AU54 11 275 07 26.200 4.623 -D AU54 275 07 26.350 4.623 -D AU54 275 07 26.400 4.623 -D AU54 275 07 26.400 4.623 -D AU54 275 07 26.550 4.623 -D AU54 275 07 26.600 4.623 -D AU48 359 59 57.250 1.866 -D AU48 359 59 57.450 1.866 -D AU48 359 59 57.600 1.866 -D AU48 359 59 57.750 1.866 -D AU48 359 59 57.900 1.866 -D AU48 359 59 58.150 1.866 -V AU49 AU54 84 43 07.800 4.623 0.000 0.000 -V AU49 AU54 84 43 07.200 4.623 0.000 0.000 -V AU49 AU54 84 43 07.450 4.623 0.000 0.000 -V AU49 AU54 84 43 07.600 4.623 0.000 0.000 -V AU49 AU54 84 43 06.900 4.623 0.000 0.000 -V AU49 AU54 84 43 07.150 4.623 0.000 0.000 -V AU49 AU48 86 55 09.450 1.866 0.000 0.000 -V AU49 AU48 86 55 09.550 1.866 0.000 0.000 -V AU49 AU48 86 55 09.900 1.866 0.000 0.000 -V AU49 AU48 86 55 09.850 1.866 0.000 0.000 -V AU49 AU48 86 55 09.750 1.866 0.000 0.000 -V AU49 AU48 86 55 09.650 1.866 0.000 0.000 -S AU49 AU54 45.6894 0.0010 0.0 0.000 -S AU49 AU54 45.6894 0.0010 0.0 0.000 -S AU49 AU54 45.6894 0.0010 0.0 0.000 -S AU49 AU54 45.6894 0.0010 0.0 0.000 -S AU49 AU54 45.6894 0.0010 0.0 0.000 -S AU49 AU54 45.6894 0.0010 0.0 0.000 -S AU49 AU48 130.8524 0.0010 0.0 0.000 -S AU49 AU48 130.8522 0.0010 0.0 0.000 -S AU49 AU48 130.8522 0.0010 0.0 0.000 -S AU49 AU48 130.8522 0.0010 0.0 0.000 -S AU49 AU48 130.8521 0.0010 0.0 0.000 -S AU49 AU48 130.8523 0.0010 0.0 0.000 -D AU48 AU45 13 34 14 21.850 2.265 -D AU45 34 14 22.000 2.265 -D AU45 34 14 22.000 2.265 -D AU45 34 14 22.100 2.265 -D AU45 34 14 22.100 2.265 -D AU45 34 14 22.100 2.265 -D AU45 34 14 22.350 2.265 -D AU49 359 59 54.900 1.866 -D AU49 359 59 54.900 1.866 -D AU49 359 59 55.000 1.866 -D AU49 359 59 55.150 1.866 -D AU49 359 59 55.150 1.866 -D AU49 359 59 55.400 1.866 -D AU49 359 59 55.700 1.866 -V AU48 AU45 89 28 13.800 2.265 0.000 0.000 -V AU48 AU45 89 28 56.750 2.265 0.000 0.000 -V AU48 AU45 89 28 13.950 2.265 0.000 0.000 -V AU48 AU45 89 28 14.300 2.265 0.000 0.000 -V AU48 AU45 89 28 13.050 2.265 0.000 0.000 -V AU48 AU45 89 28 15.250 2.265 0.000 0.000 -V AU48 AU45 89 28 16.250 2.265 0.000 0.000 -V AU48 AU49 93 04 58.000 1.866 0.000 0.000 -V AU48 AU49 93 04 48.450 1.866 0.000 0.000 -V AU48 AU49 93 04 49.850 1.866 0.000 0.000 -V AU48 AU49 93 04 52.250 1.866 0.000 0.000 -V AU48 AU49 93 04 49.500 1.866 0.000 0.000 -V AU48 AU49 93 04 51.300 1.866 0.000 0.000 -V AU48 AU49 93 04 53.300 1.866 0.000 0.000 -S AU48 AU45 101.4457 0.0010 0.0 0.000 -S AU48 AU45 101.4458 0.0010 0.0 0.000 -S AU48 AU45 101.4456 0.0010 0.0 0.000 -S AU48 AU45 101.4457 0.0010 0.0 0.000 -S AU48 AU45 101.4456 0.0010 0.0 0.000 -S AU48 AU45 101.4458 0.0010 0.0 0.000 -S AU48 AU45 101.4456 0.0010 0.0 0.000 -S AU48 AU49 130.8525 0.0010 0.0 0.000 -S AU48 AU49 130.8525 0.0010 0.0 0.000 -S AU48 AU49 130.8523 0.0010 0.0 0.000 -S AU48 AU49 130.8523 0.0010 0.0 0.000 -S AU48 AU49 130.8523 0.0010 0.0 0.000 -S AU48 AU49 130.8522 0.0010 0.0 0.000 -S AU48 AU49 130.8523 0.0010 0.0 0.000 +D AU45 AU52 14 18 42 37.800 9.297 +D AU52 18 42 38.000 9.297 +D AU52 18 42 38.100 9.297 +D AU52 18 42 38.250 9.297 +D AU52 18 42 39.000 9.297 +D AU48 177 11 53.500 6.797 +D AU48 177 11 53.600 6.797 +D AU48 177 11 53.850 6.797 +D AU48 177 11 53.950 6.797 +D AU48 177 11 54.150 6.797 +D STR3 359 59 54.450 11.10 +D STR3 359 59 54.450 11.10 +D STR3 359 59 54.750 11.10 +D STR3 359 59 55.000 11.10 +D STR3 359 59 55.050 11.10 +V AU45 AU52 92 13 36.300 9.297 0.0000 0.0000 +V AU45 AU52 92 13 36.150 9.297 0.0000 0.0000 +V AU45 AU52 92 13 35.950 9.297 0.0000 0.0000 +V AU45 AU52 92 13 36.350 9.297 0.0000 0.0000 +V AU45 AU52 92 13 37.750 9.297 0.0000 0.0000 +V AU45 AU48 90 31 48.300 6.797 0.0000 0.0000 +V AU45 AU48 90 31 48.450 6.797 0.0000 0.0000 +V AU45 AU48 90 31 47.750 6.797 0.0000 0.0000 +V AU45 AU48 90 31 48.350 6.797 0.0000 0.0000 +V AU45 AU48 90 31 48.150 6.797 0.0000 0.0000 +V AU45 STR3 93 24 57.800 11.10 0.0000 0.0000 +V AU45 STR3 93 24 56.850 11.10 0.0000 0.0000 +V AU45 STR3 93 24 58.300 11.10 0.0000 0.0000 +V AU45 STR3 93 24 57.400 11.10 0.0000 0.0000 +V AU45 STR3 93 24 57.700 11.10 0.0000 0.0000 +S AU45 AU52 70.3146 0.0064 0.0000 0.0000 +S AU45 AU52 70.3146 0.0064 0.0000 0.0000 +S AU45 AU52 70.3147 0.0064 0.0000 0.0000 +S AU45 AU52 70.3146 0.0064 0.0000 0.0000 +S AU45 AU52 70.3146 0.0064 0.0000 0.0000 +S AU45 AU48 101.4457 0.0070 0.0000 0.0000 +S AU45 AU48 101.4460 0.0070 0.0000 0.0000 +S AU45 AU48 101.4459 0.0070 0.0000 0.0000 +S AU45 AU48 101.4461 0.0070 0.0000 0.0000 +S AU45 AU48 101.4460 0.0070 0.0000 0.0000 +S AU45 STR3 57.8489 0.0062 0.0000 0.0000 +S AU45 STR3 57.8487 0.0062 0.0000 0.0000 +S AU45 STR3 57.8488 0.0062 0.0000 0.0000 +S AU45 STR3 57.8486 0.0062 0.0000 0.0000 +S AU45 STR3 57.8488 0.0062 0.0000 0.0000 +D STR3 AU54 14 48 50 18.750 13.59 +D AU54 48 50 18.950 13.59 +D AU54 48 50 19.000 13.59 +D AU54 48 50 19.100 13.59 +D AU54 48 50 19.650 13.59 +D AU52 248 40 11.400 25.73 +D AU52 248 40 12.050 25.73 +D AU52 248 40 12.150 25.73 +D AU52 248 40 12.350 25.73 +D AU52 248 40 12.400 25.73 +D AU45 359 59 56.350 11.10 +D AU45 359 59 56.650 11.10 +D AU45 359 59 56.850 11.10 +D AU45 359 59 57.150 11.10 +D AU45 359 59 57.200 11.10 +V STR3 AU54 90 23 27.150 13.59 0.0000 0.0000 +V STR3 AU54 90 23 27.850 13.59 0.0000 0.0000 +V STR3 AU54 90 23 27.800 13.59 0.0000 0.0000 +V STR3 AU54 90 23 26.400 13.59 0.0000 0.0000 +V STR3 AU54 90 23 27.400 13.59 0.0000 0.0000 +V STR3 AU52 88 18 24.200 25.73 0.0000 0.0000 +V STR3 AU52 88 18 24.650 25.73 0.0000 0.0000 +V STR3 AU52 88 18 24.050 25.73 0.0000 0.0000 +V STR3 AU52 88 18 24.000 25.73 0.0000 0.0000 +V STR3 AU52 88 18 24.200 25.73 0.0000 0.0000 +V STR3 AU45 86 35 01.250 11.10 0.0000 0.0000 +V STR3 AU45 86 35 01.850 11.10 0.0000 0.0000 +V STR3 AU45 86 35 01.650 11.10 0.0000 0.0000 +V STR3 AU45 86 35 02.700 11.10 0.0000 0.0000 +V STR3 AU45 86 35 02.600 11.10 0.0000 0.0000 +S STR3 AU54 46.6719 0.0059 0.0000 0.0000 +S STR3 AU54 46.6719 0.0059 0.0000 0.0000 +S STR3 AU54 46.6719 0.0059 0.0000 0.0000 +S STR3 AU54 46.6718 0.0059 0.0000 0.0000 +S STR3 AU54 46.6718 0.0059 0.0000 0.0000 +S STR3 AU52 24.2088 0.0055 0.0000 0.0000 +S STR3 AU52 24.2087 0.0055 0.0000 0.0000 +S STR3 AU52 24.2087 0.0055 0.0000 0.0000 +S STR3 AU52 24.2087 0.0055 0.0000 0.0000 +S STR3 AU52 24.2087 0.0055 0.0000 0.0000 +S STR3 AU45 57.8486 0.0062 0.0000 0.0000 +S STR3 AU45 57.8487 0.0062 0.0000 0.0000 +S STR3 AU45 57.8487 0.0062 0.0000 0.0000 +S STR3 AU45 57.8486 0.0062 0.0000 0.0000 +S STR3 AU45 57.8488 0.0062 0.0000 0.0000 +D AU52 AU54 14 36 52 07.000 9.344 +D AU54 36 52 07.100 9.344 +D AU54 36 52 07.550 9.344 +D AU54 36 52 07.600 9.344 +D AU54 36 52 07.700 9.344 +D STR3 49 57 26.450 25.73 +D STR3 49 57 26.700 25.73 +D STR3 49 57 26.800 25.73 +D STR3 49 57 26.850 25.73 +D STR3 49 57 27.100 25.73 +D AU45 359 59 54.000 9.297 +D AU45 359 59 54.050 9.297 +D AU45 359 59 54.200 9.297 +D AU45 359 59 55.050 9.297 +D AU45 359 59 55.150 9.297 +V AU52 AU54 90 50 47.150 9.344 0.0000 0.0000 +V AU52 AU54 90 50 47.000 9.344 0.0000 0.0000 +V AU52 AU54 90 50 47.050 9.344 0.0000 0.0000 +V AU52 AU54 90 50 47.400 9.344 0.0000 0.0000 +V AU52 AU54 90 50 47.850 9.344 0.0000 0.0000 +V AU52 STR3 91 41 31.800 25.73 0.0000 0.0000 +V AU52 STR3 91 41 31.100 25.73 0.0000 0.0000 +V AU52 STR3 91 41 31.650 25.73 0.0000 0.0000 +V AU52 STR3 91 41 31.300 25.73 0.0000 0.0000 +V AU52 STR3 91 41 31.050 25.73 0.0000 0.0000 +V AU52 AU45 87 46 24.250 9.297 0.0000 0.0000 +V AU52 AU45 87 46 24.500 9.297 0.0000 0.0000 +V AU52 AU45 87 46 23.900 9.297 0.0000 0.0000 +V AU52 AU45 87 46 24.750 9.297 0.0000 0.0000 +V AU52 AU45 87 46 25.000 9.297 0.0000 0.0000 +S AU52 AU54 69.9254 0.0064 0.0000 0.0000 +S AU52 AU54 69.9251 0.0064 0.0000 0.0000 +S AU52 AU54 69.9253 0.0064 0.0000 0.0000 +S AU52 AU54 69.9253 0.0064 0.0000 0.0000 +S AU52 AU54 69.9254 0.0064 0.0000 0.0000 +S AU52 STR3 24.2092 0.0055 0.0000 0.0000 +S AU52 STR3 24.2090 0.0055 0.0000 0.0000 +S AU52 STR3 24.2090 0.0055 0.0000 0.0000 +S AU52 STR3 24.2088 0.0055 0.0000 0.0000 +S AU52 STR3 24.2089 0.0055 0.0000 0.0000 +S AU52 AU45 70.3146 0.0064 0.0000 0.0000 +S AU52 AU45 70.3146 0.0064 0.0000 0.0000 +S AU52 AU45 70.3146 0.0064 0.0000 0.0000 +S AU52 AU45 70.3147 0.0064 0.0000 0.0000 +S AU52 AU45 70.3147 0.0064 0.0000 0.0000 +D AU54 STR3 14 0 00 00.550 13.59 +D STR3 0 00 00.700 13.59 +D AU52 6 44 32.600 9.344 +D AU52 6 44 32.700 9.344 +D AU52 6 44 32.850 9.344 +D AU52 6 44 32.900 9.344 +D AU52 6 44 33.050 9.344 +D AU49 189 14 36.900 13.87 +D AU49 189 14 36.950 13.87 +D AU49 189 14 37.100 13.87 +D AU49 189 14 37.250 13.87 +D AU49 189 14 37.300 13.87 +D STR3 359 59 59.200 13.59 +D STR3 359 59 59.400 13.59 +D STR3 359 59 59.450 13.59 +V AU54 STR3 89 36 35.550 13.59 0.0000 0.0000 +V AU54 STR3 89 36 35.400 13.59 0.0000 0.0000 +V AU54 AU52 89 09 13.000 9.344 0.0000 0.0000 +V AU54 AU52 89 09 13.850 9.344 0.0000 0.0000 +V AU54 AU52 89 09 13.650 9.344 0.0000 0.0000 +V AU54 AU52 89 09 13.300 9.344 0.0000 0.0000 +V AU54 AU52 89 09 12.800 9.344 0.0000 0.0000 +V AU54 AU49 95 16 50.550 13.87 0.0000 0.0000 +V AU54 AU49 95 16 50.750 13.87 0.0000 0.0000 +V AU54 AU49 95 16 50.150 13.87 0.0000 0.0000 +V AU54 AU49 95 16 50.250 13.87 0.0000 0.0000 +V AU54 AU49 95 16 50.700 13.87 0.0000 0.0000 +V AU54 STR3 89 36 35.300 13.59 0.0000 0.0000 +V AU54 STR3 89 36 36.200 13.59 0.0000 0.0000 +V AU54 STR3 89 36 37.200 13.59 0.0000 0.0000 +S AU54 STR3 46.6721 0.0059 0.0000 0.0000 +S AU54 STR3 46.6718 0.0059 0.0000 0.0000 +S AU54 AU52 69.9252 0.0064 0.0000 0.0000 +S AU54 AU52 69.9254 0.0064 0.0000 0.0000 +S AU54 AU52 69.9254 0.0064 0.0000 0.0000 +S AU54 AU52 69.9252 0.0064 0.0000 0.0000 +S AU54 AU52 69.9251 0.0064 0.0000 0.0000 +S AU54 AU49 45.6893 0.0059 0.0000 0.0000 +S AU54 AU49 45.6895 0.0059 0.0000 0.0000 +S AU54 AU49 45.6894 0.0059 0.0000 0.0000 +S AU54 AU49 45.6894 0.0059 0.0000 0.0000 +S AU54 AU49 45.6895 0.0059 0.0000 0.0000 +S AU54 STR3 46.6719 0.0059 0.0000 0.0000 +S AU54 STR3 46.6719 0.0059 0.0000 0.0000 +S AU54 STR3 46.6718 0.0059 0.0000 0.0000 +D AU49 AU54 11 275 07 26.200 13.87 +D AU54 275 07 26.350 13.87 +D AU54 275 07 26.400 13.87 +D AU54 275 07 26.400 13.87 +D AU54 275 07 26.550 13.87 +D AU54 275 07 26.600 13.87 +D AU48 359 59 57.250 5.600 +D AU48 359 59 57.450 5.600 +D AU48 359 59 57.600 5.600 +D AU48 359 59 57.750 5.600 +D AU48 359 59 57.900 5.600 +D AU48 359 59 58.150 5.600 +V AU49 AU54 84 43 07.800 13.87 0.0000 0.0000 +V AU49 AU54 84 43 07.200 13.87 0.0000 0.0000 +V AU49 AU54 84 43 07.450 13.87 0.0000 0.0000 +V AU49 AU54 84 43 07.600 13.87 0.0000 0.0000 +V AU49 AU54 84 43 06.900 13.87 0.0000 0.0000 +V AU49 AU54 84 43 07.150 13.87 0.0000 0.0000 +V AU49 AU48 86 55 09.450 5.600 0.0000 0.0000 +V AU49 AU48 86 55 09.550 5.600 0.0000 0.0000 +V AU49 AU48 86 55 09.900 5.600 0.0000 0.0000 +V AU49 AU48 86 55 09.850 5.600 0.0000 0.0000 +V AU49 AU48 86 55 09.750 5.600 0.0000 0.0000 +V AU49 AU48 86 55 09.650 5.600 0.0000 0.0000 +S AU49 AU54 45.6894 0.0059 0.0000 0.0000 +S AU49 AU54 45.6894 0.0059 0.0000 0.0000 +S AU49 AU54 45.6894 0.0059 0.0000 0.0000 +S AU49 AU54 45.6894 0.0059 0.0000 0.0000 +S AU49 AU54 45.6894 0.0059 0.0000 0.0000 +S AU49 AU54 45.6894 0.0059 0.0000 0.0000 +S AU49 AU48 130.8524 0.0076 0.0000 0.0000 +S AU49 AU48 130.8522 0.0076 0.0000 0.0000 +S AU49 AU48 130.8522 0.0076 0.0000 0.0000 +S AU49 AU48 130.8522 0.0076 0.0000 0.0000 +S AU49 AU48 130.8521 0.0076 0.0000 0.0000 +S AU49 AU48 130.8523 0.0076 0.0000 0.0000 +D AU48 AU45 13 34 14 21.850 6.797 +D AU45 34 14 22.000 6.797 +D AU45 34 14 22.000 6.797 +D AU45 34 14 22.100 6.797 +D AU45 34 14 22.100 6.797 +D AU45 34 14 22.100 6.797 +D AU45 34 14 22.350 6.797 +D AU49 359 59 54.900 5.600 +D AU49 359 59 54.900 5.600 +D AU49 359 59 55.000 5.600 +D AU49 359 59 55.150 5.600 +D AU49 359 59 55.150 5.600 +D AU49 359 59 55.400 5.600 +D AU49 359 59 55.700 5.600 +V AU48 AU45 89 28 13.800 6.797 0.0000 0.0000 +V AU48 AU45 89 28 56.750 6.797 0.0000 0.0000 +V AU48 AU45 89 28 13.950 6.797 0.0000 0.0000 +V AU48 AU45 89 28 14.300 6.797 0.0000 0.0000 +V AU48 AU45 89 28 13.050 6.797 0.0000 0.0000 +V AU48 AU45 89 28 15.250 6.797 0.0000 0.0000 +V AU48 AU45 89 28 16.250 6.797 0.0000 0.0000 +V AU48 AU49 93 04 58.000 5.600 0.0000 0.0000 +V AU48 AU49 93 04 48.450 5.600 0.0000 0.0000 +V AU48 AU49 93 04 49.850 5.600 0.0000 0.0000 +V AU48 AU49 93 04 52.250 5.600 0.0000 0.0000 +V AU48 AU49 93 04 49.500 5.600 0.0000 0.0000 +V AU48 AU49 93 04 51.300 5.600 0.0000 0.0000 +V AU48 AU49 93 04 53.300 5.600 0.0000 0.0000 +S AU48 AU45 101.4457 0.0070 0.0000 0.0000 +S AU48 AU45 101.4458 0.0070 0.0000 0.0000 +S AU48 AU45 101.4456 0.0070 0.0000 0.0000 +S AU48 AU45 101.4457 0.0070 0.0000 0.0000 +S AU48 AU45 101.4456 0.0070 0.0000 0.0000 +S AU48 AU45 101.4458 0.0070 0.0000 0.0000 +S AU48 AU45 101.4456 0.0070 0.0000 0.0000 +S AU48 AU49 130.8525 0.0076 0.0000 0.0000 +S AU48 AU49 130.8525 0.0076 0.0000 0.0000 +S AU48 AU49 130.8523 0.0076 0.0000 0.0000 +S AU48 AU49 130.8523 0.0076 0.0000 0.0000 +S AU48 AU49 130.8523 0.0076 0.0000 0.0000 +S AU48 AU49 130.8522 0.0076 0.0000 0.0000 +S AU48 AU49 130.8523 0.0076 0.0000 0.0000 diff --git a/geodepy/tests/resources/ST0618HZ_noconfig.msr b/geodepy/tests/resources/ST0618HZ_noconfig.msr new file mode 100644 index 0000000..6ef6819 --- /dev/null +++ b/geodepy/tests/resources/ST0618HZ_noconfig.msr @@ -0,0 +1,259 @@ +!#=DNA 3.01 MSR 01.01.2020 GDA94 01.01.2020 173 +D 8 10 14 18 42 37.800 3.099 +D 10 18 42 38.000 3.099 +D 10 18 42 38.100 3.099 +D 10 18 42 38.250 3.099 +D 10 18 42 39.000 3.099 +D 7 177 11 53.500 2.265 +D 7 177 11 53.600 2.265 +D 7 177 11 53.850 2.265 +D 7 177 11 53.950 2.265 +D 7 177 11 54.150 2.265 +D 9 359 59 54.450 3.703 +D 9 359 59 54.450 3.703 +D 9 359 59 54.750 3.703 +D 9 359 59 55.000 3.703 +D 9 359 59 55.050 3.703 +V 8 10 92 13 36.300 3.099 0.0000 0.0000 +V 8 10 92 13 36.150 3.099 0.0000 0.0000 +V 8 10 92 13 35.950 3.099 0.0000 0.0000 +V 8 10 92 13 36.350 3.099 0.0000 0.0000 +V 8 10 92 13 37.750 3.099 0.0000 0.0000 +V 8 7 90 31 48.300 2.265 0.0000 0.0000 +V 8 7 90 31 48.450 2.265 0.0000 0.0000 +V 8 7 90 31 47.750 2.265 0.0000 0.0000 +V 8 7 90 31 48.350 2.265 0.0000 0.0000 +V 8 7 90 31 48.150 2.265 0.0000 0.0000 +V 8 9 93 24 57.800 3.703 0.0000 0.0000 +V 8 9 93 24 56.850 3.703 0.0000 0.0000 +V 8 9 93 24 58.300 3.703 0.0000 0.0000 +V 8 9 93 24 57.400 3.703 0.0000 0.0000 +V 8 9 93 24 57.700 3.703 0.0000 0.0000 +S 8 10 70.3127 0.0011 0.0000 0.0000 +S 8 10 70.3127 0.0011 0.0000 0.0000 +S 8 10 70.3128 0.0011 0.0000 0.0000 +S 8 10 70.3127 0.0011 0.0000 0.0000 +S 8 10 70.3127 0.0011 0.0000 0.0000 +S 8 7 101.4430 0.0011 0.0000 0.0000 +S 8 7 101.4433 0.0011 0.0000 0.0000 +S 8 7 101.4432 0.0011 0.0000 0.0000 +S 8 7 101.4434 0.0011 0.0000 0.0000 +S 8 7 101.4433 0.0011 0.0000 0.0000 +S 8 9 57.8474 0.0011 0.0000 0.0000 +S 8 9 57.8472 0.0011 0.0000 0.0000 +S 8 9 57.8473 0.0011 0.0000 0.0000 +S 8 9 57.8471 0.0011 0.0000 0.0000 +S 8 9 57.8473 0.0011 0.0000 0.0000 +D 9 11 14 48 50 18.750 4.531 +D 11 48 50 18.950 4.531 +D 11 48 50 19.000 4.531 +D 11 48 50 19.100 4.531 +D 11 48 50 19.650 4.531 +D 10 248 40 11.400 8.578 +D 10 248 40 12.050 8.578 +D 10 248 40 12.150 8.578 +D 10 248 40 12.350 8.578 +D 10 248 40 12.400 8.578 +D 8 359 59 56.350 3.703 +D 8 359 59 56.650 3.703 +D 8 359 59 56.850 3.703 +D 8 359 59 57.150 3.703 +D 8 359 59 57.200 3.703 +V 9 11 90 23 27.150 4.531 0.0000 0.0000 +V 9 11 90 23 27.850 4.531 0.0000 0.0000 +V 9 11 90 23 27.800 4.531 0.0000 0.0000 +V 9 11 90 23 26.400 4.531 0.0000 0.0000 +V 9 11 90 23 27.400 4.531 0.0000 0.0000 +V 9 10 88 18 24.200 8.578 0.0000 0.0000 +V 9 10 88 18 24.650 8.578 0.0000 0.0000 +V 9 10 88 18 24.050 8.578 0.0000 0.0000 +V 9 10 88 18 24.000 8.578 0.0000 0.0000 +V 9 10 88 18 24.200 8.578 0.0000 0.0000 +V 9 8 86 35 01.250 3.703 0.0000 0.0000 +V 9 8 86 35 01.850 3.703 0.0000 0.0000 +V 9 8 86 35 01.650 3.703 0.0000 0.0000 +V 9 8 86 35 02.700 3.703 0.0000 0.0000 +V 9 8 86 35 02.600 3.703 0.0000 0.0000 +S 9 11 46.6707 0.0010 0.0000 0.0000 +S 9 11 46.6707 0.0010 0.0000 0.0000 +S 9 11 46.6707 0.0010 0.0000 0.0000 +S 9 11 46.6706 0.0010 0.0000 0.0000 +S 9 11 46.6706 0.0010 0.0000 0.0000 +S 9 10 24.2082 0.0010 0.0000 0.0000 +S 9 10 24.2081 0.0010 0.0000 0.0000 +S 9 10 24.2081 0.0010 0.0000 0.0000 +S 9 10 24.2081 0.0010 0.0000 0.0000 +S 9 10 24.2081 0.0010 0.0000 0.0000 +S 9 8 57.8471 0.0011 0.0000 0.0000 +S 9 8 57.8472 0.0011 0.0000 0.0000 +S 9 8 57.8472 0.0011 0.0000 0.0000 +S 9 8 57.8471 0.0011 0.0000 0.0000 +S 9 8 57.8473 0.0011 0.0000 0.0000 +D 10 11 14 36 52 07.000 3.114 +D 11 36 52 07.100 3.114 +D 11 36 52 07.550 3.114 +D 11 36 52 07.600 3.114 +D 11 36 52 07.700 3.114 +D 9 49 57 26.450 8.578 +D 9 49 57 26.700 8.578 +D 9 49 57 26.800 8.578 +D 9 49 57 26.850 8.578 +D 9 49 57 27.100 8.578 +D 8 359 59 54.000 3.099 +D 8 359 59 54.050 3.099 +D 8 359 59 54.200 3.099 +D 8 359 59 55.050 3.099 +D 8 359 59 55.150 3.099 +V 10 11 90 50 47.150 3.114 0.0000 0.0000 +V 10 11 90 50 47.000 3.114 0.0000 0.0000 +V 10 11 90 50 47.050 3.114 0.0000 0.0000 +V 10 11 90 50 47.400 3.114 0.0000 0.0000 +V 10 11 90 50 47.850 3.114 0.0000 0.0000 +V 10 9 91 41 31.800 8.578 0.0000 0.0000 +V 10 9 91 41 31.100 8.578 0.0000 0.0000 +V 10 9 91 41 31.650 8.578 0.0000 0.0000 +V 10 9 91 41 31.300 8.578 0.0000 0.0000 +V 10 9 91 41 31.050 8.578 0.0000 0.0000 +V 10 8 87 46 24.250 3.099 0.0000 0.0000 +V 10 8 87 46 24.500 3.099 0.0000 0.0000 +V 10 8 87 46 23.900 3.099 0.0000 0.0000 +V 10 8 87 46 24.750 3.099 0.0000 0.0000 +V 10 8 87 46 25.000 3.099 0.0000 0.0000 +S 10 11 69.9235 0.0011 0.0000 0.0000 +S 10 11 69.9232 0.0011 0.0000 0.0000 +S 10 11 69.9234 0.0011 0.0000 0.0000 +S 10 11 69.9234 0.0011 0.0000 0.0000 +S 10 11 69.9235 0.0011 0.0000 0.0000 +S 10 9 24.2086 0.0010 0.0000 0.0000 +S 10 9 24.2084 0.0010 0.0000 0.0000 +S 10 9 24.2084 0.0010 0.0000 0.0000 +S 10 9 24.2082 0.0010 0.0000 0.0000 +S 10 9 24.2083 0.0010 0.0000 0.0000 +S 10 8 70.3127 0.0011 0.0000 0.0000 +S 10 8 70.3127 0.0011 0.0000 0.0000 +S 10 8 70.3127 0.0011 0.0000 0.0000 +S 10 8 70.3128 0.0011 0.0000 0.0000 +S 10 8 70.3128 0.0011 0.0000 0.0000 +D 11 9 14 0 00 00.550 4.531 +D 9 0 00 00.700 4.531 +D 10 6 44 32.600 3.114 +D 10 6 44 32.700 3.114 +D 10 6 44 32.850 3.114 +D 10 6 44 32.900 3.114 +D 10 6 44 33.050 3.114 +D 6 189 14 36.900 4.624 +D 6 189 14 36.950 4.624 +D 6 189 14 37.100 4.624 +D 6 189 14 37.250 4.624 +D 6 189 14 37.300 4.624 +D 9 359 59 59.200 4.531 +D 9 359 59 59.400 4.531 +D 9 359 59 59.450 4.531 +V 11 9 89 36 35.550 4.531 0.0000 0.0000 +V 11 9 89 36 35.400 4.531 0.0000 0.0000 +V 11 10 89 09 13.000 3.114 0.0000 0.0000 +V 11 10 89 09 13.850 3.114 0.0000 0.0000 +V 11 10 89 09 13.650 3.114 0.0000 0.0000 +V 11 10 89 09 13.300 3.114 0.0000 0.0000 +V 11 10 89 09 12.800 3.114 0.0000 0.0000 +V 11 6 95 16 50.550 4.624 0.0000 0.0000 +V 11 6 95 16 50.750 4.624 0.0000 0.0000 +V 11 6 95 16 50.150 4.624 0.0000 0.0000 +V 11 6 95 16 50.250 4.624 0.0000 0.0000 +V 11 6 95 16 50.700 4.624 0.0000 0.0000 +V 11 9 89 36 35.300 4.531 0.0000 0.0000 +V 11 9 89 36 36.200 4.531 0.0000 0.0000 +V 11 9 89 36 37.200 4.531 0.0000 0.0000 +S 11 9 46.6709 0.0010 0.0000 0.0000 +S 11 9 46.6706 0.0010 0.0000 0.0000 +S 11 10 69.9233 0.0011 0.0000 0.0000 +S 11 10 69.9235 0.0011 0.0000 0.0000 +S 11 10 69.9235 0.0011 0.0000 0.0000 +S 11 10 69.9233 0.0011 0.0000 0.0000 +S 11 10 69.9232 0.0011 0.0000 0.0000 +S 11 6 45.6881 0.0010 0.0000 0.0000 +S 11 6 45.6883 0.0010 0.0000 0.0000 +S 11 6 45.6882 0.0010 0.0000 0.0000 +S 11 6 45.6882 0.0010 0.0000 0.0000 +S 11 6 45.6883 0.0010 0.0000 0.0000 +S 11 9 46.6707 0.0010 0.0000 0.0000 +S 11 9 46.6707 0.0010 0.0000 0.0000 +S 11 9 46.6706 0.0010 0.0000 0.0000 +D 6 11 11 275 07 26.200 4.624 +D 11 275 07 26.350 4.624 +D 11 275 07 26.400 4.624 +D 11 275 07 26.400 4.624 +D 11 275 07 26.550 4.624 +D 11 275 07 26.600 4.624 +D 7 359 59 57.250 1.866 +D 7 359 59 57.450 1.866 +D 7 359 59 57.600 1.866 +D 7 359 59 57.750 1.866 +D 7 359 59 57.900 1.866 +D 7 359 59 58.150 1.866 +V 6 11 84 43 07.800 4.624 0.0000 0.0000 +V 6 11 84 43 07.200 4.624 0.0000 0.0000 +V 6 11 84 43 07.450 4.624 0.0000 0.0000 +V 6 11 84 43 07.600 4.624 0.0000 0.0000 +V 6 11 84 43 06.900 4.624 0.0000 0.0000 +V 6 11 84 43 07.150 4.624 0.0000 0.0000 +V 6 7 86 55 09.450 1.866 0.0000 0.0000 +V 6 7 86 55 09.550 1.866 0.0000 0.0000 +V 6 7 86 55 09.900 1.866 0.0000 0.0000 +V 6 7 86 55 09.850 1.866 0.0000 0.0000 +V 6 7 86 55 09.750 1.866 0.0000 0.0000 +V 6 7 86 55 09.650 1.866 0.0000 0.0000 +S 6 11 45.6882 0.0010 0.0000 0.0000 +S 6 11 45.6882 0.0010 0.0000 0.0000 +S 6 11 45.6882 0.0010 0.0000 0.0000 +S 6 11 45.6882 0.0010 0.0000 0.0000 +S 6 11 45.6882 0.0010 0.0000 0.0000 +S 6 11 45.6882 0.0010 0.0000 0.0000 +S 6 7 130.8489 0.0011 0.0000 0.0000 +S 6 7 130.8487 0.0011 0.0000 0.0000 +S 6 7 130.8487 0.0011 0.0000 0.0000 +S 6 7 130.8487 0.0011 0.0000 0.0000 +S 6 7 130.8486 0.0011 0.0000 0.0000 +S 6 7 130.8488 0.0011 0.0000 0.0000 +D 7 8 13 34 14 21.850 2.265 +D 8 34 14 22.000 2.265 +D 8 34 14 22.000 2.265 +D 8 34 14 22.100 2.265 +D 8 34 14 22.100 2.265 +D 8 34 14 22.100 2.265 +D 8 34 14 22.350 2.265 +D 6 359 59 54.900 1.866 +D 6 359 59 54.900 1.866 +D 6 359 59 55.000 1.866 +D 6 359 59 55.150 1.866 +D 6 359 59 55.150 1.866 +D 6 359 59 55.400 1.866 +D 6 359 59 55.700 1.866 +V 7 8 89 28 13.800 2.265 0.0000 0.0000 +V 7 8 89 28 56.750 2.265 0.0000 0.0000 +V 7 8 89 28 13.950 2.265 0.0000 0.0000 +V 7 8 89 28 14.300 2.265 0.0000 0.0000 +V 7 8 89 28 13.050 2.265 0.0000 0.0000 +V 7 8 89 28 15.250 2.265 0.0000 0.0000 +V 7 8 89 28 16.250 2.265 0.0000 0.0000 +V 7 6 93 04 58.000 1.866 0.0000 0.0000 +V 7 6 93 04 48.450 1.866 0.0000 0.0000 +V 7 6 93 04 49.850 1.866 0.0000 0.0000 +V 7 6 93 04 52.250 1.866 0.0000 0.0000 +V 7 6 93 04 49.500 1.866 0.0000 0.0000 +V 7 6 93 04 51.300 1.866 0.0000 0.0000 +V 7 6 93 04 53.300 1.866 0.0000 0.0000 +S 7 8 101.4430 0.0011 0.0000 0.0000 +S 7 8 101.4431 0.0011 0.0000 0.0000 +S 7 8 101.4429 0.0011 0.0000 0.0000 +S 7 8 101.4430 0.0011 0.0000 0.0000 +S 7 8 101.4429 0.0011 0.0000 0.0000 +S 7 8 101.4431 0.0011 0.0000 0.0000 +S 7 8 101.4429 0.0011 0.0000 0.0000 +S 7 6 130.8490 0.0011 0.0000 0.0000 +S 7 6 130.8490 0.0011 0.0000 0.0000 +S 7 6 130.8488 0.0011 0.0000 0.0000 +S 7 6 130.8488 0.0011 0.0000 0.0000 +S 7 6 130.8488 0.0011 0.0000 0.0000 +S 7 6 130.8487 0.0011 0.0000 0.0000 +S 7 6 130.8488 0.0011 0.0000 0.0000 diff --git a/geodepy/tests/resources/Site13-134.gpy b/geodepy/tests/resources/Site13-134.gpy index 6d04234..418fd33 100644 --- a/geodepy/tests/resources/Site13-134.gpy +++ b/geodepy/tests/resources/Site13-134.gpy @@ -28,4 +28,10 @@ Remove Observations (id) Blockshift (east, north, up) 0.6019 1.4193 --0.1436 \ No newline at end of file +-0.1436 + +Standard Deviation Parameters +2 +0.001 +0.005 +5 \ No newline at end of file diff --git a/geodepy/tests/resources/Site13-134.msr b/geodepy/tests/resources/Site13-134.msr index 058bd3e..b0ed044 100644 --- a/geodepy/tests/resources/Site13-134.msr +++ b/geodepy/tests/resources/Site13-134.msr @@ -1,92 +1,92 @@ !#=DNA 3.01 MSR 14.05.2018 GDA94 14.05.2018 63 -V SB13 1302 88 30 29.000 1.680 1.652 2.108 -S SB13 1302 152.7580 0.0010 1.652 2.108 -D SB13 1302 11 256 33 51.500 1.680 -D 1302 256 33 51.500 1.680 -D 1302 256 33 52.000 1.680 -D 1302 256 33 52.000 1.680 -D 1302 256 33 53.000 1.680 -D 1302 256 33 53.000 1.680 -D 1305 357 18 00.000 4.660 -D 1305 357 18 01.500 4.660 -D 1305 357 18 05.500 4.660 -D 1304 358 34 03.500 5.132 -D 1304 358 34 04.000 5.132 -D 1304 358 34 04.500 5.132 -V SB13 1302 88 30 29.500 1.680 1.652 2.108 -V SB13 1302 88 30 29.500 1.680 1.652 2.108 -V SB13 1302 88 30 28.500 1.680 1.652 2.108 -V SB13 1302 88 30 28.500 1.680 1.652 2.108 -V SB13 1302 88 30 30.500 1.680 1.652 2.108 -V SB13 1302 88 30 30.500 1.680 1.652 2.108 -V SB13 1305 88 50 36.000 4.660 1.652 1.767 -V SB13 1305 88 50 36.500 4.660 1.652 1.767 -V SB13 1305 88 50 36.000 4.660 1.652 1.767 -V SB13 1304 88 43 05.000 5.132 1.652 1.827 -V SB13 1304 88 43 04.500 5.132 1.652 1.827 -V SB13 1304 88 43 04.500 5.132 1.652 1.827 -S SB13 1302 152.7575 0.0010 1.652 2.108 -S SB13 1302 152.7575 0.0010 1.652 2.108 -S SB13 1302 152.7485 0.0010 1.652 2.108 -S SB13 1302 152.7485 0.0010 1.652 2.108 -S SB13 1302 152.7580 0.0010 1.652 2.108 -S SB13 1302 152.7580 0.0010 1.652 2.108 -S SB13 1305 45.3160 0.0010 1.652 1.767 -S SB13 1305 45.3165 0.0010 1.652 1.767 -S SB13 1305 45.3165 0.0010 1.652 1.767 -S SB13 1304 40.9730 0.0010 1.652 1.827 -S SB13 1304 40.9730 0.0010 1.652 1.827 -S SB13 1304 40.9730 0.0010 1.652 1.827 -V SB13 1302 88 30 19.000 1.680 1.652 2.108 -S SB13 1302 152.7600 0.0010 1.652 2.108 -D 1304 1308 7 7 28 24.000 57.99 -D 1316 30 02 28.000 62.41 -D 1311 31 56 12.000 62.13 -D 1312 32 23 23.000 62.11 +V SB13 1302 88 30 29.000 2.413 1.6520 2.1080 +S SB13 1302 152.7580 0.0058 1.6520 2.1080 +D SB13 1302 11 256 33 51.500 2.413 +D 1302 256 33 51.500 2.413 +D 1302 256 33 52.000 2.413 +D 1302 256 33 52.000 2.413 +D 1302 256 33 53.000 2.413 +D 1302 256 33 53.000 2.413 +D 1305 357 18 00.000 4.971 +D 1305 357 18 01.500 4.971 +D 1305 357 18 05.500 4.971 +D 1304 358 34 03.500 5.416 +D 1304 358 34 04.000 5.416 +D 1304 358 34 04.500 5.416 +V SB13 1302 88 30 29.500 2.413 1.6520 2.1080 +V SB13 1302 88 30 29.500 2.413 1.6520 2.1080 +V SB13 1302 88 30 28.500 2.413 1.6520 2.1080 +V SB13 1302 88 30 28.500 2.413 1.6520 2.1080 +V SB13 1302 88 30 30.500 2.413 1.6520 2.1080 +V SB13 1302 88 30 30.500 2.413 1.6520 2.1080 +V SB13 1305 88 50 36.000 4.971 1.6520 1.7670 +V SB13 1305 88 50 36.500 4.971 1.6520 1.7670 +V SB13 1305 88 50 36.000 4.971 1.6520 1.7670 +V SB13 1304 88 43 05.000 5.416 1.6520 1.8270 +V SB13 1304 88 43 04.500 5.416 1.6520 1.8270 +V SB13 1304 88 43 04.500 5.416 1.6520 1.8270 +S SB13 1302 152.7575 0.0058 1.6520 2.1080 +S SB13 1302 152.7575 0.0058 1.6520 2.1080 +S SB13 1302 152.7485 0.0058 1.6520 2.1080 +S SB13 1302 152.7485 0.0058 1.6520 2.1080 +S SB13 1302 152.7580 0.0058 1.6520 2.1080 +S SB13 1302 152.7580 0.0058 1.6520 2.1080 +S SB13 1305 45.3160 0.0052 1.6520 1.7670 +S SB13 1305 45.3165 0.0052 1.6520 1.7670 +S SB13 1305 45.3165 0.0052 1.6520 1.7670 +S SB13 1304 40.9730 0.0052 1.6520 1.8270 +S SB13 1304 40.9730 0.0052 1.6520 1.8270 +S SB13 1304 40.9730 0.0052 1.6520 1.8270 +V SB13 1302 88 30 19.000 2.413 1.6520 2.1080 +S SB13 1302 152.7600 0.0058 1.6520 2.1080 +D 1304 1308 7 7 28 24.000 58.02 +D 1316 30 02 28.000 62.44 +D 1311 31 56 12.000 62.16 +D 1312 32 23 23.000 62.14 D 1310 34 41 11.000 112.5 -D 1309 37 38 42.000 57.33 -D SB13 178 34 04.000 5.132 -D 1305 345 33 11.000 46.40 -V 1304 1308 99 34 11.000 57.99 1.827 0.000 -V 1304 1316 111 21 12.000 62.41 1.827 0.000 -V 1304 1311 106 39 33.000 62.13 1.827 0.000 -V 1304 1312 105 01 10.000 62.11 1.827 0.000 -V 1304 1310 108 57 58.000 112.5 1.827 0.000 -V 1304 1309 82 41 58.000 57.33 1.827 0.000 -V 1304 SB13 91 21 07.000 5.132 1.827 1.599 -V 1304 1305 90 01 41.000 46.40 1.827 1.767 -S 1304 1308 3.5570 0.0010 1.827 0.000 -S 1304 1316 3.3050 0.0010 1.827 0.000 -S 1304 1311 3.3200 0.0010 1.827 0.000 -S 1304 1312 3.3210 0.0010 1.827 0.000 -S 1304 1310 1.8330 0.0010 1.827 0.000 -S 1304 1309 3.5980 0.0010 1.827 0.000 -S 1304 SB13 40.9750 0.0010 1.827 1.599 -S 1304 1305 4.4460 0.0010 1.827 1.767 -D 1305 1309 8 114 14 30.000 56.72 +D 1309 37 38 42.000 57.36 +D SB13 178 34 04.000 5.416 +D 1305 345 33 11.000 46.43 +V 1304 1308 99 34 11.000 58.02 1.8270 0.0000 +V 1304 1316 111 21 12.000 62.44 1.8270 0.0000 +V 1304 1311 106 39 33.000 62.16 1.8270 0.0000 +V 1304 1312 105 01 10.000 62.14 1.8270 0.0000 +V 1304 1310 108 57 58.000 112.5 1.8270 0.0000 +V 1304 1309 82 41 58.000 57.36 1.8270 0.0000 +V 1304 SB13 91 21 07.000 5.416 1.8270 1.5990 +V 1304 1305 90 01 41.000 46.43 1.8270 1.7670 +S 1304 1308 3.5570 0.0050 1.8270 0.0000 +S 1304 1316 3.3050 0.0050 1.8270 0.0000 +S 1304 1311 3.3200 0.0050 1.8270 0.0000 +S 1304 1312 3.3210 0.0050 1.8270 0.0000 +S 1304 1310 1.8330 0.0050 1.8270 0.0000 +S 1304 1309 3.5980 0.0050 1.8270 0.0000 +S 1304 SB13 40.9750 0.0052 1.8270 1.5990 +S 1304 1305 4.4460 0.0050 1.8270 1.7670 +D 1305 1309 8 114 14 30.000 56.74 D 1308 117 56 59.000 110.2 -D 1312 119 27 49.000 61.39 -D 1311 119 52 54.000 61.45 -D 1311 119 52 55.000 61.45 -D 1316 121 47 49.000 61.70 -D 1310 144 01 40.000 57.08 -D SB13 177 18 03.000 4.660 -D 1302 241 07 32.000 1.587 -V 1305 1309 82 45 48.000 56.72 1.767 0.000 -V 1305 1308 108 22 04.000 110.2 1.767 0.000 -V 1305 1312 104 48 07.000 61.39 1.767 0.000 -V 1305 1311 106 25 33.000 61.45 1.767 0.000 -V 1305 1311 106 25 36.000 61.45 1.767 0.000 -V 1305 1316 111 03 23.000 61.70 1.767 0.000 -V 1305 1310 99 26 33.000 57.08 1.767 0.000 -V 1305 SB13 91 13 11.000 4.660 1.767 1.599 -V 1305 1302 88 56 50.000 1.587 1.767 2.111 -S 1305 1309 3.6370 0.0010 1.767 0.000 -S 1305 1308 1.8710 0.0010 1.767 0.000 -S 1305 1312 3.3600 0.0010 1.767 0.000 -S 1305 1311 3.3570 0.0010 1.767 0.000 -S 1305 1311 3.3570 0.0010 1.767 0.000 -S 1305 1316 3.3430 0.0010 1.767 0.000 -S 1305 1310 3.6140 0.0010 1.767 0.000 -S 1305 SB13 45.3180 0.0010 1.767 1.599 -S 1305 1302 167.2110 0.0010 1.767 2.111 +D 1312 119 27 49.000 61.42 +D 1311 119 52 54.000 61.47 +D 1311 119 52 55.000 61.47 +D 1316 121 47 49.000 61.73 +D 1310 144 01 40.000 57.10 +D SB13 177 18 03.000 4.971 +D 1302 241 07 32.000 2.349 +V 1305 1309 82 45 48.000 56.74 1.7670 0.0000 +V 1305 1308 108 22 04.000 110.2 1.7670 0.0000 +V 1305 1312 104 48 07.000 61.42 1.7670 0.0000 +V 1305 1311 106 25 33.000 61.47 1.7670 0.0000 +V 1305 1311 106 25 36.000 61.47 1.7670 0.0000 +V 1305 1316 111 03 23.000 61.73 1.7670 0.0000 +V 1305 1310 99 26 33.000 57.10 1.7670 0.0000 +V 1305 SB13 91 13 11.000 4.971 1.7670 1.5990 +V 1305 1302 88 56 50.000 2.349 1.7670 2.1110 +S 1305 1309 3.6370 0.0050 1.7670 0.0000 +S 1305 1308 1.8710 0.0050 1.7670 0.0000 +S 1305 1312 3.3600 0.0050 1.7670 0.0000 +S 1305 1311 3.3570 0.0050 1.7670 0.0000 +S 1305 1311 3.3570 0.0050 1.7670 0.0000 +S 1305 1316 3.3430 0.0050 1.7670 0.0000 +S 1305 1310 3.6140 0.0050 1.7670 0.0000 +S 1305 SB13 45.3180 0.0052 1.7670 1.5990 +S 1305 1302 167.2110 0.0058 1.7670 2.1110 diff --git a/geodepy/tests/test_surveyconvert.py b/geodepy/tests/test_surveyconvert.py index ec46651..2f7a0a8 100644 --- a/geodepy/tests/test_surveyconvert.py +++ b/geodepy/tests/test_surveyconvert.py @@ -51,6 +51,20 @@ def test_gsi2msr(self): original_stn.close() temp_stn.close() + def test_gsi2msr_no_config(self): + abs_path = os.path.abspath(os.path.dirname(__file__)) + tempdir = tempfile.TemporaryDirectory() + files = ['ST0618HZ.gsi'] + for f in files: + shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) + temp_gsi_filepath = os.path.join(tempdir.name, 'ST0618HZ.gsi') + gsi2msr(temp_gsi_filepath) + original_stn = open(os.path.join(abs_path, 'resources/ST0618HZ_noconfig.msr')) + temp_stn = open(os.path.join(tempdir.name, 'ST0618HZ.msr')) + assert [row for row in original_stn] == [row for row in temp_stn] + original_stn.close() + temp_stn.close() + if __name__ == '__main__': unittest.main() From 2cd8aa988a619b2a9a2a4e2c1cf50063c682f085 Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Wed, 10 Apr 2019 13:56:05 +1000 Subject: [PATCH 02/12] - added gsi2stn - modified survey function va_conv - added test coverage for va_conv --- geodepy/survey.py | 41 +++++++------- geodepy/surveyconvert/dna.py | 6 +- geodepy/surveyconvert/gsi.py | 107 +++++++++++++++++++++++++++++++++++ geodepy/tests/test_survey.py | 27 ++++++++- 4 files changed, 155 insertions(+), 26 deletions(-) diff --git a/geodepy/survey.py b/geodepy/survey.py index 8bf1d93..fda1d60 100644 --- a/geodepy/survey.py +++ b/geodepy/survey.py @@ -5,7 +5,7 @@ Survey Module """ -from math import sqrt, sin, cos, asin, radians, degrees, exp +from math import sqrt, sin, cos, atan, radians, degrees, exp from geodepy.convert import hp2dec, dec2hp @@ -49,48 +49,45 @@ def first_vel_corrn(dist, first_vel_param, temp, pressure, rel_humidity): return first_vel_corrn_metres -def va_conv(verta_hp, slope_dist, height_inst=0, height_tgt=0): +def va_conv(zenith_angle, slope_dist, height_inst=0, height_tgt=0): """ Function to convert vertical angles (zenith distances) and slope distances into horizontal distances and changes in height. Instrument and Target heights can be entered to allow computation of zenith and slope distances between ground points. - :param verta_hp: Vertical Angle from Instrument to Target, expressed - in HP Format (DDD.MMSSSSSS) + :param zenith_angle: Zenith Angle from Instrument to Target, expressed + in decimal degrees :param slope_dist: Slope Distance from Instrument to Target in metres :param height_inst: Height of Instrument. Optional - Default Value of 0m :param height_tgt: Height of Target. Optional - Default Value of 0m - :return: verta_pt_hp: Vertical Angle between Ground Points, expressed - in HP Format (DDD.MMSSSSSS) + :return: vert_angle_pt: Vertical Angle between Ground Points, expressed + in decimal degrees :return: slope_dist_pt: Slope Distance between Ground Points in metres :return: hz_dist: Horizontal Distance :return: delta_ht: Change in height between Ground Points in metres """ # Convert Zenith Angle to Vertical Angle try: - if verta_hp == 0 or verta_hp == 180: + if zenith_angle == 0 or zenith_angle == 180: raise ValueError - elif 0 < verta_hp < 180: - verta = radians(90 - hp2dec(verta_hp)) - elif 180 < verta_hp < 360: - verta = radians(270 - hp2dec(verta_hp)) + elif 0 < zenith_angle < 180: + zenith_angle = radians(90 - zenith_angle) + elif 180 < zenith_angle < 360: + zenith_angle = radians(270 - zenith_angle) else: raise ValueError except ValueError: print('ValueError: Vertical Angle Invalid') + raise ValueError return # Calculate Horizontal Dist and Delta Height - hz_dist = slope_dist * cos(verta) - delta_ht = slope_dist * sin(verta) + hz_dist = slope_dist * cos(zenith_angle) + delta_ht = slope_dist * sin(zenith_angle) # Account for Target and Instrument Heights - if height_inst == 0 and height_tgt == 0: - verta_pt_hp = verta_hp - slope_dist_pt = slope_dist - else: - delta_ht = height_inst + delta_ht - height_tgt - slope_dist_pt = sqrt(delta_ht ** 2 + hz_dist ** 2) - verta_pt = asin(delta_ht / slope_dist) - verta_pt_hp = dec2hp(degrees(verta_pt) + 90) - return verta_pt_hp, slope_dist_pt, hz_dist, delta_ht + delta_ht = height_inst + delta_ht - height_tgt + slope_dist_pt = sqrt(delta_ht ** 2 + hz_dist ** 2) + vert_angle_pt = atan(delta_ht / hz_dist) + vert_angle_pt = degrees(vert_angle_pt) + return vert_angle_pt, slope_dist_pt, hz_dist, delta_ht diff --git a/geodepy/surveyconvert/dna.py b/geodepy/surveyconvert/dna.py index cd7055b..2cba821 100644 --- a/geodepy/surveyconvert/dna.py +++ b/geodepy/surveyconvert/dna.py @@ -50,7 +50,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev_angular=1, stdev_pointing=0.00 else: # calc stdev for first ob if obslist[0].sd_obs == 0: - stdev_pt = stdev_angular + stdev_pt = str(stdev_angular) else: pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / obslist[0].sd_obs))) stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2))) @@ -69,7 +69,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev_angular=1, stdev_pointing=0.00 # create other lines using range(1:) for num in range(1, len(obslist)): if obslist[num].sd_obs == 0: # keep - stdev_pt = stdev_angular + stdev_pt = str(stdev_angular) else: pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / obslist[num].sd_obs))) stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2))) @@ -127,7 +127,7 @@ def dnaout_va(obslist, same_stdev=True, stdev=1, stdev_pointing=0.001): # Calc Standard Deviation (in seconds) based on pointing error (in metres) # and angular standard deviation (in seconds) if observation.sd_obs == 0: - stdev_pt = stdev + stdev_pt = str(stdev) else: pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / observation.sd_obs))) stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev ** 2))) diff --git a/geodepy/surveyconvert/gsi.py b/geodepy/surveyconvert/gsi.py index fa25d3b..a07228d 100644 --- a/geodepy/surveyconvert/gsi.py +++ b/geodepy/surveyconvert/gsi.py @@ -95,6 +95,113 @@ def gsi2msr(path, cfg_path=None): return msr +def gsi2stn(path, utmzone, cfg_path=None): + """ + Converts coordinate list file (.txt) associated with .fbk file into DNA v3 stn file + :param path: .txt co-ordinate list associated with .fbk file + :param utmzone: UTM Coordinate Zone as string i.e. 'S56' for Southern Hemisphere Zone 56 + :param cfg_path: .gpy DNA conversion config file + :return: DNA v3 .stn file (same directory as source .fbk file) + """ + # Read Data from file + with open(path) as raw: + ptlist = raw.readlines() + # Split comma separated values, replace blanks with zeroes + for num, line in enumerate(ptlist): + ptlist[num] = ptlist[num].strip() + ptlist[num] = ptlist[num].split(',') + for place, item in enumerate(ptlist[num]): + if item == '0': + ptlist[num][place] = '0' + # Read Config file contents + if cfg_path is not None: + cfg_list = readconfig(cfg_path) + constrain_list = [] + rename_list = [] + remove_list = [] + for group in cfg_list: + group_header = group[0].lower() + if group_header.startswith('constrain'): + constrain_list = group[1:] + elif group_header.startswith('rename'): + rename_list = group[1:] + elif group_header.startswith('remove'): + remove_list = group[1:] + + # Perform Block Shift of Coordinates as Specified in Config + elif group_header.startswith('blockshift'): + shift_list = group[1:] + delta_east = shift_list[0] + delta_north = shift_list[1] + delta_up = shift_list[2] + for pt in ptlist: + pt[1] = str('{:.4f}'.format(float(pt[1]) + float(delta_east))) + pt[2] = str('{:.4f}'.format(float(pt[2]) + float(delta_north))) + pt[3] = str('{:.4f}'.format(float(pt[3]) + float(delta_up))) + + # Rename Points as per Config file + for num, i in enumerate(rename_list): + rename_list[num] = i.split(',') + for pt_rename in rename_list: + for num, pt in enumerate(ptlist): + if pt[0] == pt_rename[0]: + ptlist[num][0] = pt_rename[1] + + # Remove Points as per Config file + for pt_rem in remove_list: + for num, pt in enumerate(ptlist): + if pt[0] == pt_rem: + del ptlist[num] + + # Set Points in Config Constrains list to 'CCC' + for num, pt in enumerate(ptlist): + ptlist[num] = ['FFF'] + pt + for pt_constrain in constrain_list: + for num, pt in enumerate(ptlist): + if pt[1] == pt_constrain: + ptlist[num][0] = 'CCC' + + # Remove Duplicate Station Points + cleanlist = [] + deduplist = [] + dedupnum = [] + for num, pt in enumerate(ptlist): + if pt[1] not in deduplist: + deduplist.append(pt[1]) + dedupnum.append(num) + for num in dedupnum: + cleanlist.append(ptlist[num]) + + # Write header line + stn = [] + now = datetime(2020, 1, 1) + header = ('!#=DNA 3.01 STN ' + + str(now.day).rjust(2, '0') + '.' + + str(now.month).rjust(2, '0') + '.' + + str(now.year) + + 'GDA94'.rjust(14) + + (str(len(cleanlist))).rjust(25)) + stn.append(header) + + # Write line strings in stn format + for pt in cleanlist: + line = (pt[1].ljust(20) # Pt ID + + pt[0] # Constraint + + ' UTM ' # Projection + + pt[2].rjust(13) # Easting + + pt[3].rjust(18) # Northing + + pt[4].rjust(16) # Elevation + + utmzone.rjust(15)) # Hemisphere/Zone input + stn.append(line) + # Write line strings to file + fn, ext = os.path.splitext(path) + stn_fn = fn + '.stn' + with open(stn_fn, 'w+') as stn_file: + for line in stn: + stn_file.write(line + '\n') + return stn + + def readgsi(filepath): """ Takes in a gsi file (GA_Survey2.frt) and returns a list diff --git a/geodepy/tests/test_survey.py b/geodepy/tests/test_survey.py index bcb92cd..b7ada65 100644 --- a/geodepy/tests/test_survey.py +++ b/geodepy/tests/test_survey.py @@ -1,5 +1,5 @@ import unittest -from geodepy.survey import first_vel_params, first_vel_corrn +from geodepy.survey import first_vel_params, first_vel_corrn, va_conv class TestSurveyConvert(unittest.TestCase): @@ -24,6 +24,31 @@ def test_first_vel_corrn(self): corrected_obs_distance = raw_obs_distance + correction self.assertEqual(round(corrected_obs_distance, 4), 1117.8618) + def test_va_conv(self): + test1 = va_conv(92.24305555555556, 2116.254) + self.assertAlmostEqual(test1[0], -2.243055555555556, 14) + self.assertEqual(test1[1], 2116.254) + self.assertAlmostEqual(test1[2], 2114.6325, 5) + self.assertAlmostEqual(test1[3], -82.82744, 5) + test2 = va_conv(83.18694444444445, 145.145, 1.62, 0.05) + self.assertEqual(test2[0], 7.427622182644272) + self.assertAlmostEqual(test2[1], 145.33961, 5) + self.assertAlmostEqual(test2[2], 144.12006, 5) + self.assertAlmostEqual(test2[3], 18.78858, 5) + test3 = va_conv(1.25, 12.23, 2.05) + self.assertAlmostEqual(test3[0], 88.92943808746813, 14) + self.assertAlmostEqual(test3[1], 14.27958, 5) + self.assertAlmostEqual(test3[2], 0.266796, 5) + self.assertAlmostEqual(test3[3], 14.277089, 5) + test4 = va_conv(264.70444444444445, 3.25, 1.4) + self.assertAlmostEqual(test4[0], 27.71315483945665, 14) + self.assertAlmostEqual(test4[1], 3.65546, 5) + self.assertAlmostEqual(test4[2], 3.23613, 5) + self.assertAlmostEqual(test4[3], 1.69995, 5) + with self.assertRaises(ValueError): + va_conv(-3.62, 1.5) + va_conv('brian', 16) + if __name__ == '__main__': unittest.main() From 63456d87b0938131c346cf9252c82703f2c55c9e Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Thu, 11 Apr 2019 16:36:27 +1000 Subject: [PATCH 03/12] geodepy.survey - added function precise_inst_ht (incl. test coverage) geodepy.surveyconvert.gsi - changed gsi outputs to take name from .gpy file --- geodepy/survey.py | 28 ++++++++++++++++++++++++++-- geodepy/surveyconvert/gsi.py | 18 +++++++++++++----- geodepy/tests/test_survey.py | 16 +++++++++++++++- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/geodepy/survey.py b/geodepy/survey.py index fda1d60..45c9e40 100644 --- a/geodepy/survey.py +++ b/geodepy/survey.py @@ -6,7 +6,7 @@ """ from math import sqrt, sin, cos, atan, radians, degrees, exp -from geodepy.convert import hp2dec, dec2hp +from statistics import mean, stdev def first_vel_params(wavelength, temp=12, pressure=1013.25, rel_humidity=60): @@ -49,6 +49,31 @@ def first_vel_corrn(dist, first_vel_param, temp, pressure, rel_humidity): return first_vel_corrn_metres +def precise_inst_ht(vert_list, spacing, offset): + """ + Uses a set of Vertical Angle Observations taken to a + levelling staff at regular intervals to determine the + height of the instrument above a reference mark + :param vert_list: List of Vertical (Zenith) Angle Observations (minimum of 3) in Decimal Degrees format + :param spacing: Distance in metres between each vertical angle observation + :param offset: Lowest observed height above reference mark + :return: Instrument Height above reference mark and its standard deviation + """ + if len(vert_list) < 3: + raise ValueError('ValueError: 3 or more vertical angles required') + vert_list.sort(reverse=True) + vert_pairs = [(va1, va2) for va1, va2 in zip(vert_list, vert_list[1:])] + base_ht = [] + height_comp = [] + for num, pair in enumerate(vert_pairs): + base_ht_pair = offset + num * spacing + base_ht.append(base_ht_pair) + dist_a = sin(radians(pair[1])) * (spacing / (sin(radians(pair[0] - pair[1])))) + delta_ht = dist_a * (sin(radians(pair[0] - 90))) + height_comp.append(delta_ht + base_ht[num]) + return round(mean(height_comp), 5), round(stdev(height_comp), 5) + + def va_conv(zenith_angle, slope_dist, height_inst=0, height_tgt=0): """ Function to convert vertical angles (zenith distances) and slope distances @@ -81,7 +106,6 @@ def va_conv(zenith_angle, slope_dist, height_inst=0, height_tgt=0): except ValueError: print('ValueError: Vertical Angle Invalid') raise ValueError - return # Calculate Horizontal Dist and Delta Height hz_dist = slope_dist * cos(zenith_angle) delta_ht = slope_dist * sin(zenith_angle) diff --git a/geodepy/surveyconvert/gsi.py b/geodepy/surveyconvert/gsi.py index a07228d..2b4ca62 100644 --- a/geodepy/surveyconvert/gsi.py +++ b/geodepy/surveyconvert/gsi.py @@ -39,7 +39,7 @@ def gsi2msr(path, cfg_path=None): stdev_params = None # Reduce observations in setups for setup in gsi_project: - reduced_obs = reducesetup(setup.observation, strict=False, zerodist=False) + reduced_obs = reducesetup(setup.observation, strict=False, zerodist=True) setup.observation = reduced_obs # Perform First Velocity Correction if first_vel_obs is not None: @@ -86,8 +86,12 @@ def gsi2msr(path, cfg_path=None): msr = [line for sublist in msr_raw for line in sublist] msr = [header] + msr # Output MSR File - fn, ext = os.path.splitext(path) - msr_fn = fn + '.msr' + if cfg_path is not None: + fn, ext = os.path.splitext(cfg_path) + msr_fn = fn + '.msr' + else: + fn, ext = os.path.splitext(path) + msr_fn = fn + '.msr' with open(msr_fn, 'w+') as msr_file: for line in msr: msr_file.write(line + '\n') @@ -194,8 +198,12 @@ def gsi2stn(path, utmzone, cfg_path=None): + utmzone.rjust(15)) # Hemisphere/Zone input stn.append(line) # Write line strings to file - fn, ext = os.path.splitext(path) - stn_fn = fn + '.stn' + if cfg_path is not None: + fn, ext = os.path.splitext(cfg_path) + stn_fn = fn + '.stn' + else: + fn, ext = os.path.splitext(path) + stn_fn = fn + '.stn' with open(stn_fn, 'w+') as stn_file: for line in stn: stn_file.write(line + '\n') diff --git a/geodepy/tests/test_survey.py b/geodepy/tests/test_survey.py index b7ada65..66fd342 100644 --- a/geodepy/tests/test_survey.py +++ b/geodepy/tests/test_survey.py @@ -1,5 +1,5 @@ import unittest -from geodepy.survey import first_vel_params, first_vel_corrn, va_conv +from geodepy.survey import first_vel_params, first_vel_corrn, precise_inst_ht, va_conv class TestSurveyConvert(unittest.TestCase): @@ -49,6 +49,20 @@ def test_va_conv(self): va_conv(-3.62, 1.5) va_conv('brian', 16) + def test_precise_inst_ht(self): + va1 = 99.50920833333333 + va2 = 95.67597222222223 + va3 = 91.80145833333333 + va4 = 87.90518055555556 + test1 = precise_inst_ht([va1, va2, va3, va4], 0.4, 0.8) + self.assertEqual(test1[0], 1.78458) + self.assertEqual(test1[1], 0.00083) + test2 = precise_inst_ht([va3, va1, va2], 0.4, 0.8) + self.assertEqual(test2[0], 1.78441) + self.assertEqual(test2[1], 0.00109) + with self.assertRaises(ValueError): + precise_inst_ht([va1, va2], 0.4, 0.8) + if __name__ == '__main__': unittest.main() From 485a3413b62ba9d95923bb8416804da7ae997c27 Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Fri, 12 Apr 2019 15:42:21 +1000 Subject: [PATCH 04/12] geodepy.survey - added radiations and joins (and test coverage) geodepy.convert - new functions polar2rect and rect2polar geodepy.surveyconvert.gsi - bugfix in gsi2stn geodepy.tests.test_surveyconvert - added cleanup of temp dirs, started new test for gsi2stn --- geodepy/convert.py | 18 +++++++++++++++++- geodepy/survey.py | 13 +++++++++++-- geodepy/surveyconvert/gsi.py | 2 +- geodepy/tests/test_geodesy.py | 5 +++++ geodepy/tests/test_survey.py | 28 +++++++++++++++++++++++++++- geodepy/tests/test_surveyconvert.py | 15 +++++++++++++++ 6 files changed, 76 insertions(+), 5 deletions(-) diff --git a/geodepy/convert.py b/geodepy/convert.py index 892e396..11fa4e9 100755 --- a/geodepy/convert.py +++ b/geodepy/convert.py @@ -5,7 +5,7 @@ Conversions Module """ -from math import modf +from math import modf, sin, cos, atan2, radians, degrees, sqrt def dec2hp(dec): @@ -171,6 +171,22 @@ def hp2ddm(hp): return DDMAngle(degree, minute) if hp >= 0 else DDMAngle(-degree, minute) +def polar2rect(r, theta): + x = r * sin(radians(theta)) + y = r * cos(radians(theta)) + return x, y + + +def rect2polar(x, y): + r = sqrt(x ** 2 + y ** 2) + theta = atan2(x, y) + if theta < 0: + theta = degrees(theta) + 360 + else: + theta = degrees(theta) + return r, theta + + # ---------------- # Legacy Functions # dd2dms refactored as dec2hp diff --git a/geodepy/survey.py b/geodepy/survey.py index 45c9e40..9a1fbcd 100644 --- a/geodepy/survey.py +++ b/geodepy/survey.py @@ -7,6 +7,7 @@ from math import sqrt, sin, cos, atan, radians, degrees, exp from statistics import mean, stdev +from geodepy.convert import rect2polar, polar2rect def first_vel_params(wavelength, temp=12, pressure=1013.25, rel_humidity=60): @@ -74,6 +75,15 @@ def precise_inst_ht(vert_list, spacing, offset): return round(mean(height_comp), 5), round(stdev(height_comp), 5) +def joins(east1, north1, east2, north2): + return rect2polar(east2 - east1, north2 - north1) + + +def radiations(east1, north1, brg1to2, dist, rotation=0, psf=1): + delta_east, delta_north = polar2rect(dist * psf, brg1to2 + rotation) + return east1 + delta_east, north1 + delta_north + + def va_conv(zenith_angle, slope_dist, height_inst=0, height_tgt=0): """ Function to convert vertical angles (zenith distances) and slope distances @@ -104,8 +114,7 @@ def va_conv(zenith_angle, slope_dist, height_inst=0, height_tgt=0): else: raise ValueError except ValueError: - print('ValueError: Vertical Angle Invalid') - raise ValueError + raise ValueError('ValueError: Vertical Angle Invalid') # Calculate Horizontal Dist and Delta Height hz_dist = slope_dist * cos(zenith_angle) delta_ht = slope_dist * sin(zenith_angle) diff --git a/geodepy/surveyconvert/gsi.py b/geodepy/surveyconvert/gsi.py index 2b4ca62..931521d 100644 --- a/geodepy/surveyconvert/gsi.py +++ b/geodepy/surveyconvert/gsi.py @@ -115,7 +115,7 @@ def gsi2stn(path, utmzone, cfg_path=None): ptlist[num] = ptlist[num].strip() ptlist[num] = ptlist[num].split(',') for place, item in enumerate(ptlist[num]): - if item == '0': + if item == '': ptlist[num][place] = '0' # Read Config file contents if cfg_path is not None: diff --git a/geodepy/tests/test_geodesy.py b/geodepy/tests/test_geodesy.py index bbe06f8..8306a52 100644 --- a/geodepy/tests/test_geodesy.py +++ b/geodepy/tests/test_geodesy.py @@ -19,6 +19,11 @@ def test_vincinv(self): self.assertEqual(round(dec2hp(azimuth1to2), 6), 306.520537) self.assertEqual(round(dec2hp(azimuth2to1), 6), 127.102507) + test2 = vincinv(lat1, long1, lat1, long1) + self.assertEqual(test2[0], 0) + self.assertEqual(test2[0], 0) + self.assertEqual(test2[2], 0) + def test_vincdir(self): # Flinders Peak lat1 = hp2dec(-37.57037203) diff --git a/geodepy/tests/test_survey.py b/geodepy/tests/test_survey.py index 66fd342..2b6f7dc 100644 --- a/geodepy/tests/test_survey.py +++ b/geodepy/tests/test_survey.py @@ -1,5 +1,6 @@ import unittest -from geodepy.survey import first_vel_params, first_vel_corrn, precise_inst_ht, va_conv +from geodepy.survey import first_vel_params, first_vel_corrn, precise_inst_ht, va_conv, radiations, joins +from geodepy.convert import DMSAngle class TestSurveyConvert(unittest.TestCase): @@ -63,6 +64,31 @@ def test_precise_inst_ht(self): with self.assertRaises(ValueError): precise_inst_ht([va1, va2], 0.4, 0.8) + def test_joins(self): + test1 = joins(500, 500, 460.529, 493.218) + self.assertAlmostEqual(test1[0], 40.049, 3) + self.assertAlmostEqual(test1[1], 260.2505, 4) + test2 = joins(500, 500, 458.129, 515.419) + self.assertAlmostEqual(test2[0], 44.620, 3) + self.assertAlmostEqual(test2[1], 290.2162, 4) + test3 = joins(562.677, 548.598, 580.905, 569.481) + self.assertAlmostEqual(test3[0], 27.719, 3) + self.assertAlmostEqual(test3[1], 41.1165, 4) + test4 = joins(582.510, 488.332, 585.996, 463.264) + self.assertAlmostEqual(test4[0], 25.309, 3) + self.assertAlmostEqual(test4[1], 172.0831, 4) + + def test_radiations(self): + test1 = radiations(500, 500, DMSAngle(290, 13).dec(), 44.620, DMSAngle(2, 18, 35).dec(), 1.002515) + self.assertAlmostEqual(test1[0], 458.681, 3) + self.assertAlmostEqual(test1[1], 517.137, 3) + test2 = radiations(500, 500, DMSAngle(290, 13).dec(), 44.620) + self.assertAlmostEqual(test2[0], 458.129, 3) + self.assertAlmostEqual(test2[1], 515.419, 3) + test3 = radiations(564.747, 546.148, DMSAngle(41, 7).dec(), 27.720, DMSAngle(2, 18, 35).dec(), 1.002515) + self.assertAlmostEqual(test3[0], 583.850, 3) + self.assertAlmostEqual(test3[1], 566.331, 3) + if __name__ == '__main__': unittest.main() diff --git a/geodepy/tests/test_surveyconvert.py b/geodepy/tests/test_surveyconvert.py index 2f7a0a8..2633ded 100644 --- a/geodepy/tests/test_surveyconvert.py +++ b/geodepy/tests/test_surveyconvert.py @@ -21,6 +21,7 @@ def test_fbk2msr(self): assert [row for row in original_msr] == [row for row in temp_msr] original_msr.close() temp_msr.close() + tempdir.cleanup() def test_writestn(self): abs_path = os.path.abspath(os.path.dirname(__file__)) @@ -35,6 +36,7 @@ def test_writestn(self): assert [row for row in original_stn] == [row for row in temp_stn] original_stn.close() temp_stn.close() + tempdir.cleanup() def test_gsi2msr(self): abs_path = os.path.abspath(os.path.dirname(__file__)) @@ -50,6 +52,7 @@ def test_gsi2msr(self): assert [row for row in original_stn] == [row for row in temp_stn] original_stn.close() temp_stn.close() + tempdir.cleanup() def test_gsi2msr_no_config(self): abs_path = os.path.abspath(os.path.dirname(__file__)) @@ -64,6 +67,18 @@ def test_gsi2msr_no_config(self): assert [row for row in original_stn] == [row for row in temp_stn] original_stn.close() temp_stn.close() + tempdir.cleanup() + + def test_gsi2stn(self): + abs_path = os.path.abspath(os.path.dirname(__file__)) + tempdir = tempfile.TemporaryDirectory() + files = ['ST0618HZ.gsi'] + for f in files: + shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) + temp_gsi_filepath = os.path.join(tempdir.name, 'ST0618HZ.gsi') + #TODO: finish test_gsi2stn testing + tempdir.cleanup() + pass if __name__ == '__main__': From 2050c416a5cc95d2eb15904a7d8f9b3b8bd1b211 Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Fri, 12 Apr 2019 16:07:18 +1000 Subject: [PATCH 05/12] geodepy.convert - added more test coverage --- geodepy/convert.py | 8 ++++---- geodepy/tests/test_convert.py | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/geodepy/convert.py b/geodepy/convert.py index 11fa4e9..f9fa98b 100755 --- a/geodepy/convert.py +++ b/geodepy/convert.py @@ -40,14 +40,14 @@ def __sub__(self, other): def __mul__(self, other): try: return dec2dms(self.dec() * other) - except ValueError: - raise ValueError('Multiply only defined between DMSAngle Object and Int or Float') + except TypeError: + raise TypeError('Multiply only defined between DMSAngle Object and Int or Float') def __rmul__(self, other): try: return dec2dms(other * self.dec()) - except ValueError: - raise ValueError('Multiply only defined between DMSAngle Object and Int or Float') + except TypeError: + raise TypeError('Multiply only defined between DMSAngle Object and Int or Float') def __truediv__(self, other): return dec2dms(self.dec() / other) diff --git a/geodepy/tests/test_convert.py b/geodepy/tests/test_convert.py index 74e3d56..b6c21f5 100644 --- a/geodepy/tests/test_convert.py +++ b/geodepy/tests/test_convert.py @@ -5,6 +5,7 @@ dec_ex2 = 12.575 hp_ex = 123.44555 hp_ex2 = 12.3430 +hp_ex3 = -12.3430 dms_ex = DMSAngle(123, 44, 55.5) dms_ex2 = DMSAngle(12, 34, 30) @@ -29,17 +30,30 @@ def test_DMSAngle(self): # Test DMSAngle Methods self.assertEqual(dec_ex, dms_ex.dec()) self.assertEqual(hp_ex, dms_ex.hp()) + self.assertEqual(hp_ex3, dms_ex3.hp()) self.assertEqual(ddm_ex, dms_ex.ddm()) # Test DMSAngle Overloads self.assertEqual(dec_ex + dec_ex2, (dms_ex + dms_ex2).dec()) self.assertEqual(dec_ex - dec_ex2, (dms_ex - dms_ex2).dec()) self.assertEqual(dec_ex * 5, (dms_ex * 5).dec()) + self.assertEqual(5 * dec_ex, (5 * dms_ex).dec()) self.assertEqual(dec_ex / 3, (dms_ex / 3).dec()) self.assertEqual(abs(-dms_ex), dms_ex) self.assertEqual(-dms_ex2, dms_ex3) self.assertEqual(dms_ex2, abs(dms_ex3)) self.assertEqual(dms_ex, ddm_ex) + self.assertTrue(dms_ex == dms_ex) + self.assertFalse(dms_ex == dms_ex2) + self.assertTrue(dms_ex != dms_ex2) + self.assertFalse(dms_ex != dms_ex) + self.assertTrue(dms_ex > dms_ex2) + self.assertFalse(dms_ex2 > dms_ex) + self.assertTrue(dms_ex2 < dms_ex) + self.assertFalse(dms_ex < dms_ex2) + with self.assertRaises(TypeError): + dms_ex * 'a' + 'a' * dms_ex def test_DDMAngle(self): # Test DDMAngle Methods From c77e4951e8f2aab4729b8944393dcee5e9129024 Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Fri, 12 Apr 2019 16:19:09 +1000 Subject: [PATCH 06/12] geodepy.convert - added more test coverage for DDMAngle --- geodepy/convert.py | 6 ++++++ geodepy/tests/test_convert.py | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/geodepy/convert.py b/geodepy/convert.py index f9fa98b..8e16a37 100755 --- a/geodepy/convert.py +++ b/geodepy/convert.py @@ -127,6 +127,12 @@ def __eq__(self, other): def __ne__(self, other): return self.dec() != other.dec() + def __lt__(self, other): + return self.dec() < other.dec() + + def __gt__(self, other): + return self.dec() > other.dec() + def dec(self): if self.degree >= 0: return self.degree + (self.minute / 60) diff --git a/geodepy/tests/test_convert.py b/geodepy/tests/test_convert.py index b6c21f5..ab53e9a 100644 --- a/geodepy/tests/test_convert.py +++ b/geodepy/tests/test_convert.py @@ -60,16 +60,29 @@ def test_DDMAngle(self): self.assertEqual(dec_ex, ddm_ex.dec()) self.assertEqual(hp_ex, ddm_ex.hp()) self.assertEqual(dms_ex, ddm_ex.dms()) + self.assertEqual(hp_ex3, ddm_ex3.hp()) # Test DDMAngle Overloads self.assertEqual(dec_ex + dec_ex2, (ddm_ex + ddm_ex2).dec()) self.assertEqual(dec_ex - dec_ex2, (ddm_ex - ddm_ex2).dec()) self.assertEqual(dec_ex * 5, (ddm_ex * 5).dec()) + self.assertEqual(5 * dec_ex, (5 * ddm_ex).dec()) self.assertEqual(dec_ex / 3, (ddm_ex / 3).dec()) self.assertEqual(abs(-ddm_ex), ddm_ex) self.assertEqual(-ddm_ex2, ddm_ex3) self.assertEqual(ddm_ex2, abs(ddm_ex3)) self.assertEqual(ddm_ex, dms_ex) + self.assertTrue(ddm_ex == ddm_ex) + self.assertFalse(ddm_ex == ddm_ex2) + self.assertTrue(ddm_ex != ddm_ex2) + self.assertFalse(ddm_ex != ddm_ex) + self.assertTrue(ddm_ex > ddm_ex2) + self.assertFalse(ddm_ex2 > ddm_ex) + self.assertTrue(ddm_ex2 < ddm_ex) + self.assertFalse(ddm_ex < ddm_ex2) + with self.assertRaises(TypeError): + ddm_ex * 'a' + 'a' * ddm_ex def test_dec2dms(self): self.assertEqual(dms_ex, dec2dms(dec_ex)) From d5174c51378563f33d254dc454e82caaa49dce3e Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Fri, 12 Apr 2019 16:32:30 +1000 Subject: [PATCH 07/12] geodepy.convert - minor changes to tests --- geodepy/convert.py | 8 ++++---- geodepy/tests/test_convert.py | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/geodepy/convert.py b/geodepy/convert.py index 8e16a37..1913c2b 100755 --- a/geodepy/convert.py +++ b/geodepy/convert.py @@ -103,14 +103,14 @@ def __sub__(self, other): def __mul__(self, other): try: return dec2ddm(self.dec() * other) - except ValueError: - raise ValueError('Multiply only defined between DMSAngle Object and Int or Float') + except TypeError: + raise TypeError('Multiply only defined between DMSAngle Object and Int or Float') def __rmul__(self, other): try: return dec2ddm(other * self.dec()) - except ValueError: - raise ValueError('Multiply only defined between DMSAngle Object and Int or Float') + except TypeError: + raise TypeError('Multiply only defined between DMSAngle Object and Int or Float') def __truediv__(self, other): return dec2ddm(self.dec() / other) diff --git a/geodepy/tests/test_convert.py b/geodepy/tests/test_convert.py index ab53e9a..ae8d265 100644 --- a/geodepy/tests/test_convert.py +++ b/geodepy/tests/test_convert.py @@ -53,6 +53,7 @@ def test_DMSAngle(self): self.assertFalse(dms_ex < dms_ex2) with self.assertRaises(TypeError): dms_ex * 'a' + with self.assertRaises(TypeError): 'a' * dms_ex def test_DDMAngle(self): @@ -82,6 +83,7 @@ def test_DDMAngle(self): self.assertFalse(ddm_ex < ddm_ex2) with self.assertRaises(TypeError): ddm_ex * 'a' + with self.assertRaises(TypeError): 'a' * ddm_ex def test_dec2dms(self): From 227a86ee12f72e974fe1e75f3dba25db958f1870 Mon Sep 17 00:00:00 2001 From: jb6t <6S7Jo!f%s8wQ@0yGX8ZM> Date: Mon, 27 May 2019 14:16:38 +1000 Subject: [PATCH 08/12] Add new element to Observation class to allow for counting number of times observation has been repeated. Change DNA output calculation of standard deviations to incorporate repeated observations. --- geodepy/surveyconvert/classtools.py | 8 ++++++-- geodepy/surveyconvert/dna.py | 9 +++++---- geodepy/surveyconvert/fbk.py | 3 ++- geodepy/surveyconvert/gsi.py | 5 +++-- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/geodepy/surveyconvert/classtools.py b/geodepy/surveyconvert/classtools.py index 03373ce..98ccc6b 100644 --- a/geodepy/surveyconvert/classtools.py +++ b/geodepy/surveyconvert/classtools.py @@ -55,13 +55,14 @@ def __iter__(self): class Observation(object): def __init__(self, from_id, to_id, inst_height=0.0, target_height=0.0, - face='FL', hz_obs=DMSAngle(0, 0, 0), va_obs=DMSAngle(0, 0, 0), + face='FL', rounds=0.5, hz_obs=DMSAngle(0, 0, 0), va_obs=DMSAngle(0, 0, 0), sd_obs=0.0, hz_dist=0.0, vert_dist=0.0): self.from_id = from_id self.to_id = to_id self.inst_height = inst_height self.target_height = target_height self.face = face + self.rounds = rounds self.hz_obs = hz_obs self.va_obs = va_obs self.sd_obs = sd_obs @@ -74,6 +75,7 @@ def __repr__(self): + '; inst_height ' + repr(self.inst_height) + '; target_height ' + repr(self.target_height) + '; face ' + repr(self.face) + + '; rounds ' + repr(self.rounds) + '; hz_obs ' + repr(self.hz_obs) + '; va_obs ' + repr(self.va_obs) + '; sd_obs ' + repr(self.sd_obs) @@ -103,6 +105,7 @@ def changeface(self): self.inst_height, self.target_height, newface, + self.rounds, hz_switch, va_switch, self.sd_obs, @@ -173,6 +176,7 @@ def meanfaces(ob1, ob2): ob1.inst_height, ob1.target_height, ob1.face, + ob1.rounds + ob2.rounds, meaned_hz, meaned_va, meaned_sd) @@ -189,7 +193,7 @@ def reducesetup(obslist, strict=False, zerodist=False): If False, these are ignored :return: a reduced list of Observations """ - + # TODO Add meanmulti to this function somehow # Remove obs with sd_obs == 0 if not zerodist: for ob in obslist: diff --git a/geodepy/surveyconvert/dna.py b/geodepy/surveyconvert/dna.py index 2cba821..b49cf52 100644 --- a/geodepy/surveyconvert/dna.py +++ b/geodepy/surveyconvert/dna.py @@ -53,7 +53,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev_angular=1, stdev_pointing=0.00 stdev_pt = str(stdev_angular) else: pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / obslist[0].sd_obs))) - stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2))) + stdev_pt = str((sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2)))/sqrt(obslist[0].rounds)) # create first line using obslist[0] line1 = ('D ' + obslist[0].from_id.ljust(20) @@ -72,7 +72,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev_angular=1, stdev_pointing=0.00 stdev_pt = str(stdev_angular) else: pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / obslist[num].sd_obs))) - stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2))) + stdev_pt = str((sqrt((pointing_err_pt ** 2) + (stdev_angular ** 2)))/sqrt(obslist[num].rounds)) line = ('D ' + ''.ljust(40) + obslist[num].to_id.ljust(20) @@ -89,6 +89,7 @@ def dnaout_dirset(obslist, same_stdev=True, stdev_angular=1, stdev_pointing=0.00 def dnaout_sd(obslist, stdev_distconst=0.001, stdev_distppm=1): dnaobs = [] for observation in obslist: + stdev = (stdev_distconst + ((stdev_distppm/1000000) * observation.sd_obs))/sqrt(observation.rounds) # Exclude slope distances of 0m if observation.sd_obs == 0: pass @@ -99,7 +100,7 @@ def dnaout_sd(obslist, stdev_distconst=0.001, stdev_distppm=1): + ''.ljust(19) + ('{:.4f}'.format(observation.sd_obs)).rjust(9) + ''.ljust(21) - + ('{:.4f}'.format(stdev_distconst + ((stdev_distppm/1000000) * observation.sd_obs))).ljust(8) + + ('{:.4f}'.format(stdev)).ljust(8) + ('{:.4f}'.format(observation.inst_height).ljust(7)) + ('{:.4f}'.format(observation.target_height))) dnaobs.append(line) @@ -130,7 +131,7 @@ def dnaout_va(obslist, same_stdev=True, stdev=1, stdev_pointing=0.001): stdev_pt = str(stdev) else: pointing_err_pt = dd2sec(degrees(atan(stdev_pointing / observation.sd_obs))) - stdev_pt = str(sqrt((pointing_err_pt ** 2) + (stdev ** 2))) + stdev_pt = str((sqrt((pointing_err_pt ** 2) + (stdev ** 2)))/sqrt(observation.rounds)) # Format Line line = ('V ' + observation.from_id.ljust(20) diff --git a/geodepy/surveyconvert/fbk.py b/geodepy/surveyconvert/fbk.py index c461e61..b961400 100644 --- a/geodepy/surveyconvert/fbk.py +++ b/geodepy/surveyconvert/fbk.py @@ -375,13 +375,14 @@ def parse_angle(obs_string): else: ValueError('Invalid Vertical Angle in ' + record) to_id = record[2] # Read To ID + rounds = 0.5 hz_obs = parse_angle(record[3]) # 3 is Hz Ob (HP) sd_obs = float(record[4]) va_obs = parse_angle(record[5]) # 5 is Vert Ob (HP) target_height = float(record[7]) obs = Observation(from_id, to_id, inst_height, target_height, - face, hz_obs, va_obs, sd_obs) + face, rounds, hz_obs, va_obs, sd_obs) obs_list.append(obs) # else: # raise ValueError('Unexpected format found') diff --git a/geodepy/surveyconvert/gsi.py b/geodepy/surveyconvert/gsi.py index 931521d..696b9a7 100644 --- a/geodepy/surveyconvert/gsi.py +++ b/geodepy/surveyconvert/gsi.py @@ -238,7 +238,7 @@ def readgsi(filepath): gsi_listbystation = [] # Create lists of gsi data with station records as first element for j in range(0, len(stn_index)): - gsi_listbystation.append(gsidata[(stn_index[j - 1] - 1):(stn_index[j] - 1)]) + gsi_listbystation.append(gsidata[(stn_index[j - 1] - 1):(stn_index[j])]) del gsi_listbystation[0] return gsi_listbystation @@ -320,11 +320,12 @@ def parse_vert(gsi_line): to_stn = parse_ptid(line) hz = parse_hz(line) face, vert = parse_vert(line) + rounds = 0.5 slope = parse_slope(line) tgtht = parse_tgtht(line) instht = parse_instht(line) obs = Observation(from_stn, to_stn, instht, tgtht, - face, hz, vert, slope) + face, rounds, hz, vert, slope) obs_list.append(obs) if '84..' in record[0]: pt_id = parse_ptid(record[0]) From 0873e9aa83e5a6bebe27f0ae6c7ba36e90e48b47 Mon Sep 17 00:00:00 2001 From: jb6t <6S7Jo!f%s8wQ@0yGX8ZM> Date: Tue, 28 May 2019 15:10:46 +1000 Subject: [PATCH 09/12] Added feature to surveyconvert reducesetup() to allow combination of rounds of observations into a single set of observations. Refactor of surveyconvert test suite and update of example files accounting for changes to reducesetup() --- geodepy/convert.py | 6 + geodepy/surveyconvert/classtools.py | 52 +++- geodepy/surveyconvert/gsi.py | 2 +- geodepy/tests/resources/ST0618HZ.msr | 259 ------------------ geodepy/tests/resources/ST0618HZ_noconfig.msr | 259 ------------------ .../{Site13-134.fbk => fbksample.fbk} | 70 ----- .../{Site13-134.gpy => fbksample.gpy} | 0 .../{Site13-134.msr => fbksample.msr} | 82 ++---- .../{Site13-134.stn => fbksample.stn} | 3 +- .../{Site13-134.txt => fbksample.txt} | 13 - .../resources/{ST0618HZ.gpy => gsisample.gpy} | 0 .../resources/{ST0618HZ.gsi => gsisample.gsi} | 93 +++---- geodepy/tests/resources/gsisample.msr | 40 +++ .../tests/resources/gsisample_noconfig.msr | 40 +++ geodepy/tests/test_surveyconvert.py | 46 ++-- 15 files changed, 217 insertions(+), 748 deletions(-) delete mode 100644 geodepy/tests/resources/ST0618HZ.msr delete mode 100644 geodepy/tests/resources/ST0618HZ_noconfig.msr rename geodepy/tests/resources/{Site13-134.fbk => fbksample.fbk} (68%) rename geodepy/tests/resources/{Site13-134.gpy => fbksample.gpy} (100%) rename geodepy/tests/resources/{Site13-134.msr => fbksample.msr} (55%) rename geodepy/tests/resources/{Site13-134.stn => fbksample.stn} (90%) rename geodepy/tests/resources/{Site13-134.txt => fbksample.txt} (50%) rename geodepy/tests/resources/{ST0618HZ.gpy => gsisample.gpy} (100%) rename geodepy/tests/resources/{ST0618HZ.gsi => gsisample.gsi} (78%) create mode 100644 geodepy/tests/resources/gsisample.msr create mode 100644 geodepy/tests/resources/gsisample_noconfig.msr diff --git a/geodepy/convert.py b/geodepy/convert.py index 1913c2b..71c4fd0 100755 --- a/geodepy/convert.py +++ b/geodepy/convert.py @@ -34,9 +34,15 @@ def __repr__(self): def __add__(self, other): return dec2dms(self.dec() + other.dec()) + def __radd__(self, other): + return dec2dms(other.dec() + self.dec()) + def __sub__(self, other): return dec2dms(self.dec() - other.dec()) + def __rsub__(self, other): + return dec2dms(other.dec() - self.dec()) + def __mul__(self, other): try: return dec2dms(self.dec() * other) diff --git a/geodepy/surveyconvert/classtools.py b/geodepy/surveyconvert/classtools.py index 98ccc6b..5b20aa9 100644 --- a/geodepy/surveyconvert/classtools.py +++ b/geodepy/surveyconvert/classtools.py @@ -7,7 +7,8 @@ import itertools import operator -from geodepy.convert import DMSAngle +from statistics import mean +from geodepy.convert import DMSAngle, dec2dms from geodepy.survey import first_vel_corrn @@ -182,7 +183,7 @@ def meanfaces(ob1, ob2): meaned_sd) -def reducesetup(obslist, strict=False, zerodist=False): +def reducesetup(obslist, strict=False, zerodist=False, meanmulti=False): """ Takes a list of Observations from one setup and means together FL, FR pairs of Observations. @@ -191,9 +192,10 @@ def reducesetup(obslist, strict=False, zerodist=False): single-face Obs are included and converted to Face Left :param zerodist: If True, Obs with Slope Distance of Zero are included. If False, these are ignored + :param meanmulti: If True, multiple rounds of observations are reduced + to a single FL-sense Observation :return: a reduced list of Observations """ - # TODO Add meanmulti to this function somehow # Remove obs with sd_obs == 0 if not zerodist: for ob in obslist: @@ -235,6 +237,50 @@ def reducesetup(obslist, strict=False, zerodist=False): for pair in pairedlist: meanob = meanfaces(pair[0], pair[1]) meanedobs.append(meanob) + # Mean multiple repeated measurements into a single FL observation + if meanmulti: + multiob = [] + to_ids = set([i.to_id for i in meanedobs]) + for id in to_ids: + matchedobs = [] + for ob in meanedobs: + if ob.to_id == id: + matchedobs.append(ob) + ob1 = matchedobs[0] + repeat_hz = [ob.hz_obs.dec() for ob in matchedobs] + repeat_hz = sorted(repeat_hz) + repeat_va = [ob.va_obs.dec() for ob in matchedobs] + repeat_sd = [ob.sd_obs for ob in matchedobs] + # Finds where Horizontal Obseravtions are either side of 360, converts those on 360 side to negative + hz_diff = [j - i for i, j in zip(repeat_hz[:-1], repeat_hz[1:])] + bigjump = 1e100 + for num, i in enumerate(hz_diff): + if i > 180: + bigjump = num + for num, ob in enumerate(repeat_hz): + if num > bigjump: + repeat_hz[num] = repeat_hz[num] - 360 + # Mean Repeated Observations + mean_hz = mean(repeat_hz) + if mean_hz < 0: + mean_hz + 360 + mean_va = mean(repeat_va) + mean_sd = mean(repeat_sd) + # Comp number of rounds completed + sum_rounds = 0 + for ob in matchedobs: + sum_rounds += ob.rounds + # Output Meaned Observation + multiob.append(Observation(ob1.from_id, + id, + ob1.inst_height, + ob1.target_height, + ob1.face, + sum_rounds, + dec2dms(mean_hz), + dec2dms(mean_va), + mean_sd)) + meanedobs = multiob # Order list of meaned obs sorted_meanedobs = sorted(meanedobs, key=operator.attrgetter('hz_obs')) return sorted_meanedobs diff --git a/geodepy/surveyconvert/gsi.py b/geodepy/surveyconvert/gsi.py index 696b9a7..e33a9bb 100644 --- a/geodepy/surveyconvert/gsi.py +++ b/geodepy/surveyconvert/gsi.py @@ -39,7 +39,7 @@ def gsi2msr(path, cfg_path=None): stdev_params = None # Reduce observations in setups for setup in gsi_project: - reduced_obs = reducesetup(setup.observation, strict=False, zerodist=True) + reduced_obs = reducesetup(setup.observation, strict=False, zerodist=True, meanmulti=True) setup.observation = reduced_obs # Perform First Velocity Correction if first_vel_obs is not None: diff --git a/geodepy/tests/resources/ST0618HZ.msr b/geodepy/tests/resources/ST0618HZ.msr deleted file mode 100644 index 110ba1b..0000000 --- a/geodepy/tests/resources/ST0618HZ.msr +++ /dev/null @@ -1,259 +0,0 @@ -!#=DNA 3.01 MSR 01.01.2020 GDA94 01.01.2020 173 -D AU45 AU52 14 18 42 37.800 9.297 -D AU52 18 42 38.000 9.297 -D AU52 18 42 38.100 9.297 -D AU52 18 42 38.250 9.297 -D AU52 18 42 39.000 9.297 -D AU48 177 11 53.500 6.797 -D AU48 177 11 53.600 6.797 -D AU48 177 11 53.850 6.797 -D AU48 177 11 53.950 6.797 -D AU48 177 11 54.150 6.797 -D STR3 359 59 54.450 11.10 -D STR3 359 59 54.450 11.10 -D STR3 359 59 54.750 11.10 -D STR3 359 59 55.000 11.10 -D STR3 359 59 55.050 11.10 -V AU45 AU52 92 13 36.300 9.297 0.0000 0.0000 -V AU45 AU52 92 13 36.150 9.297 0.0000 0.0000 -V AU45 AU52 92 13 35.950 9.297 0.0000 0.0000 -V AU45 AU52 92 13 36.350 9.297 0.0000 0.0000 -V AU45 AU52 92 13 37.750 9.297 0.0000 0.0000 -V AU45 AU48 90 31 48.300 6.797 0.0000 0.0000 -V AU45 AU48 90 31 48.450 6.797 0.0000 0.0000 -V AU45 AU48 90 31 47.750 6.797 0.0000 0.0000 -V AU45 AU48 90 31 48.350 6.797 0.0000 0.0000 -V AU45 AU48 90 31 48.150 6.797 0.0000 0.0000 -V AU45 STR3 93 24 57.800 11.10 0.0000 0.0000 -V AU45 STR3 93 24 56.850 11.10 0.0000 0.0000 -V AU45 STR3 93 24 58.300 11.10 0.0000 0.0000 -V AU45 STR3 93 24 57.400 11.10 0.0000 0.0000 -V AU45 STR3 93 24 57.700 11.10 0.0000 0.0000 -S AU45 AU52 70.3146 0.0064 0.0000 0.0000 -S AU45 AU52 70.3146 0.0064 0.0000 0.0000 -S AU45 AU52 70.3147 0.0064 0.0000 0.0000 -S AU45 AU52 70.3146 0.0064 0.0000 0.0000 -S AU45 AU52 70.3146 0.0064 0.0000 0.0000 -S AU45 AU48 101.4457 0.0070 0.0000 0.0000 -S AU45 AU48 101.4460 0.0070 0.0000 0.0000 -S AU45 AU48 101.4459 0.0070 0.0000 0.0000 -S AU45 AU48 101.4461 0.0070 0.0000 0.0000 -S AU45 AU48 101.4460 0.0070 0.0000 0.0000 -S AU45 STR3 57.8489 0.0062 0.0000 0.0000 -S AU45 STR3 57.8487 0.0062 0.0000 0.0000 -S AU45 STR3 57.8488 0.0062 0.0000 0.0000 -S AU45 STR3 57.8486 0.0062 0.0000 0.0000 -S AU45 STR3 57.8488 0.0062 0.0000 0.0000 -D STR3 AU54 14 48 50 18.750 13.59 -D AU54 48 50 18.950 13.59 -D AU54 48 50 19.000 13.59 -D AU54 48 50 19.100 13.59 -D AU54 48 50 19.650 13.59 -D AU52 248 40 11.400 25.73 -D AU52 248 40 12.050 25.73 -D AU52 248 40 12.150 25.73 -D AU52 248 40 12.350 25.73 -D AU52 248 40 12.400 25.73 -D AU45 359 59 56.350 11.10 -D AU45 359 59 56.650 11.10 -D AU45 359 59 56.850 11.10 -D AU45 359 59 57.150 11.10 -D AU45 359 59 57.200 11.10 -V STR3 AU54 90 23 27.150 13.59 0.0000 0.0000 -V STR3 AU54 90 23 27.850 13.59 0.0000 0.0000 -V STR3 AU54 90 23 27.800 13.59 0.0000 0.0000 -V STR3 AU54 90 23 26.400 13.59 0.0000 0.0000 -V STR3 AU54 90 23 27.400 13.59 0.0000 0.0000 -V STR3 AU52 88 18 24.200 25.73 0.0000 0.0000 -V STR3 AU52 88 18 24.650 25.73 0.0000 0.0000 -V STR3 AU52 88 18 24.050 25.73 0.0000 0.0000 -V STR3 AU52 88 18 24.000 25.73 0.0000 0.0000 -V STR3 AU52 88 18 24.200 25.73 0.0000 0.0000 -V STR3 AU45 86 35 01.250 11.10 0.0000 0.0000 -V STR3 AU45 86 35 01.850 11.10 0.0000 0.0000 -V STR3 AU45 86 35 01.650 11.10 0.0000 0.0000 -V STR3 AU45 86 35 02.700 11.10 0.0000 0.0000 -V STR3 AU45 86 35 02.600 11.10 0.0000 0.0000 -S STR3 AU54 46.6719 0.0059 0.0000 0.0000 -S STR3 AU54 46.6719 0.0059 0.0000 0.0000 -S STR3 AU54 46.6719 0.0059 0.0000 0.0000 -S STR3 AU54 46.6718 0.0059 0.0000 0.0000 -S STR3 AU54 46.6718 0.0059 0.0000 0.0000 -S STR3 AU52 24.2088 0.0055 0.0000 0.0000 -S STR3 AU52 24.2087 0.0055 0.0000 0.0000 -S STR3 AU52 24.2087 0.0055 0.0000 0.0000 -S STR3 AU52 24.2087 0.0055 0.0000 0.0000 -S STR3 AU52 24.2087 0.0055 0.0000 0.0000 -S STR3 AU45 57.8486 0.0062 0.0000 0.0000 -S STR3 AU45 57.8487 0.0062 0.0000 0.0000 -S STR3 AU45 57.8487 0.0062 0.0000 0.0000 -S STR3 AU45 57.8486 0.0062 0.0000 0.0000 -S STR3 AU45 57.8488 0.0062 0.0000 0.0000 -D AU52 AU54 14 36 52 07.000 9.344 -D AU54 36 52 07.100 9.344 -D AU54 36 52 07.550 9.344 -D AU54 36 52 07.600 9.344 -D AU54 36 52 07.700 9.344 -D STR3 49 57 26.450 25.73 -D STR3 49 57 26.700 25.73 -D STR3 49 57 26.800 25.73 -D STR3 49 57 26.850 25.73 -D STR3 49 57 27.100 25.73 -D AU45 359 59 54.000 9.297 -D AU45 359 59 54.050 9.297 -D AU45 359 59 54.200 9.297 -D AU45 359 59 55.050 9.297 -D AU45 359 59 55.150 9.297 -V AU52 AU54 90 50 47.150 9.344 0.0000 0.0000 -V AU52 AU54 90 50 47.000 9.344 0.0000 0.0000 -V AU52 AU54 90 50 47.050 9.344 0.0000 0.0000 -V AU52 AU54 90 50 47.400 9.344 0.0000 0.0000 -V AU52 AU54 90 50 47.850 9.344 0.0000 0.0000 -V AU52 STR3 91 41 31.800 25.73 0.0000 0.0000 -V AU52 STR3 91 41 31.100 25.73 0.0000 0.0000 -V AU52 STR3 91 41 31.650 25.73 0.0000 0.0000 -V AU52 STR3 91 41 31.300 25.73 0.0000 0.0000 -V AU52 STR3 91 41 31.050 25.73 0.0000 0.0000 -V AU52 AU45 87 46 24.250 9.297 0.0000 0.0000 -V AU52 AU45 87 46 24.500 9.297 0.0000 0.0000 -V AU52 AU45 87 46 23.900 9.297 0.0000 0.0000 -V AU52 AU45 87 46 24.750 9.297 0.0000 0.0000 -V AU52 AU45 87 46 25.000 9.297 0.0000 0.0000 -S AU52 AU54 69.9254 0.0064 0.0000 0.0000 -S AU52 AU54 69.9251 0.0064 0.0000 0.0000 -S AU52 AU54 69.9253 0.0064 0.0000 0.0000 -S AU52 AU54 69.9253 0.0064 0.0000 0.0000 -S AU52 AU54 69.9254 0.0064 0.0000 0.0000 -S AU52 STR3 24.2092 0.0055 0.0000 0.0000 -S AU52 STR3 24.2090 0.0055 0.0000 0.0000 -S AU52 STR3 24.2090 0.0055 0.0000 0.0000 -S AU52 STR3 24.2088 0.0055 0.0000 0.0000 -S AU52 STR3 24.2089 0.0055 0.0000 0.0000 -S AU52 AU45 70.3146 0.0064 0.0000 0.0000 -S AU52 AU45 70.3146 0.0064 0.0000 0.0000 -S AU52 AU45 70.3146 0.0064 0.0000 0.0000 -S AU52 AU45 70.3147 0.0064 0.0000 0.0000 -S AU52 AU45 70.3147 0.0064 0.0000 0.0000 -D AU54 STR3 14 0 00 00.550 13.59 -D STR3 0 00 00.700 13.59 -D AU52 6 44 32.600 9.344 -D AU52 6 44 32.700 9.344 -D AU52 6 44 32.850 9.344 -D AU52 6 44 32.900 9.344 -D AU52 6 44 33.050 9.344 -D AU49 189 14 36.900 13.87 -D AU49 189 14 36.950 13.87 -D AU49 189 14 37.100 13.87 -D AU49 189 14 37.250 13.87 -D AU49 189 14 37.300 13.87 -D STR3 359 59 59.200 13.59 -D STR3 359 59 59.400 13.59 -D STR3 359 59 59.450 13.59 -V AU54 STR3 89 36 35.550 13.59 0.0000 0.0000 -V AU54 STR3 89 36 35.400 13.59 0.0000 0.0000 -V AU54 AU52 89 09 13.000 9.344 0.0000 0.0000 -V AU54 AU52 89 09 13.850 9.344 0.0000 0.0000 -V AU54 AU52 89 09 13.650 9.344 0.0000 0.0000 -V AU54 AU52 89 09 13.300 9.344 0.0000 0.0000 -V AU54 AU52 89 09 12.800 9.344 0.0000 0.0000 -V AU54 AU49 95 16 50.550 13.87 0.0000 0.0000 -V AU54 AU49 95 16 50.750 13.87 0.0000 0.0000 -V AU54 AU49 95 16 50.150 13.87 0.0000 0.0000 -V AU54 AU49 95 16 50.250 13.87 0.0000 0.0000 -V AU54 AU49 95 16 50.700 13.87 0.0000 0.0000 -V AU54 STR3 89 36 35.300 13.59 0.0000 0.0000 -V AU54 STR3 89 36 36.200 13.59 0.0000 0.0000 -V AU54 STR3 89 36 37.200 13.59 0.0000 0.0000 -S AU54 STR3 46.6721 0.0059 0.0000 0.0000 -S AU54 STR3 46.6718 0.0059 0.0000 0.0000 -S AU54 AU52 69.9252 0.0064 0.0000 0.0000 -S AU54 AU52 69.9254 0.0064 0.0000 0.0000 -S AU54 AU52 69.9254 0.0064 0.0000 0.0000 -S AU54 AU52 69.9252 0.0064 0.0000 0.0000 -S AU54 AU52 69.9251 0.0064 0.0000 0.0000 -S AU54 AU49 45.6893 0.0059 0.0000 0.0000 -S AU54 AU49 45.6895 0.0059 0.0000 0.0000 -S AU54 AU49 45.6894 0.0059 0.0000 0.0000 -S AU54 AU49 45.6894 0.0059 0.0000 0.0000 -S AU54 AU49 45.6895 0.0059 0.0000 0.0000 -S AU54 STR3 46.6719 0.0059 0.0000 0.0000 -S AU54 STR3 46.6719 0.0059 0.0000 0.0000 -S AU54 STR3 46.6718 0.0059 0.0000 0.0000 -D AU49 AU54 11 275 07 26.200 13.87 -D AU54 275 07 26.350 13.87 -D AU54 275 07 26.400 13.87 -D AU54 275 07 26.400 13.87 -D AU54 275 07 26.550 13.87 -D AU54 275 07 26.600 13.87 -D AU48 359 59 57.250 5.600 -D AU48 359 59 57.450 5.600 -D AU48 359 59 57.600 5.600 -D AU48 359 59 57.750 5.600 -D AU48 359 59 57.900 5.600 -D AU48 359 59 58.150 5.600 -V AU49 AU54 84 43 07.800 13.87 0.0000 0.0000 -V AU49 AU54 84 43 07.200 13.87 0.0000 0.0000 -V AU49 AU54 84 43 07.450 13.87 0.0000 0.0000 -V AU49 AU54 84 43 07.600 13.87 0.0000 0.0000 -V AU49 AU54 84 43 06.900 13.87 0.0000 0.0000 -V AU49 AU54 84 43 07.150 13.87 0.0000 0.0000 -V AU49 AU48 86 55 09.450 5.600 0.0000 0.0000 -V AU49 AU48 86 55 09.550 5.600 0.0000 0.0000 -V AU49 AU48 86 55 09.900 5.600 0.0000 0.0000 -V AU49 AU48 86 55 09.850 5.600 0.0000 0.0000 -V AU49 AU48 86 55 09.750 5.600 0.0000 0.0000 -V AU49 AU48 86 55 09.650 5.600 0.0000 0.0000 -S AU49 AU54 45.6894 0.0059 0.0000 0.0000 -S AU49 AU54 45.6894 0.0059 0.0000 0.0000 -S AU49 AU54 45.6894 0.0059 0.0000 0.0000 -S AU49 AU54 45.6894 0.0059 0.0000 0.0000 -S AU49 AU54 45.6894 0.0059 0.0000 0.0000 -S AU49 AU54 45.6894 0.0059 0.0000 0.0000 -S AU49 AU48 130.8524 0.0076 0.0000 0.0000 -S AU49 AU48 130.8522 0.0076 0.0000 0.0000 -S AU49 AU48 130.8522 0.0076 0.0000 0.0000 -S AU49 AU48 130.8522 0.0076 0.0000 0.0000 -S AU49 AU48 130.8521 0.0076 0.0000 0.0000 -S AU49 AU48 130.8523 0.0076 0.0000 0.0000 -D AU48 AU45 13 34 14 21.850 6.797 -D AU45 34 14 22.000 6.797 -D AU45 34 14 22.000 6.797 -D AU45 34 14 22.100 6.797 -D AU45 34 14 22.100 6.797 -D AU45 34 14 22.100 6.797 -D AU45 34 14 22.350 6.797 -D AU49 359 59 54.900 5.600 -D AU49 359 59 54.900 5.600 -D AU49 359 59 55.000 5.600 -D AU49 359 59 55.150 5.600 -D AU49 359 59 55.150 5.600 -D AU49 359 59 55.400 5.600 -D AU49 359 59 55.700 5.600 -V AU48 AU45 89 28 13.800 6.797 0.0000 0.0000 -V AU48 AU45 89 28 56.750 6.797 0.0000 0.0000 -V AU48 AU45 89 28 13.950 6.797 0.0000 0.0000 -V AU48 AU45 89 28 14.300 6.797 0.0000 0.0000 -V AU48 AU45 89 28 13.050 6.797 0.0000 0.0000 -V AU48 AU45 89 28 15.250 6.797 0.0000 0.0000 -V AU48 AU45 89 28 16.250 6.797 0.0000 0.0000 -V AU48 AU49 93 04 58.000 5.600 0.0000 0.0000 -V AU48 AU49 93 04 48.450 5.600 0.0000 0.0000 -V AU48 AU49 93 04 49.850 5.600 0.0000 0.0000 -V AU48 AU49 93 04 52.250 5.600 0.0000 0.0000 -V AU48 AU49 93 04 49.500 5.600 0.0000 0.0000 -V AU48 AU49 93 04 51.300 5.600 0.0000 0.0000 -V AU48 AU49 93 04 53.300 5.600 0.0000 0.0000 -S AU48 AU45 101.4457 0.0070 0.0000 0.0000 -S AU48 AU45 101.4458 0.0070 0.0000 0.0000 -S AU48 AU45 101.4456 0.0070 0.0000 0.0000 -S AU48 AU45 101.4457 0.0070 0.0000 0.0000 -S AU48 AU45 101.4456 0.0070 0.0000 0.0000 -S AU48 AU45 101.4458 0.0070 0.0000 0.0000 -S AU48 AU45 101.4456 0.0070 0.0000 0.0000 -S AU48 AU49 130.8525 0.0076 0.0000 0.0000 -S AU48 AU49 130.8525 0.0076 0.0000 0.0000 -S AU48 AU49 130.8523 0.0076 0.0000 0.0000 -S AU48 AU49 130.8523 0.0076 0.0000 0.0000 -S AU48 AU49 130.8523 0.0076 0.0000 0.0000 -S AU48 AU49 130.8522 0.0076 0.0000 0.0000 -S AU48 AU49 130.8523 0.0076 0.0000 0.0000 diff --git a/geodepy/tests/resources/ST0618HZ_noconfig.msr b/geodepy/tests/resources/ST0618HZ_noconfig.msr deleted file mode 100644 index 6ef6819..0000000 --- a/geodepy/tests/resources/ST0618HZ_noconfig.msr +++ /dev/null @@ -1,259 +0,0 @@ -!#=DNA 3.01 MSR 01.01.2020 GDA94 01.01.2020 173 -D 8 10 14 18 42 37.800 3.099 -D 10 18 42 38.000 3.099 -D 10 18 42 38.100 3.099 -D 10 18 42 38.250 3.099 -D 10 18 42 39.000 3.099 -D 7 177 11 53.500 2.265 -D 7 177 11 53.600 2.265 -D 7 177 11 53.850 2.265 -D 7 177 11 53.950 2.265 -D 7 177 11 54.150 2.265 -D 9 359 59 54.450 3.703 -D 9 359 59 54.450 3.703 -D 9 359 59 54.750 3.703 -D 9 359 59 55.000 3.703 -D 9 359 59 55.050 3.703 -V 8 10 92 13 36.300 3.099 0.0000 0.0000 -V 8 10 92 13 36.150 3.099 0.0000 0.0000 -V 8 10 92 13 35.950 3.099 0.0000 0.0000 -V 8 10 92 13 36.350 3.099 0.0000 0.0000 -V 8 10 92 13 37.750 3.099 0.0000 0.0000 -V 8 7 90 31 48.300 2.265 0.0000 0.0000 -V 8 7 90 31 48.450 2.265 0.0000 0.0000 -V 8 7 90 31 47.750 2.265 0.0000 0.0000 -V 8 7 90 31 48.350 2.265 0.0000 0.0000 -V 8 7 90 31 48.150 2.265 0.0000 0.0000 -V 8 9 93 24 57.800 3.703 0.0000 0.0000 -V 8 9 93 24 56.850 3.703 0.0000 0.0000 -V 8 9 93 24 58.300 3.703 0.0000 0.0000 -V 8 9 93 24 57.400 3.703 0.0000 0.0000 -V 8 9 93 24 57.700 3.703 0.0000 0.0000 -S 8 10 70.3127 0.0011 0.0000 0.0000 -S 8 10 70.3127 0.0011 0.0000 0.0000 -S 8 10 70.3128 0.0011 0.0000 0.0000 -S 8 10 70.3127 0.0011 0.0000 0.0000 -S 8 10 70.3127 0.0011 0.0000 0.0000 -S 8 7 101.4430 0.0011 0.0000 0.0000 -S 8 7 101.4433 0.0011 0.0000 0.0000 -S 8 7 101.4432 0.0011 0.0000 0.0000 -S 8 7 101.4434 0.0011 0.0000 0.0000 -S 8 7 101.4433 0.0011 0.0000 0.0000 -S 8 9 57.8474 0.0011 0.0000 0.0000 -S 8 9 57.8472 0.0011 0.0000 0.0000 -S 8 9 57.8473 0.0011 0.0000 0.0000 -S 8 9 57.8471 0.0011 0.0000 0.0000 -S 8 9 57.8473 0.0011 0.0000 0.0000 -D 9 11 14 48 50 18.750 4.531 -D 11 48 50 18.950 4.531 -D 11 48 50 19.000 4.531 -D 11 48 50 19.100 4.531 -D 11 48 50 19.650 4.531 -D 10 248 40 11.400 8.578 -D 10 248 40 12.050 8.578 -D 10 248 40 12.150 8.578 -D 10 248 40 12.350 8.578 -D 10 248 40 12.400 8.578 -D 8 359 59 56.350 3.703 -D 8 359 59 56.650 3.703 -D 8 359 59 56.850 3.703 -D 8 359 59 57.150 3.703 -D 8 359 59 57.200 3.703 -V 9 11 90 23 27.150 4.531 0.0000 0.0000 -V 9 11 90 23 27.850 4.531 0.0000 0.0000 -V 9 11 90 23 27.800 4.531 0.0000 0.0000 -V 9 11 90 23 26.400 4.531 0.0000 0.0000 -V 9 11 90 23 27.400 4.531 0.0000 0.0000 -V 9 10 88 18 24.200 8.578 0.0000 0.0000 -V 9 10 88 18 24.650 8.578 0.0000 0.0000 -V 9 10 88 18 24.050 8.578 0.0000 0.0000 -V 9 10 88 18 24.000 8.578 0.0000 0.0000 -V 9 10 88 18 24.200 8.578 0.0000 0.0000 -V 9 8 86 35 01.250 3.703 0.0000 0.0000 -V 9 8 86 35 01.850 3.703 0.0000 0.0000 -V 9 8 86 35 01.650 3.703 0.0000 0.0000 -V 9 8 86 35 02.700 3.703 0.0000 0.0000 -V 9 8 86 35 02.600 3.703 0.0000 0.0000 -S 9 11 46.6707 0.0010 0.0000 0.0000 -S 9 11 46.6707 0.0010 0.0000 0.0000 -S 9 11 46.6707 0.0010 0.0000 0.0000 -S 9 11 46.6706 0.0010 0.0000 0.0000 -S 9 11 46.6706 0.0010 0.0000 0.0000 -S 9 10 24.2082 0.0010 0.0000 0.0000 -S 9 10 24.2081 0.0010 0.0000 0.0000 -S 9 10 24.2081 0.0010 0.0000 0.0000 -S 9 10 24.2081 0.0010 0.0000 0.0000 -S 9 10 24.2081 0.0010 0.0000 0.0000 -S 9 8 57.8471 0.0011 0.0000 0.0000 -S 9 8 57.8472 0.0011 0.0000 0.0000 -S 9 8 57.8472 0.0011 0.0000 0.0000 -S 9 8 57.8471 0.0011 0.0000 0.0000 -S 9 8 57.8473 0.0011 0.0000 0.0000 -D 10 11 14 36 52 07.000 3.114 -D 11 36 52 07.100 3.114 -D 11 36 52 07.550 3.114 -D 11 36 52 07.600 3.114 -D 11 36 52 07.700 3.114 -D 9 49 57 26.450 8.578 -D 9 49 57 26.700 8.578 -D 9 49 57 26.800 8.578 -D 9 49 57 26.850 8.578 -D 9 49 57 27.100 8.578 -D 8 359 59 54.000 3.099 -D 8 359 59 54.050 3.099 -D 8 359 59 54.200 3.099 -D 8 359 59 55.050 3.099 -D 8 359 59 55.150 3.099 -V 10 11 90 50 47.150 3.114 0.0000 0.0000 -V 10 11 90 50 47.000 3.114 0.0000 0.0000 -V 10 11 90 50 47.050 3.114 0.0000 0.0000 -V 10 11 90 50 47.400 3.114 0.0000 0.0000 -V 10 11 90 50 47.850 3.114 0.0000 0.0000 -V 10 9 91 41 31.800 8.578 0.0000 0.0000 -V 10 9 91 41 31.100 8.578 0.0000 0.0000 -V 10 9 91 41 31.650 8.578 0.0000 0.0000 -V 10 9 91 41 31.300 8.578 0.0000 0.0000 -V 10 9 91 41 31.050 8.578 0.0000 0.0000 -V 10 8 87 46 24.250 3.099 0.0000 0.0000 -V 10 8 87 46 24.500 3.099 0.0000 0.0000 -V 10 8 87 46 23.900 3.099 0.0000 0.0000 -V 10 8 87 46 24.750 3.099 0.0000 0.0000 -V 10 8 87 46 25.000 3.099 0.0000 0.0000 -S 10 11 69.9235 0.0011 0.0000 0.0000 -S 10 11 69.9232 0.0011 0.0000 0.0000 -S 10 11 69.9234 0.0011 0.0000 0.0000 -S 10 11 69.9234 0.0011 0.0000 0.0000 -S 10 11 69.9235 0.0011 0.0000 0.0000 -S 10 9 24.2086 0.0010 0.0000 0.0000 -S 10 9 24.2084 0.0010 0.0000 0.0000 -S 10 9 24.2084 0.0010 0.0000 0.0000 -S 10 9 24.2082 0.0010 0.0000 0.0000 -S 10 9 24.2083 0.0010 0.0000 0.0000 -S 10 8 70.3127 0.0011 0.0000 0.0000 -S 10 8 70.3127 0.0011 0.0000 0.0000 -S 10 8 70.3127 0.0011 0.0000 0.0000 -S 10 8 70.3128 0.0011 0.0000 0.0000 -S 10 8 70.3128 0.0011 0.0000 0.0000 -D 11 9 14 0 00 00.550 4.531 -D 9 0 00 00.700 4.531 -D 10 6 44 32.600 3.114 -D 10 6 44 32.700 3.114 -D 10 6 44 32.850 3.114 -D 10 6 44 32.900 3.114 -D 10 6 44 33.050 3.114 -D 6 189 14 36.900 4.624 -D 6 189 14 36.950 4.624 -D 6 189 14 37.100 4.624 -D 6 189 14 37.250 4.624 -D 6 189 14 37.300 4.624 -D 9 359 59 59.200 4.531 -D 9 359 59 59.400 4.531 -D 9 359 59 59.450 4.531 -V 11 9 89 36 35.550 4.531 0.0000 0.0000 -V 11 9 89 36 35.400 4.531 0.0000 0.0000 -V 11 10 89 09 13.000 3.114 0.0000 0.0000 -V 11 10 89 09 13.850 3.114 0.0000 0.0000 -V 11 10 89 09 13.650 3.114 0.0000 0.0000 -V 11 10 89 09 13.300 3.114 0.0000 0.0000 -V 11 10 89 09 12.800 3.114 0.0000 0.0000 -V 11 6 95 16 50.550 4.624 0.0000 0.0000 -V 11 6 95 16 50.750 4.624 0.0000 0.0000 -V 11 6 95 16 50.150 4.624 0.0000 0.0000 -V 11 6 95 16 50.250 4.624 0.0000 0.0000 -V 11 6 95 16 50.700 4.624 0.0000 0.0000 -V 11 9 89 36 35.300 4.531 0.0000 0.0000 -V 11 9 89 36 36.200 4.531 0.0000 0.0000 -V 11 9 89 36 37.200 4.531 0.0000 0.0000 -S 11 9 46.6709 0.0010 0.0000 0.0000 -S 11 9 46.6706 0.0010 0.0000 0.0000 -S 11 10 69.9233 0.0011 0.0000 0.0000 -S 11 10 69.9235 0.0011 0.0000 0.0000 -S 11 10 69.9235 0.0011 0.0000 0.0000 -S 11 10 69.9233 0.0011 0.0000 0.0000 -S 11 10 69.9232 0.0011 0.0000 0.0000 -S 11 6 45.6881 0.0010 0.0000 0.0000 -S 11 6 45.6883 0.0010 0.0000 0.0000 -S 11 6 45.6882 0.0010 0.0000 0.0000 -S 11 6 45.6882 0.0010 0.0000 0.0000 -S 11 6 45.6883 0.0010 0.0000 0.0000 -S 11 9 46.6707 0.0010 0.0000 0.0000 -S 11 9 46.6707 0.0010 0.0000 0.0000 -S 11 9 46.6706 0.0010 0.0000 0.0000 -D 6 11 11 275 07 26.200 4.624 -D 11 275 07 26.350 4.624 -D 11 275 07 26.400 4.624 -D 11 275 07 26.400 4.624 -D 11 275 07 26.550 4.624 -D 11 275 07 26.600 4.624 -D 7 359 59 57.250 1.866 -D 7 359 59 57.450 1.866 -D 7 359 59 57.600 1.866 -D 7 359 59 57.750 1.866 -D 7 359 59 57.900 1.866 -D 7 359 59 58.150 1.866 -V 6 11 84 43 07.800 4.624 0.0000 0.0000 -V 6 11 84 43 07.200 4.624 0.0000 0.0000 -V 6 11 84 43 07.450 4.624 0.0000 0.0000 -V 6 11 84 43 07.600 4.624 0.0000 0.0000 -V 6 11 84 43 06.900 4.624 0.0000 0.0000 -V 6 11 84 43 07.150 4.624 0.0000 0.0000 -V 6 7 86 55 09.450 1.866 0.0000 0.0000 -V 6 7 86 55 09.550 1.866 0.0000 0.0000 -V 6 7 86 55 09.900 1.866 0.0000 0.0000 -V 6 7 86 55 09.850 1.866 0.0000 0.0000 -V 6 7 86 55 09.750 1.866 0.0000 0.0000 -V 6 7 86 55 09.650 1.866 0.0000 0.0000 -S 6 11 45.6882 0.0010 0.0000 0.0000 -S 6 11 45.6882 0.0010 0.0000 0.0000 -S 6 11 45.6882 0.0010 0.0000 0.0000 -S 6 11 45.6882 0.0010 0.0000 0.0000 -S 6 11 45.6882 0.0010 0.0000 0.0000 -S 6 11 45.6882 0.0010 0.0000 0.0000 -S 6 7 130.8489 0.0011 0.0000 0.0000 -S 6 7 130.8487 0.0011 0.0000 0.0000 -S 6 7 130.8487 0.0011 0.0000 0.0000 -S 6 7 130.8487 0.0011 0.0000 0.0000 -S 6 7 130.8486 0.0011 0.0000 0.0000 -S 6 7 130.8488 0.0011 0.0000 0.0000 -D 7 8 13 34 14 21.850 2.265 -D 8 34 14 22.000 2.265 -D 8 34 14 22.000 2.265 -D 8 34 14 22.100 2.265 -D 8 34 14 22.100 2.265 -D 8 34 14 22.100 2.265 -D 8 34 14 22.350 2.265 -D 6 359 59 54.900 1.866 -D 6 359 59 54.900 1.866 -D 6 359 59 55.000 1.866 -D 6 359 59 55.150 1.866 -D 6 359 59 55.150 1.866 -D 6 359 59 55.400 1.866 -D 6 359 59 55.700 1.866 -V 7 8 89 28 13.800 2.265 0.0000 0.0000 -V 7 8 89 28 56.750 2.265 0.0000 0.0000 -V 7 8 89 28 13.950 2.265 0.0000 0.0000 -V 7 8 89 28 14.300 2.265 0.0000 0.0000 -V 7 8 89 28 13.050 2.265 0.0000 0.0000 -V 7 8 89 28 15.250 2.265 0.0000 0.0000 -V 7 8 89 28 16.250 2.265 0.0000 0.0000 -V 7 6 93 04 58.000 1.866 0.0000 0.0000 -V 7 6 93 04 48.450 1.866 0.0000 0.0000 -V 7 6 93 04 49.850 1.866 0.0000 0.0000 -V 7 6 93 04 52.250 1.866 0.0000 0.0000 -V 7 6 93 04 49.500 1.866 0.0000 0.0000 -V 7 6 93 04 51.300 1.866 0.0000 0.0000 -V 7 6 93 04 53.300 1.866 0.0000 0.0000 -S 7 8 101.4430 0.0011 0.0000 0.0000 -S 7 8 101.4431 0.0011 0.0000 0.0000 -S 7 8 101.4429 0.0011 0.0000 0.0000 -S 7 8 101.4430 0.0011 0.0000 0.0000 -S 7 8 101.4429 0.0011 0.0000 0.0000 -S 7 8 101.4431 0.0011 0.0000 0.0000 -S 7 8 101.4429 0.0011 0.0000 0.0000 -S 7 6 130.8490 0.0011 0.0000 0.0000 -S 7 6 130.8490 0.0011 0.0000 0.0000 -S 7 6 130.8488 0.0011 0.0000 0.0000 -S 7 6 130.8488 0.0011 0.0000 0.0000 -S 7 6 130.8488 0.0011 0.0000 0.0000 -S 7 6 130.8487 0.0011 0.0000 0.0000 -S 7 6 130.8488 0.0011 0.0000 0.0000 diff --git a/geodepy/tests/resources/Site13-134.fbk b/geodepy/tests/resources/fbksample.fbk similarity index 68% rename from geodepy/tests/resources/Site13-134.fbk rename to geodepy/tests/resources/fbksample.fbk index 51a419f..f353a8c 100644 --- a/geodepy/tests/resources/Site13-134.fbk +++ b/geodepy/tests/resources/fbksample.fbk @@ -145,73 +145,3 @@ F1 VA 1316 30.0228 3.305 111.2112 "Bolt" ! Delta: AR0°00'01", HD0.000, Z0.002 ! P.C. mm Applied: 0.0000 (Reflectorless:foresight) ! P.C. mm Applied: -11.3000 (Leica 360:backsight) -PRISM 1.599 -STN 1305 1.767 -BS 13 177.1803 -F1 VA 13 177.1803 45.318 91.1311 "" -! Calculated: AR177°18'03", HD45.307, Z394.008 -! Measured: AR177°18'03", HD45.307, Z394.011 -! Delta: AR0°00'00", HD0.000, Z0.003 -! P.C. mm Applied: 0.0000 (Reflectorless:foresight) -! P.C. mm Applied: -30.0000 (-30mm:foresight) -! P.C. mm Applied: 0.0000 (Reflectorless:foresight) -PRISM 0.000 -F1 VA 1317 117.5659 1.871 108.2204 "Cra" -! DT05-14-2018 -! TM16:22:30 -F1 VA 1318 114.1430 3.637 82.4548 "Crb" -! DT05-14-2018 -! TM16:23:54 -F1 VA 1319 144.0140 3.614 99.2633 "crc" -! DT05-14-2018 -! TM16:24:46 -F1 VA 1320 119.5255 3.357 106.2536 "crc" -! DT05-14-2018 -! TM16:28:48 -F1 VA 1320 119.5254 3.357 106.2533 "Crd" -! DT05-14-2018 -! TM16:29:18 -F1 VA 1321 119.2749 3.360 104.4807 "Cre-100 above crd" -! DT05-14-2018 -! TM16:30:27 -F1 VA 1322 110.3959 2.280 128.4928 "Sla" -! DT05-14-2018 -! TM16:31:17 -F1 VA 1323 100.3322 3.996 111.0905 "Slb" -! DT05-14-2018 -! TM16:32:01 -F1 VA 1324 126.1902 4.733 107.4155 "Slc" -! DT05-14-2018 -! TM16:33:00 -F1 VA 1325 148.0138 3.402 114.4804 "Sld" -! DT05-14-2018 -! TM16:33:49 -F1 VA 1326 121.4749 3.343 111.0323 "Bolt" -! DT05-14-2018 -! TM16:34:38 -! P.C. mm Applied: -11.3000 (Leica 360:backsight) -! Backsight Check: PT 13 -! Calculated: AR177°18'03", HD45.307, Z394.008 -! Measured: AR177°18'18", HD45.308, Z394.010 -! Delta: AR0°00'15", HD0.001, Z0.002 -! P.C. mm Applied: 0.0000 (Reflectorless:foresight) -! P.C. mm Applied: -30.0000 (-30mm:foresight) -PRISM 2.111 -F1 VA 1327 241.0732 167.211 88.5650 "chk1302" -! DT05-14-2018 -! TM16:41:51 -! P.C. mm Applied: -11.3000 (Leica 360:backsight) -! Backsight Check: PT 13 -! Calculated: AR177°18'03", HD45.307, Z394.008 -! Measured: AR177°18'10", HD45.308, Z394.011 -! Delta: AR0°00'07", HD0.000, Z0.003 -! P.C. mm Applied: -30.0000 (-30mm:foresight) -F1 VA 1328 241.0733 167.211 88.5648 "chk1302" -! DT05-14-2018 -! TM16:43:30 -! P.C. mm Applied: -11.3000 (Leica 360:backsight) -! Backsight Check: PT 13 -! Calculated: AR177°18'03", HD45.307, Z394.008 -! Measured: AR177°18'10", HD45.307, Z394.011 -! Delta: AR0°00'07", HD0.000, Z0.003 -! P.C. mm Applied: -30.0000 (-30mm:foresight) diff --git a/geodepy/tests/resources/Site13-134.gpy b/geodepy/tests/resources/fbksample.gpy similarity index 100% rename from geodepy/tests/resources/Site13-134.gpy rename to geodepy/tests/resources/fbksample.gpy diff --git a/geodepy/tests/resources/Site13-134.msr b/geodepy/tests/resources/fbksample.msr similarity index 55% rename from geodepy/tests/resources/Site13-134.msr rename to geodepy/tests/resources/fbksample.msr index b0ed044..9dabe69 100644 --- a/geodepy/tests/resources/Site13-134.msr +++ b/geodepy/tests/resources/fbksample.msr @@ -1,6 +1,6 @@ -!#=DNA 3.01 MSR 14.05.2018 GDA94 14.05.2018 63 -V SB13 1302 88 30 29.000 2.413 1.6520 2.1080 -S SB13 1302 152.7580 0.0058 1.6520 2.1080 +!#=DNA 3.01 MSR 14.05.2018 GDA94 14.05.2018 43 +V SB13 1302 88 30 29.000 3.412 1.6520 2.1080 +S SB13 1302 152.7580 0.0082 1.6520 2.1080 D SB13 1302 11 256 33 51.500 2.413 D 1302 256 33 51.500 2.413 D 1302 256 33 52.000 2.413 @@ -37,56 +37,26 @@ S SB13 1305 45.3165 S SB13 1304 40.9730 0.0052 1.6520 1.8270 S SB13 1304 40.9730 0.0052 1.6520 1.8270 S SB13 1304 40.9730 0.0052 1.6520 1.8270 -V SB13 1302 88 30 19.000 2.413 1.6520 2.1080 -S SB13 1302 152.7600 0.0058 1.6520 2.1080 -D 1304 1308 7 7 28 24.000 58.02 -D 1316 30 02 28.000 62.44 -D 1311 31 56 12.000 62.16 -D 1312 32 23 23.000 62.14 -D 1310 34 41 11.000 112.5 -D 1309 37 38 42.000 57.36 -D SB13 178 34 04.000 5.416 -D 1305 345 33 11.000 46.43 -V 1304 1308 99 34 11.000 58.02 1.8270 0.0000 -V 1304 1316 111 21 12.000 62.44 1.8270 0.0000 -V 1304 1311 106 39 33.000 62.16 1.8270 0.0000 -V 1304 1312 105 01 10.000 62.14 1.8270 0.0000 -V 1304 1310 108 57 58.000 112.5 1.8270 0.0000 -V 1304 1309 82 41 58.000 57.36 1.8270 0.0000 -V 1304 SB13 91 21 07.000 5.416 1.8270 1.5990 -V 1304 1305 90 01 41.000 46.43 1.8270 1.7670 -S 1304 1308 3.5570 0.0050 1.8270 0.0000 -S 1304 1316 3.3050 0.0050 1.8270 0.0000 -S 1304 1311 3.3200 0.0050 1.8270 0.0000 -S 1304 1312 3.3210 0.0050 1.8270 0.0000 -S 1304 1310 1.8330 0.0050 1.8270 0.0000 -S 1304 1309 3.5980 0.0050 1.8270 0.0000 -S 1304 SB13 40.9750 0.0052 1.8270 1.5990 -S 1304 1305 4.4460 0.0050 1.8270 1.7670 -D 1305 1309 8 114 14 30.000 56.74 -D 1308 117 56 59.000 110.2 -D 1312 119 27 49.000 61.42 -D 1311 119 52 54.000 61.47 -D 1311 119 52 55.000 61.47 -D 1316 121 47 49.000 61.73 -D 1310 144 01 40.000 57.10 -D SB13 177 18 03.000 4.971 -D 1302 241 07 32.000 2.349 -V 1305 1309 82 45 48.000 56.74 1.7670 0.0000 -V 1305 1308 108 22 04.000 110.2 1.7670 0.0000 -V 1305 1312 104 48 07.000 61.42 1.7670 0.0000 -V 1305 1311 106 25 33.000 61.47 1.7670 0.0000 -V 1305 1311 106 25 36.000 61.47 1.7670 0.0000 -V 1305 1316 111 03 23.000 61.73 1.7670 0.0000 -V 1305 1310 99 26 33.000 57.10 1.7670 0.0000 -V 1305 SB13 91 13 11.000 4.971 1.7670 1.5990 -V 1305 1302 88 56 50.000 2.349 1.7670 2.1110 -S 1305 1309 3.6370 0.0050 1.7670 0.0000 -S 1305 1308 1.8710 0.0050 1.7670 0.0000 -S 1305 1312 3.3600 0.0050 1.7670 0.0000 -S 1305 1311 3.3570 0.0050 1.7670 0.0000 -S 1305 1311 3.3570 0.0050 1.7670 0.0000 -S 1305 1316 3.3430 0.0050 1.7670 0.0000 -S 1305 1310 3.6140 0.0050 1.7670 0.0000 -S 1305 SB13 45.3180 0.0052 1.7670 1.5990 -S 1305 1302 167.2110 0.0058 1.7670 2.1110 +V SB13 1302 88 30 19.000 3.412 1.6520 2.1080 +S SB13 1302 152.7600 0.0082 1.6520 2.1080 +D 1304 1308 6 7 28 24.000 82.05 +D 1311 31 56 12.000 87.90 +D 1312 32 23 23.000 87.88 +D 1310 34 41 11.000 159.1 +D 1309 37 38 42.000 81.12 +D SB13 178 34 04.000 7.660 +D 1305 345 33 11.000 65.67 +V 1304 1308 99 34 11.000 82.05 1.8270 0.0000 +V 1304 1311 106 39 33.000 87.90 1.8270 0.0000 +V 1304 1312 105 01 10.000 87.88 1.8270 0.0000 +V 1304 1310 108 57 58.000 159.1 1.8270 0.0000 +V 1304 1309 82 41 58.000 81.12 1.8270 0.0000 +V 1304 SB13 91 21 07.000 7.660 1.8270 1.5990 +V 1304 1305 90 01 41.000 65.67 1.8270 1.7670 +S 1304 1308 3.5570 0.0071 1.8270 0.0000 +S 1304 1311 3.3200 0.0071 1.8270 0.0000 +S 1304 1312 3.3210 0.0071 1.8270 0.0000 +S 1304 1310 1.8330 0.0071 1.8270 0.0000 +S 1304 1309 3.5980 0.0071 1.8270 0.0000 +S 1304 SB13 40.9750 0.0074 1.8270 1.5990 +S 1304 1305 4.4460 0.0071 1.8270 1.7670 diff --git a/geodepy/tests/resources/Site13-134.stn b/geodepy/tests/resources/fbksample.stn similarity index 90% rename from geodepy/tests/resources/Site13-134.stn rename to geodepy/tests/resources/fbksample.stn index 2977740..df88e81 100644 --- a/geodepy/tests/resources/Site13-134.stn +++ b/geodepy/tests/resources/fbksample.stn @@ -1,4 +1,4 @@ -!#=DNA 3.01 STN 14.05.2018 GDA94 10 +!#=DNA 3.01 STN 14.05.2018 GDA94 9 SB13 CCC UTM 294138.3249 7001265.4623 393.8644 S56 1302 FFF UTM 293989.7899 7001229.9793 397.3844 S56 Bs 1304 FFF UTM 294137.3009 7001306.4123 394.6064 S56 Fs @@ -8,4 +8,3 @@ SB13 CCC UTM 294138.3249 7001265.4623 393.8644 1310 FFF UTM 294138.2879 7001307.8383 395.8374 S56 crc 1311 FFF UTM 294138.9839 7001309.1123 395.4814 S56 Crd 1312 FFF UTM 294139.0199 7001309.1213 395.5724 S56 Cre-100 above crd -1316 FFF UTM 294138.8419 7001309.0763 395.2294 S56 Bolt diff --git a/geodepy/tests/resources/Site13-134.txt b/geodepy/tests/resources/fbksample.txt similarity index 50% rename from geodepy/tests/resources/Site13-134.txt rename to geodepy/tests/resources/fbksample.txt index ae9da97..a73fb1c 100644 --- a/geodepy/tests/resources/Site13-134.txt +++ b/geodepy/tests/resources/fbksample.txt @@ -12,16 +12,3 @@ 1313,294137.249,7001308.683,395.146,Sla,DATE:05-14-2018,TIME:16:08:26 1314,294139.224,7001306.631,395.135,Slc,DATE:05-14-2018,TIME:16:10:34 1315,294137.225,7001306.696,395.140,Sld,DATE:05-14-2018,TIME:16:11:25 -1316,294138.240,7001307.657,395.373,Bolt,DATE:05-14-2018,TIME:16:13:01 -1317,294137.158,7001308.468,395.985,Cra,DATE:05-14-2018,TIME:16:22:30 -1318,294138.879,7001307.818,397.033,Crb,DATE:05-14-2018,TIME:16:23:54 -1319,294137.684,7001306.415,395.982,crc,DATE:05-14-2018,TIME:16:24:46 -1320,294138.381,7001307.696,395.625,Crd,DATE:05-14-2018,TIME:16:29:18 -1321,294138.418,7001307.702,395.716,Cre-100 above crd,DATE:05-14-2018,TIME:16:30:27 -1322,294137.251,7001308.673,395.145,Sla,DATE:05-14-2018,TIME:16:31:17 -1323,294139.253,7001308.617,395.133,Slb,DATE:05-14-2018,TIME:16:32:01 -1324,294139.222,7001306.629,395.136,Slc,DATE:05-14-2018,TIME:16:33:00 -1325,294137.225,7001306.680,395.148,Sld,DATE:05-14-2018,TIME:16:33:49 -1326,294138.241,7001307.656,395.374,Bolt,DATE:05-14-2018,TIME:16:34:38 -1327,293989.191,7001228.568,397.536,chk1302,DATE:05-14-2018,TIME:16:41:51 -1328,293989.191,7001228.569,397.538,chk1302,DATE:05-14-2018,TIME:16:43:30 diff --git a/geodepy/tests/resources/ST0618HZ.gpy b/geodepy/tests/resources/gsisample.gpy similarity index 100% rename from geodepy/tests/resources/ST0618HZ.gpy rename to geodepy/tests/resources/gsisample.gpy diff --git a/geodepy/tests/resources/ST0618HZ.gsi b/geodepy/tests/resources/gsisample.gsi similarity index 78% rename from geodepy/tests/resources/ST0618HZ.gsi rename to geodepy/tests/resources/gsisample.gsi index e0c341f..2616a7f 100644 --- a/geodepy/tests/resources/ST0618HZ.gsi +++ b/geodepy/tests/resources/gsisample.gsi @@ -1,65 +1,34 @@ -*110001+0000000000000008 84..16+0000000009999994 85..16+0000000010494655 86..16+0000000001006701 87..16+0000000000000000 88..16+0000000000000000 -*110002+0000000000000009 21.324+0000000035959561 22.324+0000000009325006 31..06+0000000000578473 32..16+0000000000577445 87..16+0000000000000000 88..16+0000000000000000 -*110003+0000000000000010 21.324+0000000001842391 22.324+0000000009213389 31..06+0000000000703127 32..16+0000000000702596 87..16+0000000000000000 88..16+0000000000000000 -*110004+0000000000000007 21.324+0000000017711554 22.324+0000000009031496 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000000000 -*110005+0000000000000007 21.324+0000000035711525 22.324+0000000026928129 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000000000 -*110006+0000000000000010 21.324+0000000019842389 22.324+0000000026746234 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000000000 -*110007+0000000000000009 21.324+0000000017959534 22.324+0000000026635040 31..06+0000000000578472 32..16+0000000000577445 87..16+0000000000000000 88..16+0000000000000000 -*110008+0000000000000009 21.324+0000000035959552 22.324+0000000009324585 31..06+0000000000578474 32..16+0000000000577446 87..16+0000000000000000 88..16+0000000000000000 -*110009+0000000000000010 21.324+0000000001842390 22.324+0000000009213363 31..06+0000000000703129 32..16+0000000000702598 87..16+0000000000000000 88..16+0000000000000000 -*110010+0000000000000007 21.324+0000000017711556 22.324+0000000009031483 31..06+0000000001014433 32..16+0000000001014390 87..16+0000000000000000 88..16+0000000000000000 -*110011+0000000000000007 21.324+0000000035711516 22.324+0000000026928114 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000000000 -*110012+0000000000000010 21.324+0000000019842370 22.324+0000000026746240 31..06+0000000000703126 32..16+0000000000702595 87..16+0000000000000000 88..16+0000000000000000 -*110013+0000000000000009 21.324+0000000017959537 22.324+0000000026635029 31..06+0000000000578474 32..16+0000000000577447 87..16+0000000000000000 88..16+0000000000000000 -*110014+0000000000000009 21.324+0000000035959560 22.324+0000000009324588 31..06+0000000000578474 32..16+0000000000577446 87..16+0000000000000000 88..16+0000000000000000 -*110015+0000000000000010 21.324+0000000001842383 22.324+0000000009213371 31..06+0000000000703129 32..16+0000000000702598 87..16+0000000000000000 88..16+0000000000000000 -*110016+0000000000000007 21.324+0000000017711549 22.324+0000000009031493 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000000000 -*110017+0000000000000007 21.324+0000000035711534 22.324+0000000026928130 31..06+0000000001014433 32..16+0000000001014390 87..16+0000000000000000 88..16+0000000000000000 -*110018+0000000000000010 21.324+0000000019842373 22.324+0000000026746245 31..06+0000000000703126 32..16+0000000000702595 87..16+0000000000000000 88..16+0000000000000000 -*110019+0000000000000009 21.324+0000000017959541 22.324+0000000026635034 31..06+0000000000578471 32..16+0000000000577444 87..16+0000000000000000 88..16+0000000000000000 -*110020+0000000000000009 21.324+0000000035959548 22.324+0000000009324577 31..06+0000000000578471 32..16+0000000000577443 87..16+0000000000000000 88..16+0000000000000000 -*110021+0000000000000010 21.324+0000000001842389 22.324+0000000009213371 31..06+0000000000703127 32..16+0000000000702596 87..16+0000000000000000 88..16+0000000000000000 -*110022+0000000000000007 21.324+0000000017711542 22.324+0000000009031494 31..06+0000000001014431 32..16+0000000001014388 87..16+0000000000000000 88..16+0000000000000000 -*110023+0000000000000007 21.324+0000000035711528 22.324+0000000026928128 31..06+0000000001014430 32..16+0000000001014387 87..16+0000000000000000 88..16+0000000000000000 -*110024+0000000000000010 21.324+0000000019842376 22.324+0000000026746244 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000000000 -*110025+0000000000000009 21.324+0000000017959552 22.324+0000000026635029 31..06+0000000000578472 32..16+0000000000577445 87..16+0000000000000000 88..16+0000000000000000 -*110026+0000000000000009 21.324+0000000035959544 22.324+0000000009324574 31..06+0000000000578471 32..16+0000000000577444 87..16+0000000000000000 88..16+0000000000000000 -*110027+0000000000000010 21.324+0000000001842385 22.324+0000000009213367 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000000000 -*110028+0000000000000007 21.324+0000000017711544 22.324+0000000009031487 31..06+0000000001014431 32..16+0000000001014388 87..16+0000000000000000 88..16+0000000000000000 -*110029+0000000000000007 21.324+0000000035711533 22.324+0000000026928132 31..06+0000000001014433 32..16+0000000001014390 87..16+0000000000000000 88..16+0000000000000000 -*110030+0000000000000010 21.324+0000000019842377 22.324+0000000026746248 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000000000 -*110031+0000000000000009 21.324+0000000017959545 22.324+0000000026635037 31..06+0000000000578473 32..16+0000000000577446 87..16+0000000000000000 88..16+0000000000000000 -*110032+0000000000000009 84..16+0000000009999994 85..16+0000000010494655 86..16+0000000001006701 87..16+0000000000000000 88..16+0000000000000000 -*110033+0000000000000008 21.324+0000000035959584 22.324+0000000008635021 31..06+0000000000578471 32..16+0000000000577443 87..16+0000000000000000 88..16+0000000000000000 -*110034+0000000000000010 21.324+0000000024840113 22.324+0000000008818246 31..06+0000000000242082 32..16+0000000000241976 87..16+0000000000000000 88..16+0000000000000000 -*110035+0000000000000011 21.324+0000000004850205 22.324+0000000009023282 31..06+0000000000466707 32..16+0000000000466696 87..16+0000000000000000 88..16+0000000000000000 -*110036+0000000000000011 21.324+0000000022850175 22.324+0000000026936326 31..06+0000000000466707 32..16+0000000000466696 87..16+0000000000000000 88..16+0000000000000000 -*110037+0000000000000010 21.324+0000000006840115 22.324+0000000027141362 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110038+0000000000000008 21.324+0000000017959553 22.324+0000000027324588 31..06+0000000000578473 32..16+0000000000577445 87..16+0000000000000000 88..16+0000000000000000 -*110039+0000000000000008 21.324+0000000035959583 22.324+0000000008635035 31..06+0000000000578471 32..16+0000000000577443 87..16+0000000000000000 88..16+0000000000000000 -*110040+0000000000000010 21.324+0000000024840124 22.324+0000000008818254 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110041+0000000000000011 21.324+0000000004850205 22.324+0000000009023278 31..06+0000000000466707 32..16+0000000000466696 87..16+0000000000000000 88..16+0000000000000000 -*110042+0000000000000011 21.324+0000000022850188 22.324+0000000026936330 31..06+0000000000466706 32..16+0000000000466695 87..16+0000000000000000 88..16+0000000000000000 -*110043+0000000000000010 21.324+0000000006840117 22.324+0000000027141361 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110044+0000000000000008 21.324+0000000017959560 22.324+0000000027324581 31..06+0000000000578472 32..16+0000000000577444 87..16+0000000000000000 88..16+0000000000000000 -*110045+0000000000000008 21.324+0000000035959584 22.324+0000000008635030 31..06+0000000000578473 32..16+0000000000577445 87..16+0000000000000000 88..16+0000000000000000 -*110046+0000000000000010 21.324+0000000024840124 22.324+0000000008818243 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110047+0000000000000011 21.324+0000000004850203 22.324+0000000009023279 31..06+0000000000466708 32..16+0000000000466697 87..16+0000000000000000 88..16+0000000000000000 -*110048+0000000000000011 21.324+0000000022850176 22.324+0000000026936322 31..06+0000000000466707 32..16+0000000000466696 87..16+0000000000000000 88..16+0000000000000000 -*110049+0000000000000010 21.324+0000000006840124 22.324+0000000027141359 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110050+0000000000000008 21.324+0000000017959560 22.324+0000000027324578 31..06+0000000000578474 32..16+0000000000577446 87..16+0000000000000000 88..16+0000000000000000 -*110051+0000000000000008 21.324+0000000035959579 22.324+0000000008635018 31..06+0000000000578472 32..16+0000000000577444 87..16+0000000000000000 88..16+0000000000000000 -*110052+0000000000000010 21.324+0000000024840121 22.324+0000000008818245 31..06+0000000000242082 32..16+0000000000241976 87..16+0000000000000000 88..16+0000000000000000 -*110053+0000000000000011 21.324+0000000004850201 22.324+0000000009023263 31..06+0000000000466706 32..16+0000000000466695 87..16+0000000000000000 88..16+0000000000000000 -*110054+0000000000000011 21.324+0000000022850181 22.324+0000000026936335 31..06+0000000000466706 32..16+0000000000466695 87..16+0000000000000000 88..16+0000000000000000 -*110055+0000000000000010 21.324+0000000006840122 22.324+0000000027141364 31..06+0000000000242080 32..16+0000000000241974 87..16+0000000000000000 88..16+0000000000000000 -*110056+0000000000000008 21.324+0000000017959554 22.324+0000000027324581 31..06+0000000000578472 32..16+0000000000577444 87..16+0000000000000000 88..16+0000000000000000 -*110057+0000000000000008 21.324+0000000035959573 22.324+0000000008635018 31..06+0000000000578471 32..16+0000000000577443 87..16+0000000000000000 88..16+0000000000000000 -*110058+0000000000000010 21.324+0000000024840121 22.324+0000000008818248 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110059+0000000000000011 21.324+0000000004850191 22.324+0000000009023274 31..06+0000000000466707 32..16+0000000000466696 87..16+0000000000000000 88..16+0000000000000000 -*110060+0000000000000011 21.324+0000000022850184 22.324+0000000026936331 31..06+0000000000466707 32..16+0000000000466696 87..16+0000000000000000 88..16+0000000000000000 -*110061+0000000000000010 21.324+0000000006840126 22.324+0000000027141368 31..06+0000000000242081 32..16+0000000000241975 87..16+0000000000000000 88..16+0000000000000000 -*110062+0000000000000008 21.324+0000000017959554 22.324+0000000027324593 31..06+0000000000578472 32..16+0000000000577444 87..16+0000000000000000 88..16+0000000000000000 +*110001+0000000000000008 84..16+0000000009999994 85..16+0000000010494655 86..16+0000000001006701 87..16+0000000000000000 88..16+0000000000016450 +*110002+0000000000000009 21.324+0000000035959561 22.324+0000000009325006 31..06+0000000000578473 32..16+0000000000577445 87..16+0000000000014210 88..16+0000000000016450 +*110003+0000000000000010 21.324+0000000001842391 22.324+0000000009213389 31..06+0000000000703127 32..16+0000000000702596 87..16+0000000000000000 88..16+0000000000016450 +*110004+0000000000000007 21.324+0000000017711554 22.324+0000000009031496 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000016450 +*110005+0000000000000007 21.324+0000000035711525 22.324+0000000026928129 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000016450 +*110006+0000000000000010 21.324+0000000019842389 22.324+0000000026746234 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000016450 +*110007+0000000000000009 21.324+0000000017959534 22.324+0000000026635040 31..06+0000000000578472 32..16+0000000000577445 87..16+0000000000014210 88..16+0000000000016450 +*110008+0000000000000009 21.324+0000000035959552 22.324+0000000009324585 31..06+0000000000578474 32..16+0000000000577446 87..16+0000000000014210 88..16+0000000000016450 +*110009+0000000000000010 21.324+0000000001842390 22.324+0000000009213363 31..06+0000000000703129 32..16+0000000000702598 87..16+0000000000000000 88..16+0000000000016450 +*110010+0000000000000007 21.324+0000000017711556 22.324+0000000009031483 31..06+0000000001014433 32..16+0000000001014390 87..16+0000000000000000 88..16+0000000000016450 +*110011+0000000000000007 21.324+0000000035711516 22.324+0000000026928114 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000016450 +*110012+0000000000000010 21.324+0000000019842370 22.324+0000000026746240 31..06+0000000000703126 32..16+0000000000702595 87..16+0000000000000000 88..16+0000000000016450 +*110013+0000000000000009 21.324+0000000017959537 22.324+0000000026635029 31..06+0000000000578474 32..16+0000000000577447 87..16+0000000000014210 88..16+0000000000016450 +*110014+0000000000000009 21.324+0000000035959560 22.324+0000000009324588 31..06+0000000000578474 32..16+0000000000577446 87..16+0000000000014210 88..16+0000000000016450 +*110015+0000000000000010 21.324+0000000001842383 22.324+0000000009213371 31..06+0000000000703129 32..16+0000000000702598 87..16+0000000000000000 88..16+0000000000016450 +*110016+0000000000000007 21.324+0000000017711549 22.324+0000000009031493 31..06+0000000001014434 32..16+0000000001014391 87..16+0000000000000000 88..16+0000000000016450 +*110017+0000000000000007 21.324+0000000035711534 22.324+0000000026928130 31..06+0000000001014433 32..16+0000000001014390 87..16+0000000000000000 88..16+0000000000016450 +*110018+0000000000000010 21.324+0000000019842373 22.324+0000000026746245 31..06+0000000000703126 32..16+0000000000702595 87..16+0000000000000000 88..16+0000000000016450 +*110019+0000000000000009 21.324+0000000017959541 22.324+0000000026635034 31..06+0000000000578471 32..16+0000000000577444 87..16+0000000000014210 88..16+0000000000016450 +*110020+0000000000000009 21.324+0000000035959548 22.324+0000000009324577 31..06+0000000000578471 32..16+0000000000577443 87..16+0000000000014210 88..16+0000000000016450 +*110021+0000000000000010 21.324+0000000001842389 22.324+0000000009213371 31..06+0000000000703127 32..16+0000000000702596 87..16+0000000000000000 88..16+0000000000016450 +*110022+0000000000000007 21.324+0000000017711542 22.324+0000000009031494 31..06+0000000001014431 32..16+0000000001014388 87..16+0000000000000000 88..16+0000000000016450 +*110023+0000000000000007 21.324+0000000035711528 22.324+0000000026928128 31..06+0000000001014430 32..16+0000000001014387 87..16+0000000000000000 88..16+0000000000016450 +*110024+0000000000000010 21.324+0000000019842376 22.324+0000000026746244 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000016450 +*110025+0000000000000009 21.324+0000000017959552 22.324+0000000026635029 31..06+0000000000578472 32..16+0000000000577445 87..16+0000000000014210 88..16+0000000000016450 +*110026+0000000000000009 21.324+0000000035959544 22.324+0000000009324574 31..06+0000000000578471 32..16+0000000000577444 87..16+0000000000014210 88..16+0000000000016450 +*110027+0000000000000010 21.324+0000000001842385 22.324+0000000009213367 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000016450 +*110028+0000000000000007 21.324+0000000017711544 22.324+0000000009031487 31..06+0000000001014431 32..16+0000000001014388 87..16+0000000000000000 88..16+0000000000016450 +*110029+0000000000000007 21.324+0000000035711533 22.324+0000000026928132 31..06+0000000001014433 32..16+0000000001014390 87..16+0000000000000000 88..16+0000000000016450 +*110030+0000000000000010 21.324+0000000019842377 22.324+0000000026746248 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000016450 +*110031+0000000000000009 21.324+0000000017959545 22.324+0000000026635037 31..06+0000000000578473 32..16+0000000000577446 87..16+0000000000014210 88..16+0000000000016450 *110063+0000000000000010 84..16+0000000009999994 85..16+0000000010494655 86..16+0000000001006701 87..16+0000000000000000 88..16+0000000000000000 *110064+0000000000000008 21.324+0000000035959550 22.324+0000000008746241 31..06+0000000000703128 32..16+0000000000702597 87..16+0000000000000000 88..16+0000000000000000 *110065+0000000000000011 21.324+0000000003652082 22.324+0000000009050480 31..06+0000000000699235 32..16+0000000000699159 87..16+0000000000000000 88..16+0000000000000000 diff --git a/geodepy/tests/resources/gsisample.msr b/geodepy/tests/resources/gsisample.msr new file mode 100644 index 0000000..2de5780 --- /dev/null +++ b/geodepy/tests/resources/gsisample.msr @@ -0,0 +1,40 @@ +!#=DNA 3.01 MSR 01.01.2020 GDA94 01.01.2020 27 +D AU45 AU52 2 18 42 38.230 4.158 +D AU48 177 11 53.810 3.039 +D STR3 359 59 54.740 4.968 +V AU45 AU52 92 13 36.500 4.158 1.6450 0.0000 +V AU45 AU48 90 31 48.200 3.039 1.6450 0.0000 +V AU45 STR3 93 24 57.610 4.968 1.6450 1.4210 +S AU45 AU52 70.3146 0.0029 1.6450 0.0000 +S AU45 AU48 101.4460 0.0031 1.6450 0.0000 +S AU45 STR3 57.8488 0.0028 1.6450 1.4210 +D AU52 AU54 2 36 52 07.390 4.178 +D STR3 49 57 26.780 11.50 +D AU45 359 59 54.490 4.158 +V AU52 AU54 90 50 47.290 4.178 0.0000 0.0000 +V AU52 STR3 91 41 31.380 11.50 0.0000 0.0000 +V AU52 AU45 87 46 24.480 4.158 0.0000 0.0000 +S AU52 AU54 69.9253 0.0029 0.0000 0.0000 +S AU52 STR3 24.2090 0.0025 0.0000 0.0000 +S AU52 AU45 70.3146 0.0029 0.0000 0.0000 +D AU54 STR3 2 0 00 00.140 6.079 +D AU52 6 44 32.820 4.178 +D AU49 189 14 37.100 6.203 +V AU54 STR3 89 36 35.930 6.079 0.0000 0.0000 +V AU54 AU52 89 09 13.320 4.178 0.0000 0.0000 +V AU54 AU49 95 16 50.480 6.203 0.0000 0.0000 +S AU54 STR3 46.6719 0.0027 0.0000 0.0000 +S AU54 AU52 69.9252 0.0029 0.0000 0.0000 +S AU54 AU49 45.6894 0.0026 0.0000 0.0000 +D AU49 AU54 1 275 07 26.417 5.663 +D AU48 359 59 57.683 2.286 +V AU49 AU54 84 43 07.350 5.663 0.0000 0.0000 +V AU49 AU48 86 55 09.692 2.286 0.0000 0.0000 +S AU49 AU54 45.6894 0.0024 0.0000 0.0000 +S AU49 AU48 130.8522 0.0031 0.0000 0.0000 +D AU48 AU45 1 34 14 22.071 2.569 +D AU49 359 59 55.150 2.116 +V AU48 AU45 89 28 20.479 2.569 0.0000 0.0000 +V AU48 AU49 93 04 51.543 2.116 0.0000 0.0000 +S AU48 AU45 101.4457 0.0027 0.0000 0.0000 +S AU48 AU49 130.8523 0.0029 0.0000 0.0000 diff --git a/geodepy/tests/resources/gsisample_noconfig.msr b/geodepy/tests/resources/gsisample_noconfig.msr new file mode 100644 index 0000000..31f9040 --- /dev/null +++ b/geodepy/tests/resources/gsisample_noconfig.msr @@ -0,0 +1,40 @@ +!#=DNA 3.01 MSR 01.01.2020 GDA94 01.01.2020 27 +D 8 10 2 18 42 38.230 1.386 +D 7 177 11 53.810 1.013 +D 9 359 59 54.740 1.656 +V 8 10 92 13 36.500 1.386 1.6450 0.0000 +V 8 7 90 31 48.200 1.013 1.6450 0.0000 +V 8 9 93 24 57.610 1.656 1.6450 1.4210 +S 8 10 70.3127 0.0005 1.6450 0.0000 +S 8 7 101.4432 0.0005 1.6450 0.0000 +S 8 9 57.8473 0.0005 1.6450 1.4210 +D 10 11 2 36 52 07.390 1.392 +D 9 49 57 26.780 3.836 +D 8 359 59 54.490 1.386 +V 10 11 90 50 47.290 1.392 0.0000 0.0000 +V 10 9 91 41 31.380 3.836 0.0000 0.0000 +V 10 8 87 46 24.480 1.386 0.0000 0.0000 +S 10 11 69.9234 0.0005 0.0000 0.0000 +S 10 9 24.2084 0.0005 0.0000 0.0000 +S 10 8 70.3127 0.0005 0.0000 0.0000 +D 11 9 2 0 00 00.140 2.026 +D 10 6 44 32.820 1.392 +D 6 189 14 37.100 2.067 +V 11 9 89 36 35.930 2.026 0.0000 0.0000 +V 11 10 89 09 13.320 1.392 0.0000 0.0000 +V 11 6 95 16 50.480 2.067 0.0000 0.0000 +S 11 9 46.6707 0.0005 0.0000 0.0000 +S 11 10 69.9234 0.0005 0.0000 0.0000 +S 11 6 45.6882 0.0005 0.0000 0.0000 +D 6 11 1 275 07 26.417 1.887 +D 7 359 59 57.683 0.762 +V 6 11 84 43 07.350 1.887 0.0000 0.0000 +V 6 7 86 55 09.692 0.762 0.0000 0.0000 +S 6 11 45.6882 0.0004 0.0000 0.0000 +S 6 7 130.8487 0.0005 0.0000 0.0000 +D 7 8 1 34 14 22.071 0.856 +D 6 359 59 55.150 0.705 +V 7 8 89 28 20.479 0.856 0.0000 0.0000 +V 7 6 93 04 51.543 0.705 0.0000 0.0000 +S 7 8 101.4430 0.0004 0.0000 0.0000 +S 7 6 130.8488 0.0004 0.0000 0.0000 diff --git a/geodepy/tests/test_surveyconvert.py b/geodepy/tests/test_surveyconvert.py index 2633ded..ac04b82 100644 --- a/geodepy/tests/test_surveyconvert.py +++ b/geodepy/tests/test_surveyconvert.py @@ -10,14 +10,14 @@ class TestSurveyConvert(unittest.TestCase): def test_fbk2msr(self): abs_path = os.path.abspath(os.path.dirname(__file__)) tempdir = tempfile.TemporaryDirectory() - files = ['Site13-134.fbk', 'Site13-134.gpy'] + files = ['fbksample.fbk', 'fbksample.gpy'] for f in files: shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) - temp_fbk_filepath = os.path.join(tempdir.name, 'Site13-134.fbk') - temp_fbkgpy_filepath = os.path.join(tempdir.name, 'Site13-134.gpy') + temp_fbk_filepath = os.path.join(tempdir.name, 'fbksample.fbk') + temp_fbkgpy_filepath = os.path.join(tempdir.name, 'fbksample.gpy') fbk2msr(temp_fbk_filepath, temp_fbkgpy_filepath, strict=False, zerodist=False, same_stdev=False) - original_msr = open(os.path.join(abs_path, 'resources/Site13-134.msr')) - temp_msr = open(os.path.join(tempdir.name, 'Site13-134.msr')) + original_msr = open(os.path.join(abs_path, 'resources/fbksample.msr')) + temp_msr = open(os.path.join(tempdir.name, 'fbksample.msr')) assert [row for row in original_msr] == [row for row in temp_msr] original_msr.close() temp_msr.close() @@ -26,13 +26,13 @@ def test_fbk2msr(self): def test_writestn(self): abs_path = os.path.abspath(os.path.dirname(__file__)) tempdir = tempfile.TemporaryDirectory() - files = ['Site13-134.txt', 'Site13-134.gpy'] + files = ['fbksample.txt', 'fbksample.gpy'] for f in files: shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) - temp_txt_filepath = os.path.join(tempdir.name, 'Site13-134.txt') + temp_txt_filepath = os.path.join(tempdir.name, 'fbksample.txt') writestn(temp_txt_filepath, 'S56') - original_stn = open(os.path.join(abs_path, 'resources/Site13-134.stn')) - temp_stn = open(os.path.join(tempdir.name, 'Site13-134.stn')) + original_stn = open(os.path.join(abs_path, 'resources/fbksample.stn')) + temp_stn = open(os.path.join(tempdir.name, 'fbksample.stn')) assert [row for row in original_stn] == [row for row in temp_stn] original_stn.close() temp_stn.close() @@ -41,29 +41,29 @@ def test_writestn(self): def test_gsi2msr(self): abs_path = os.path.abspath(os.path.dirname(__file__)) tempdir = tempfile.TemporaryDirectory() - files = ['ST0618HZ.gsi', 'ST0618HZ.gpy'] + files = ['gsisample.gsi', 'gsisample.gpy'] for f in files: shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) - temp_gsi_filepath = os.path.join(tempdir.name, 'ST0618HZ.gsi') - temp_gsigpy_filepath = os.path.join(tempdir.name, 'ST0618HZ.gpy') + temp_gsi_filepath = os.path.join(tempdir.name, 'gsisample.gsi') + temp_gsigpy_filepath = os.path.join(tempdir.name, 'gsisample.gpy') gsi2msr(temp_gsi_filepath, temp_gsigpy_filepath) - original_stn = open(os.path.join(abs_path, 'resources/ST0618HZ.msr')) - temp_stn = open(os.path.join(tempdir.name, 'ST0618HZ.msr')) - assert [row for row in original_stn] == [row for row in temp_stn] - original_stn.close() - temp_stn.close() + original_msr = open(os.path.join(abs_path, 'resources/gsisample.msr')) + temp_msr = open(os.path.join(tempdir.name, 'gsisample.msr')) + assert [row for row in original_msr] == [row for row in temp_msr] + original_msr.close() + temp_msr.close() tempdir.cleanup() def test_gsi2msr_no_config(self): abs_path = os.path.abspath(os.path.dirname(__file__)) tempdir = tempfile.TemporaryDirectory() - files = ['ST0618HZ.gsi'] + files = ['gsisample.gsi'] for f in files: shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) - temp_gsi_filepath = os.path.join(tempdir.name, 'ST0618HZ.gsi') + temp_gsi_filepath = os.path.join(tempdir.name, 'gsisample.gsi') gsi2msr(temp_gsi_filepath) - original_stn = open(os.path.join(abs_path, 'resources/ST0618HZ_noconfig.msr')) - temp_stn = open(os.path.join(tempdir.name, 'ST0618HZ.msr')) + original_stn = open(os.path.join(abs_path, 'resources/gsisample_noconfig.msr')) + temp_stn = open(os.path.join(tempdir.name, 'gsisample.msr')) assert [row for row in original_stn] == [row for row in temp_stn] original_stn.close() temp_stn.close() @@ -72,10 +72,10 @@ def test_gsi2msr_no_config(self): def test_gsi2stn(self): abs_path = os.path.abspath(os.path.dirname(__file__)) tempdir = tempfile.TemporaryDirectory() - files = ['ST0618HZ.gsi'] + files = ['gsisample.gsi'] for f in files: shutil.copy(os.path.join(abs_path, 'resources', f), tempdir.name) - temp_gsi_filepath = os.path.join(tempdir.name, 'ST0618HZ.gsi') + temp_gsi_filepath = os.path.join(tempdir.name, 'gsisample.gsi') #TODO: finish test_gsi2stn testing tempdir.cleanup() pass From 973c7616b5be6cc92f8a0bd6653a954d9224938b Mon Sep 17 00:00:00 2001 From: jb6t <6S7Jo!f%s8wQ@0yGX8ZM> Date: Tue, 28 May 2019 15:22:20 +1000 Subject: [PATCH 10/12] Modify comment --- geodepy/surveyconvert/classtools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geodepy/surveyconvert/classtools.py b/geodepy/surveyconvert/classtools.py index 5b20aa9..956f68f 100644 --- a/geodepy/surveyconvert/classtools.py +++ b/geodepy/surveyconvert/classtools.py @@ -266,7 +266,7 @@ def reducesetup(obslist, strict=False, zerodist=False, meanmulti=False): mean_hz + 360 mean_va = mean(repeat_va) mean_sd = mean(repeat_sd) - # Comp number of rounds completed + # Compute number of rounds completed sum_rounds = 0 for ob in matchedobs: sum_rounds += ob.rounds From 8a2225ca197c92728ad39f6ff97faf19a42bbf89 Mon Sep 17 00:00:00 2001 From: BatchelorJ Date: Tue, 28 May 2019 15:22:20 +1000 Subject: [PATCH 11/12] Modify comment again --- geodepy/surveyconvert/classtools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/geodepy/surveyconvert/classtools.py b/geodepy/surveyconvert/classtools.py index 5b20aa9..0f3882a 100644 --- a/geodepy/surveyconvert/classtools.py +++ b/geodepy/surveyconvert/classtools.py @@ -266,7 +266,7 @@ def reducesetup(obslist, strict=False, zerodist=False, meanmulti=False): mean_hz + 360 mean_va = mean(repeat_va) mean_sd = mean(repeat_sd) - # Comp number of rounds completed + # Compute number of rounds of observations completed sum_rounds = 0 for ob in matchedobs: sum_rounds += ob.rounds From 23c1d6584d8f2c7cd275aecc69ee0a43cb2a05d6 Mon Sep 17 00:00:00 2001 From: jb6t <6S7Jo!f%s8wQ@0yGX8ZM> Date: Fri, 31 May 2019 08:51:11 +1000 Subject: [PATCH 12/12] Bump PyPI version to 0.0.5 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 6e4c792..a29ce01 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup setup(name='geodepy', - version='0.0.4', + version='0.0.5', description='GA Geodesy Package', long_description='A toolkit for Geodesy and Surveying in Python', url='https://github.com/GeoscienceAustralia/GeodePy',