### Help Index

#### ABOUT

Welcome to Q-Cogo! Q-Cogo was developed as a free, accessible way of solving land survey computations.Anyone can use Q-Cogo. It is aimed at land surveying and geomatics engineering students, and others wanting to do surveying computations without expensive coordinate geometry software. Q-Cogo is web-based and does not require installation.

Q-Cogo is easy to use, and provides the practiced user with a faster way of performing calculations. For now, it is exclusively a calculator, but future versions may be capable of producing survey drawings.

For more information, contact us: NOTANADDRESS.

#### COPYRIGHT, TERMS

Copyright © 2017 Mark R. Mason, BCLS.Q-Cogo is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Q-Cogo is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

For more information, contact us: NOTANADDRESS.

#### VERSIONS

Each older version of Q-Cogo will remain available here. Future versions of Q-Cogo will be able to open all data produced by earlier versions.##### Q-Cogo v. 1.4 – Nov 1, 2017

Overview:- Added "Adjust" tab featuring compass rule traverse adjustment with sideshots
- Added point-based line and arc drawing tools
- Added save/open feature, allowing archiving of named jobs (as .QCG file) to local computer
- Allowed editing of existing points without requiring previous deletion
- Added page exit warning to guard against accidental data loss
- Made Transform more flexible
- Improved sketch behaviour
- Bug fixes

- Compass rule adjustments must be performed by two fixed points, not by 1 fixed point and a fixed azimuth

##### Q-Cogo v. 1.3 – Sept 1, 2017

Overview:- Update to HTML5 and modern standards
- Improved performance on mobile devices
- Added support for import of CSV as well as space separated points files
- Added support of DDD°MM'SS.SS..." style angle/azimuth input
- Sketches and reporting more user-friendly and complete
- Updated to SVG graphics for compatibility with future enhancements
- Added real-time input field checking, basic point name suggest
- Improved auto-complete behaviour
- Minor bug fixes

- Manipulation of sketches on touch devices is clumsy
- Not tested on many mobile platforms
- Zooming sketch far from active operation / near limits produces unpredictable results
- Tabbing far past end of form elements causes sketch controls to disappear
- Internet Explorer versions 11 and below struggle to render SVG graphics

##### Q-Cogo v. 1.2 (Beta) – Jan 1, 2010

Overview:- Zooming and panning of all sketches
- Triangle and curve solver
- Shortcut keys for all major operations
- Input constants, distance and area units
- Input expressions / existing point expressions
- Improved auto-complete behaviour
- Bug fixes

- Removing focus from browser window while editing points record corrupts record behaviour in some browsers
- Zooming in on some curves produces nonsense sketch
- Meaningless "Charcode" JavaScript warning produced in some versions of Firefox

##### Q-Cogo v. 1.1 (Beta) – Sept 1, 2009

Overview:- Capable of basic plane survey computations, area calculations, and point manipulations
- Point import and export possible
- Automatic sketches provided for cogo operations

- Improperly entered radial points produce confusing alerts and possible minor JavaScript error
- Improperly entered HA in traverse menu produces nonsense results
- Point sort does not work properly for mixed numbers and strings
- Point suggest disappears when scroll bar clicked in some browsers

##### Future Versions

Future versions of Q-Cogo MAY include: cloud storage and account features, least squares adjustments, Helmert's transformation, automatic error propagation, sketch image outputting and DXF export, more complex linework, labelling and point-and-click drafting facilities, clothoid and roading calculations, map projections, heighting, and pro-rata operations.#### DOWNLOAD

Q-Cogo can be downloaded to your computer and used when you're not connected to the internet.Download the zipped folder and unzip it. The folder contains the current source code (HTML, CSS, and JavaScript), for reference and improvement. To run Q-Cogo, open "index.html" in an Internet browser.

Do not choose "Save Page As ..." in your browser. This method of saving Q-Cogo is unreliable, and may produce a large variety of errors.

On some mobile devices, adding Q-Cogo to your home screen will allow you to access Q-Cogo like an app instead of a web page.

#### USING Q-COGO

