Current Status
Not Enrolled
Get Started

This work is made available to you for free through a BY-NC-ND 4.0 Creative Commons license. You need to be signed in to access, which requires your acceptance of the terms of that license and our terms of use.

In this lab, students learning about spatial networks will build on what they did in the previous lab in order to carryout a pre-analysis for the design of a small trilateration network. Like other labs in the series, it’s about bringing spatial networks to life for yourself and understanding them as deeply as possible.
The practical applications of this one are being able to:
  • Carry out the error propagation for this kind of network;
  • Implement a ‘brute force’ design process; and
  • Make a recommendation for the ‘best’ or optimal design to be carried out in the field.
You’re also going to:
  • Add the related new functionality in order to build on your C++ network library; and
  • Work as a team to develop and submit a final implementation.

1. Watch the introduction

Here are the notes I was referring to in the video.

2. Consider the following context


Imagine that you just landed a summer job as a geomatics engineer, and that your boss comes to you in the first week and tells you that the company needs to extend a primary geodetic network in the area of the town of Exshaw, which is not too far from Calgary, Alberta, Canada. Having heard that you took a class in geomatics networks, she wants you to do a pre-analysis of the proposed extension to avoid excessive or inadequate field observations. And she’d like you to use a trial and error method based on the propagation of errors in different possible network configurations.

Below is part of a 1:50,000 scale topographic map downloaded from Natural Resources Canada depicting the planned extension. The new stations 3, 4, 5, and 6 will be positioned by conventional terrestrial methods using the control stations 1 and 2.

The UTM coordinates of stations 1 and 2 are as follows and can be considered to be known:

  • E_1 = 625774.134 \text{ m} \text{  and  } N_1 = 5654459.397 \text{ m}
  • E_2 = 624676.199 \text{ m} \text{  and  } N_2 = 5661431.497 \text{ m}

All stations are inter-visible except for stations 3 and 5, i.e. there’s a clear line of sight from all of the stations to all of the others except between 3 and 5.

To be clear: you will need all of these stations. The question is how many distance measurements are needed between them in order the meet the specs published below.

Click here to open the full image in a new window » for downloading

Measurement precision and required survey specs

Your boss tells you that the client has told her that the semi-major axis of each 95% relative confidence region between new stations must be less than:

    \begin{equation*}d\text{ x }3.0\text{ x }10^{-6}\text{ + }0.05\text{ m }\end{equation*}

where d is the distance between the two stations in metres and can be approximated using the initial approximate coordinates of the stations.

She tells you that there are no specifications for the point confidence regions.

Further, you learn that the distance measurements will have the following standard deviation:

    \begin{equation*}\sigma_{l}\text{ = }\pm\text{ ( }4\text{ mm }+2\text{ ppm }\text{ ) }\end{equation*}

And you’re told that you can assume the measurements that are going to be made will be uncorrelated, meaning that there will be no off-diagonal elements in the variance-covariance matrix \mathbf{C}_l.

2. Read the following guidance


In this lab you will apply what you have been learning in class (about the linearization of functional models, about error propagation, and about stochastic models for geomatics networks) in order to carry out the preanalysis of a trilateration network.

The lab has three parts:

1. In the first part, you’re asked to add to what you did in our earlier lab so that your solutions can carry out a network preanalysis in an iterative fashion:

a) Use Google Sheets to develop your own individual sandbox implementation. This means having a spreadsheet that implements the provided situation;

b) Add to your own C++ library so that it allows you to implement the same.

2. In the second part, you’re asked to carry out such a preanalysis-based design using the real world network scenario provided.

3. In the third part, you’re asked to come together to submit a single team-based solution in C++.

Directions for these parts are provided in the lessons at the bottom of this page.

Why this lab?

Specifically, you have four goals in doing this lab:

1. To demonstrate an understanding of stochastic modeling and error propagation as it applies to the design of 2D spatial networks

2. To develop C++ code that applies / implements that understanding in a practical context

3. To demonstrate that you can use this in your own practice as an engineer to design a network, e.g. to help avoid excessive or inadequate field observations while still meeting the survey requirements

4. To reflect on the advantages and disadvantages of doing pre-analysis before executing a survey project

And, simply put, these are fundamental skills for a practicing engineer.

Deadlines + assessment + individual vs. team work

If you’re taking this from me as part of a university class then:

  • The due dates for this work are outlined on our activity schedule which you can access with the tabs at the bottom right side of any page on this site.
  • A detailed marking rubric will be handed out via D2L and discussed in class. Don’t hesitate to reach out if you have any questions at all.
  • You’re asked to use the lab report report template when submitting your lab.

This lab requires individual work and then requires you to work as a team with others. As discussed in the following, you are asked to:

  1. Work alone to develop your own sandbox solutions in Google Sheets (in Part 1);
  2. Code your own solutions in C++ as a start to building your own library in this course (in Part 2); and
  3. Come together as a team to land on one C++ implementation that you’re going to submit to represent the work of your team (in Part 3).

We find it helps the learning a lot when each person has done the individual work in this lab before coming together on a solution, which is why it’s structured that way and why you each need to hand in your individual solutions as an appendix to the final report. Each person’s understanding gets stronger this way. They do better on the related tests. And the overall results are stronger.

3. Attribution

This lab is based on a similar lab delivered by Dr. Edward Krakiwsky (mentioned in the timeline at the bottom of this page) and Dr. Mohamed Abousalem back in 1995 to students of the Geomatics Engineering program at the University of Calgary. I am grateful to them for their willingness to let me modify and share it here. Any mistakes are very likely mine and anything you like is very likely theirs.

4. Check out these related modules

The following modules might be helpful:

5. Get started!

You need to be signed in and enrolled (see above) in order to access the content found below.