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.

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.

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

Known bugs: 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.

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-suggest behaviours, bug fixes.

Known bugs: 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.

Future Versions

Future versions of Q-Cogo MAY include: traditional traverse adjustments and least squares adjustments, Helmert's transformation, automatic error propagation, sketch image outputting, linework, labeling and point-and-click drafting facilities, clothoid and roading calculations, map projections, heighting, and pro-rata operations.

Download the zipped folder and unzip it. The "Published Version" folder contains the same files as the online version. The "Development Code" folder contain the Q-Cogo source code (HTML, CSS, and JavaScript), for reference and improvement. To run Q-Cogo, open the "index.html" file in the "Published Version" folder.

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

Leaving Q-Cogo or (in some browsers) refreshing the page WILL RESULT IN ALL CURRENT POINTS BEING LOST. Save your points by choosing "Select", then copying the record into a text file. Load the points again later by choosing "Edit", then pasting the contents of your text file into the points record.

Each area in Q-Cogo includes pop-up help topics relevant to that area. Click on the nearest "?" icon to learn more about using a feature.

To navigate around a 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.

You can save a copy of Q-Cogo to your computer to use when you're not connected to the internet. See the "Download" section (above) for more.

Azimuths and angles must be entered in DMS, of the form DDD.MMSS (many seconds digits 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 ('-').

Please report bugs in detail: NOTANADDRESS.

Q-Cogo has no maximum number of points, but zooming and panning sketches with many points (500+) will result in laggy performance on slow computers. To improve performance, turn off point labeling or delete unnecessary points.

Q-Cogo was designed in Mozilla Firefox. Using Q-Cogo in Firefox is highly recommended for fast, error-free performance.

Other standards-compliant browsers, like Google Chrome or Apple Safari, also provide good performance. However, in these browsers, refreshing the page WILL RESULT IN ALL CURRENT POINTS BEING LOST. Save your points to a text file often.

Microsoft Internet Explorer versions 7 and 8 run JavaScript very slowly, and are awkward to use with a locally saved copy of Q-Cogo. Sketch performance is slow and extremely laggy, even with a small number of points. Q-Cogo does not work in Internet Explorer versions 6 or lower.

Opera provides mediocre sketch performance, erases points on refresh, and makes keyboard navigation extremely awkward.

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

Please report bugs in detail: NOTANADDRESS.

Points:p

Traverse:t

Inverse:i

Intersect:x

Transform:f

Area:a

Solver:l

Settings:s

Help:h

The following keys may be used to navigate through the sketches:

Pan:Arrow Keys

Zoom:Page up / Page Down

Refresh:Home

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-separated in PNEZD format with no extra lines or special characters.

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

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 ('-') indicate a range of points. Entering '*.*' indicates all current points.

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

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.MMSS (many seconds digits 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.

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

Inverses can be performed in 3D or, for simplicity, in 2D. Switch between inverse dimensions by clicking on the title.

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

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.MMSS (many seconds digits 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.

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

Points may be shifted ("+N", "+E", or "+Z"), scaled by a scale factor ("SF"), or rotated ("Rot"). If scaling or rotating points, an "About" point must be entered.

"+N", "+E", "+Z", or "Rot" parameters default to 0 if left blank. "SF" defaults to 1. The transformation will preserve parallel lines and distance ratios: a transformed square will remain a square.

Angles must be entered in DMS, of the form DDD.MMSS (many seconds digits 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.

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

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.

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

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.MMSS (many seconds digits 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.

Changing display precision will not affect stored point precision. Stored points always carry ten decimal places to minimize rounding errors.

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.MMSS (many seconds digits 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.

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.

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.

':Feet

+E:Easting Shift

+N:Northing Shift

+Z:Elevation Shift

BC:Beginning of Curve

Ang:Angle

Az:Azimuth

Brg:Bearing

BS:Backsight

Desc:Description

Disp:Display

Dist:Distance

DMS:Degrees Minutes Seconds

E:Easting

EC:End of Curve

Grd:Grade

Ha:Hectare

HA:Horizontal Angle

HD:Horizontal Distance

HI:Height of Instrument

HT:Height of Target

Len:Length

m:Metres

MO:Mid-Ordinate

N:Northing

Pt:Point Name

Rad:Radius

Rot:Rotation

SD:Slope Distance

SF:Scale Factor

SS:Sideshot

Stn:Stationing

Tang:Tangent

Trav:Traverse

VD:Vertical Distance

Z:Elevation

ZA:Zenith Angle