You can start entering data and performing calculations as soon as Q-Cogo loads. If you don't need to save your work, just exit the browser window when you're finished. Leaving Q-Cogo or refreshing the page will erase any unsaved data.##### Saving Your Work

If you want to save your work (points, lines and settings) to your computer, first name your job at the left side of the title bar. Next, click the icon to save to your local machine. Control over the default save location is managed through your browser.Open saved jobs by clicking on the icon. Q-Cogo files have a ".qcg" file extension and can only be used by Q-Cogo.

You can import comma-separated or space-separated points files by choosing "Edit", then pasting the contents of your text file into the points record. Export space-separated points by choosing "Select", then copying the record into a text file.

You can copy and paste the contents of any output record into a text file to reference later by choosing "Select".

##### Navigation and Data Entry

Each area in Q-Cogo includes pop-up help topics. Click on the nearest icon to learn more.Q-Cogo will automatically sketch points, lines, and all COGO operations. Sketches automatically zoom to the most relevant area, but you can zoom or pan manually for a better view. Arcs and lines can be drawn at any time to provide context.

Azimuths and angles must be entered in DMS, of the form DDD.MMSSSS... or DDD°MM'SS.SS..." (seconds decimals allowed). Entering two point names separated by two dots ('Pt1..Pt2') will retrieve the distance or azimuth inverse between those points. Simple mathematical expressions are allowed.

Point names and descriptions may be up to 8 characters. Any spaces will be replaced with underscores ('_'). Point names must not include commas (',') asterisks ('*') or dashes ('-').

All Q-Cogo operations have been extensively checked; however, the possibility of error (especially with erroneous input) still exists. Be sure that results make sense, and double-check important work.

Please report bugs in detail: NOTANADDRESS.

#### PERFORMANCE

Q-Cogo was designed to be used in all modern browsers, but performance will vary depending on your choice of web browser and the capabilities of your computer. Q-Cogo uses JavaScript for most functions: to use Q-Cogo, you MUST enable JavaScript in your browser.##### Sketches

Q-Cogo uses Scalable Vector Graphics (SVG) to sketch calculations. If you can't see sketches being generated automatically while you work, update your browser or switch to a browser that supports SVG.Q-Cogo has no maximum number of points, but zooming and panning sketches with a very large number of points and lines will result in laggy performance on slow computers. To improve performance, turn off point labelling or delete unnecessary points.

##### Browsers

Q-Cogo was designed in Google Chrome. Using Q-Cogo in Chrome is highly recommended for fast, error-free performance.Internet Explorer versions 11 and below render SVG graphics slowly, resulting in long lags and browser crashes. Using Internet Explorer is possible but NOT recommended.

Recent standards-compliant browsers should provide good performance. Because Q-Cogo uses modern web components, update your browser to the latest version. In any browser, refreshing or leaving the page will result in your work being lost. Save your work often.

Q-Cogo has not been tested with older browsers, many mobile devices, or obscure operating systems.

Please report bugs in detail: NOTANADDRESS.

#### SKETCH

To navigate around the sketch, zoom by using the scroll wheel or 'Page Up' / 'Page Down'. Pan by holding the left mouse button or using the arrow keys. Double-click the sketch or press 'Home' to refresh the sketch. A clickable navigation area is also provided.Draw arcs and lines by choosing the appropriate tool, then clicking on the points in the sketch as instructed. Delete lines or arcs by choosing the delete tool, then picking the segments.

Toggle point labels (Point Name | Elevation | Description | None) by clicking on the link.

#### TIPS AND TRICKS

Q-Cogo will sort and suggest points more effectively if point names are numeric. On mobile platforms, only numbers can be entered. For best results, don't include letters or symbols unless you absolutely need to.If the default text size is too small in your desktop browser, try zooming the page. Q-Cogo is completely scalable, so all components will adjust automatically to fit the screen.

To efficiently save files to your computer, set your browser to prompt for a save location instead of using the default download folder. This will allow you to over-write an existing file if you want to.

#### POINTS RECORD

The Points Record displays a list of current points. Points are listed from left to right in the following columns:Pt:Point Name

N:Northing

E:Easting

Z:Elevation

Desc:Description

To sort the points record, click on the desired column header in the points record title.

To load points from a text file, click "edit", then paste the file contents into the text area. Points must be space or comma separated in PNEZD format with no special characters.

To expand the points record, double click inside it. Click outside the record to return to normal size.

#### POINTS ( p )

To store a point, enter its details as follows, then click "Store". Entering an existing point number will edit that point:Pt:Point Name

N:Northing

E:Easting

Z:Elevation

Desc:Description

"Pt" and "Desc" may be up to 8 characters. Any spaces will be replaced with underscores ('_'). "Pt" must not must not contain simple mathematical characters, dots ('.'), or commas (',').

To delete a point, enter its name, then click "Delete". To delete a list of points, enter the point names separated by commas (','). Two points separated by a dash ('-') or dots ('..') indicate a range of points. Entering "*.*" indicates all current points.

To edit a point, enter the Point Name to retrieve the current point values. Edit the values, then choose "Store".

#### TRAVERSE RECORD

The Traverse Record displays a history of all traverses performed, whether a point was stored or not. To see previous traverses, simply scroll through the text box.To expand the traverse record, double click inside it. Click outside the record to return to normal size.

#### TRAVERSE ( t )

To solve a traverse without storing a point, choose "Solve". To solve a traverse and store a point, choose "Trav" or "SS". ("Trav" will increment the "From" and "BS" inputs, while "SS" will not.) Entering an existing point number will edit that point.Traverses can be performed by "Azimuth" (angle clockwise from North) or by "Angle" (angle clockwise from a backsight point). Switch between traverse types by clicking on the title.

Traverses can be performed in 2D (horizontal distance) or 3D (slope distance and zenith angle). Switch between traverse dimensions by clicking on the title. If traversing in 3D, click on the HI and HT titles to edit.

Azimuths and angles must be entered in DMS, of the form DDD.MMSSSS... or DDD°MM'SS.SS..." (seconds decimals allowed). Entering two point names separated by two dots ('Pt1..Pt2') will retrieve the distance or azimuth inverse between those points. Simple mathematical expressions are allowed.

##### Example

Load sample data (Points area). Enter the traverse data – From "103", Azimuth "30.1245", Horizontal Distance "45.123", and choose "Solve". To Store a point, enter the point number and description and choose "Trav" or "SS".Next, click the "Azimuth" link to toggle to Angle mode. Enter "102" as the Backsight point (leave the other data in place) and choose "Solve". Notice that the angle is now measured from point 102 instead of from North.

Toggling from 2D to 3D will allow you to enter a Zenith Angle and Slope Distance instead of a Horizontal Distance. Don't forget to enter the heights of your instrument and target!

#### INVERSE RECORD

The Inverse Record displays a history of all inverses performed. To see previous inverses, simply scroll through the text box.To expand the inverse record, double click inside it. Click outside the record to return to normal size.

#### INVERSE ( i )

Inverses can be performed between two points or between a point and a line, the line being defined by two points. Switch between inverse types by clicking on the title.Inverses can be performed in 3D or, for simplicity, in 2D. Switch between inverse dimensions by clicking on the title.

##### Example

Load sample data (Points area). Enter the inverse points – From "514", To "512", and choose "Solve".Next, click the "Point" link to toggle to Line mode. 514 and 512 are now the Start and End points of a line. Enter "507" as the From point and choose "Solve".

#### INTERSECT RECORD

The Intersect Record displays a history of all intersections performed, whether a point was stored or not. To see previous intersections, simply scroll through the text box.To expand the intersect record, double click inside it. Click outside the record to return to normal size.

#### INTERSECT ( x )

To solve an intersection without storing a point, choose "Solve". To solve an intersection and store a point, choose "Store". Entering an existing point number will edit that point.Intersections can be performed between any two points with a non-zero horizontal distance between them. The intersection may be "Brg-Brg" (two directions), "Brg-Dist" (a direction and a distance) or "Dist-Dist" (two distances). Switch between intersection types by clicking on the title.

Intersections may only be performed in 2D. Resulting points will be stored with an elevation of zero.

Azimuths must be entered in DMS, of the form DDD.MMSSSS... or DDD°MM'SS.SS..." (seconds decimals allowed). Entering two point names separated by two dots ('Pt1..Pt2') will retrieve the distance or azimuth inverse between those points. Simple mathematical expressions are allowed.

##### Example

Load sample data (Points area). Enter the Bearing-Bearing intersection data – From "510", Azimuth "130.2345", To "513", Azimuth "245.3255", and choose "Solve". To Store a point, enter the point number and description and choose "Store".Next, click the "Brg-Brg" link to toggle to Bearing-Distance and Distance-Distance modes. Try entering your own data. The last two modes produce 2 solutions – you'll be asked which solution you want to use.

Remember that parallel bearings don't intersect, and calculations involving distances won't intersect if a distance is too small or too large!

#### TRANSFORM RECORD

The Transform Record displays a history of all transformations performed (shifts, scales and rotations). To see previous transformations, simply scroll through the text box.To expand the transform record, double click inside it. Click outside the record to return to normal size.

#### TRANSFORM ( f )

To transform a list of points, enter the point names separated by commas (','). Two points separated by a dash ('-') or dots ('..') indicate a range of points. Entering "*.*" indicates all current points. Choose to transform By "Values" or By "Points" by clicking on the title.Points may be:

- Shifted ("+N", "+E", or "+Z" in By Values mode, or "Az" and "Dist" in By Points mode),
- Scaled by a scale factor ("SF"), or
- Rotated ("Rot" in By Values mode, or "Dir 1" and "Dir 2" in By Points mode).

The transformation will preserve parallel lines and distance ratios – that is, a transformed square will remain a square.

Angles must be entered in DMS, of the form DDD.MMSSSS... or DDD°MM'SS.SS..." (seconds decimals allowed). Simple mathematical expressions are allowed when entering angles or distances.

In By Values mode ONLY, entering two point names separated by two dots ('Pt1..Pt2') will retrieve the appropriate 1-dimensional difference between those points (Northing, Easting or Elevation). In By Points mode, this notation will retrieve the distance or azimuth inverse between those points as usual.

##### Example

Load sample data (Points area). Enter the transform data – Points "601..606", About "605", Northing Shift "-5.125", Easting Shift "-4.915", Elevation Shift "1.000", Rotation "355.2705" and choose "Transform". Leave Scale Factor blank. Choose to commit to the transformation to edit the points.Notice that the house has been moved and rotated within the lot. Linework will follow points when they are edited or transformed.

Next, click the "Values" link to toggle to Points mode. Enter an azimuth of "6..1", a distance of "3", and an Elevation Shift of "601..6". Enter "606..601" for Direction 1, and "1..6" for Direction 2. Tranform the points.

Notice that the house has been turned to the destination direction – parallel to the West lot boundary. The elevations have all been shifted to 0, which was the difference between points 601 and 6. The house has been shifted along an azimuth parallel to the West boundary.

In the Values mode, try entering "104..515" in the Northing Shift, Easting Shift, and Elevation Shift areas. Notice how only the 1-dimensional component is returned instead of the usual 2-dimensional inverse value.

#### ADJUST RECORD

The Adjust Record displays a history of all traverse adjustments performed. To see previous adjustments, simply scroll through the text box. To see full details of even the most recent adjustment, you will need to expand the record or scroll up.To expand the adjust record, double click inside it. Click outside the record to return to normal size.

#### ADJUST ( j )

To perform a traverse adjustment, enter the required existing points, always in the direction of the traverse progression. An asterisk ('*') after a point (eg: Pt*) indicates that the point is a sideshot from the last main traverse point."Start" point(s) are the 1-2 fixed points at the beginning of the traverse. These points cannot be sideshots and will not be adjusted.

"Close" point(s) are the 1-2 fixed points at the end of the traverse. These points cannot be sideshots and will not be adjusted. Start and Close points may be the same.

"Adj", or Adjust points, are the points which will be adjusted. At least 2 main traverse (non-sideshot) points must be entered, or at least 3 if 2 close points are entered. The last 1-2 main traverse Adjust points must match the 1-2 Close points.

If 2 Start points and 2 Close points are entered, an angle balance will be performed prior to the compass rule adjustment. If only 1 Start and/or Close point is entered, only a compass rule adjustment will be performed.

##### Example

Load sample data (Points area). Enter data as follows to form a closed-loop traverse:- Start points: "101,102"
- Close points: "101,102"
- Adjust points: "103,1*,510*,514*,104,4*,515*,105,106"

##### Tips

Points, even Start and Close points, must always be entered in the direction of the traverse progression. The last 1-2 main traverse Adjust points must correspond to the 1-2 Close points.Always check the results and the sketch using the "Solve" button before using "Adjust" to permanently update the points database.

Review that the Adjust settings (in the Settings area) are configured correctly before performing an adjustment. To see more detailed analysis, choose "Detailed" info instead of "Quick".

##### Methodology

Adjustments are performed from existing points, not RAW observations. However, RAW observations are interpolated from existing point coordinates, which produces the same results without requiring a separate observation data file.Traverses are adjusted in two steps: Angle Balance and Compass Rule.

Angle Balance compares the calculated closing azimuth to the observed closing azimuth. If the closure is acceptable, each observed angle receives an identical adjustment, regardless of the length of the observation line. Angle balance requires 2 start points and 2 close points to work. If you want to adjust using only the compass rule, enter only 1 Start point and/or 1 Close point.

If you only wish to enter a closing angle (no distance was observed), a dummy point must be entered, preferably at the known closing distance.

Compass Rule adjusts points based on the traverse misclosure Angle Balance. (Remember, balancing angles can sometimes make the traverse closure larger.) Coordinates are adjusted based on line length, with longer observations receiving larger adjustments.

Balancing a traverse with only a fixed opening/closing azimuth is not yet possible in Q-Cogo. Starting on 2 fixed points at the initial azimuth will approximate this result, but the first observed distance will be held fixed.

##### Misclosure Calculations

Angle misclosure is calculated by comparing opening and closing azimuths, only if 2 Start points and 2 Close points are entered.Distance misclosure is calculated at the first Close point. The second close point will be used for angle misclosure calculations only.

Traverse length is calculated from the last Start point to the first Close point. Distances between Start and Close points are not part of the traverse (and are not necessarily observed) and cannot be included in the traverse length.

Relative precision is computed by dividing the traverse length by the total misclosure and is rounded to 2 significant figures.

#### AREA RECORD

The Area Record displays a history of all area calculations performed. To see previous areas, simply scroll through the text box.To expand the area record, double click inside it. Click outside the record to return to normal size.

#### AREA ( a )

To calculate the area bounded by a list of points, enter the point names separated by commas (','). Two points separated by a dash ('-') or dots ('..') indicate a range of points. Entering "*.*" indicates all current points, in their current order.An asterisk ('*') after a point (eg: Pt*) indicates a radial point on a curve with the shorter of two possible arc lengths. An asterisk before a point (eg: *Pt) indicates the longer arc length.

Bounding points and curves may be entered in a clockwise or counter-clockwise manner. The bounding path will automatically close to the first point. The bounding path must not cross itself or use a non-radial point more than once.

Before accepting an area calculation, inspect the sketch of the operation to ensure that your path does not intersect or meet itself, and that any curves deflect in the correct direction.

##### Example

Load sample data (Points area). Define the area of the outlined lot as follows: "1,6,5*,2,3,4". Notice that the "5*" denotes the centre of the curve. Eliminating this point and entering "1,6,2,3,4" excludes the segment area.#### SOLVER RECORD

The Solver Record displays a history of all solver calculations performed. To see previous triangle or curve solutions, simply scroll through the text box.To expand the solver record, double click inside it. Click outside the record to return to normal size.

#### SOLVER ( l )

Use the solver to solve triangles or circular curves. Switch between solver shapes by clicking on the title.To solve a triangle, enter three values, leave the other three blank, and choose "Solve". At least one of the values must be a side length.

To solve a circular curve, enter a value for "Delta" and one other value, leave the other three blank, and choose "Solve".

Angles must be entered in DMS, of the form DDD.MMSSSS... or DDD°MM'SS.SS..." (seconds decimals allowed). Entering two point names separated by two dots ('Pt1..Pt2') will retrieve the distance or azimuth inverse between those points. Simple mathematical expressions are allowed.

#### PRECISION

To change the display precision for a particular value type, simply pick it from the appropriate drop down list. Settings will be reflected immediately in the points record. Other records will reflect the change in the results of the next operation.Changing display precision will not affect stored point precision. Stored points always carry ten decimal places to minimize rounding errors.

#### HI, HT

To change the current Height of Instrument ("HI") or Height of Target ("HT") settings, simply enter the new values. These values may also be changed in the traverse area.#### INPUT CONSTANTS

To apply a scale factor to entered distances, enter a value other than 1 for "SF". The scale factor will not be applied to coordinates, other scale factors, or HI / HT.To apply a rotation angle to entered azimuths, enter a non-zero value for "Rot". The angle will not be applied to other rotations, interior angles, or zenith angles.

Angles must be entered in DMS, of the form DDD.MMSSSS... or DDD°MM'SS.SS..." (seconds decimals allowed). Entering two point names separated by two dots ('Pt1..Pt2') will retrieve the distance or azimuth inverse between those points. Simple mathematical expressions are allowed.

#### UNITS

To change the working units, simply select a new value from the drop-down list. Changing units only changes the displayed units and does NOT apply a scale factor. To scale existing values, use "Transform". To scale input values, use "Input Constants" (above).Mixing metric and imperial units is not allowed. For example, selecting "Feet" as a distance unit will automatically change the area unit to "Acre". Changing "Disp?" changes the unit output visibility.

#### TRAVERSE TOLERANCES

To change the traverse closure tolerance settings, simply select new values from the drop-down lists.If the values calculated during the course of the traverse adjustment are higher than the chosen tolerances, the adjustment will fail.

"Prec" is the minimum relative precision for the traverse. "Misc" is the maximum allowable absolute distance misclosure. "Angle" is the maximum allowable angle adjustment to each traverse leg.

The "Info" toggle controls the level of detail in the traverse report. Choose "Quick" for a brief overview, and "Detailed" for full analysis.

#### HELP ( h )

To get help on a topic, choose the appropriate link from the list. The help content box will scroll to the topic. Scroll through the help content box to browse all help topics.Each area in Q-Cogo includes pop-up help topics relevant to that area. Click on the nearest "?" icon learn more about using a feature.

#### SHORTCUT KEYS

For quick access, each menu item has a shortcut key – to find it, hover over the menu link. The following is a list of current menu shortcut keys:Points:p

Traverse:t

Inverse:i

Intersect:x

Transform:f

Adjust:j

Area:a

Solver:l

Settings:s

Help:h

To navigate through the sketches:

Pan:Arrow Keys

Zoom:Page up / Page Down

Refresh:Home

To control the sketch linework tools:

Delete:Ctrl+d

Arcs:Ctrl+a

Lines:Ctrl+l

Cancel:Esc

#### ABBREVIATIONS

The following is a complete index of technical abbreviations used in Q-Cogo:':Feet

+E:Easting Shift

+N:Northing Shift

+Z:Elevation Shift

BC:Beginning of Curve

Adj:Adjust

Ang:Angle

Az:Azimuth

Brg:Bearing

BS:Backsight

Desc:Description

Dir:Direction

Disp:Display

Dist:Distance

DMS:Degrees Minutes Seconds

E:Easting

EC:End of Curve

ft:Feet

Grd:Grade

Ha:Hectare

HA:Horizontal Angle

HD:Horizontal Distance

HI:Height of Instrument

HT:Height of Target

Len:Length

m:Metres

Misc:Misclosure

MO:Mid-Ordinate

N:Northing

Prec:Precision

Pt:Point Name

Rad:Radius

Rot:Rotation

SD:Slope Distance

SF:Scale Factor

sq:Square

SS:Sideshot

Stn:Stationing

Tang:Tangent

Trav:Traverse

VD:Vertical Distance

Z:Elevation

ZA:Zenith Angle