The XYZworks Triangulate app is used to find the coordinates of a remote point by triangulation. This is useful for reporting distant wild fires, for landowners, firefighters, land surveyors, boaters, pilots, amateur radio direction finding (ARDF, transmitter hunting) and anyone wanting to know the coordinates of a remote point without going there. This help is also in the app.

The app uses the GPS with an augmented reality compass on a camera view to get 2 points and bearings from each. It then computes the bearing - bearing intersection using spherical math. The 3 points can then be displayed with your choice of mapping program, which makes it easy to determine which road is best to get to the computed point. I saw the need for this app to save lives and property since I almost died when my 2 houses burned down in a wildfire, and firefighters took hours to determine where the fire was located and how to get there, because the calls to 911 were not giving enough info.

Basic steps:
1. Wait until you see GPS coordinates on your display. The number of satellites in view is shown, you need at least 4 to get a position. Move around if the sky is blocked so it can see more satellites. Wait until the accuracy numbers shown stop decreasing, you want the lowest possible number.

2. On a phone hit the Next button to switch to the the camera/compass view. The GPS coordinates of your point are saved on the screen, don't move from this spot unless you hit the GPS button to start tracking again. We do this because on many phones, when the camera is on, it interferes with the GPS accuracy. Ignore this step on tablets because its all on one screen.

3. Sight from your first point using the crosshairs on the camera view. If you are having trouble sighting a point this way, see another way of sighting below under menu options. The slider zooms the camera in and out (if your device supports it.) Hit the Brg 1 button to save the bearing and coordinates into the display fields. The coordinates and bearing displayed now by hitting More is enough for a basic report of a wild fire to 911, the next steps are optional to get a triangulated location from another point, such as driving up the road a mile.

4. Do steps 1 to 3 again from a second point >1000 feet (300m) away, except hit the Brg 2 button. Farther away from the 1st point is better, see Accuracy below.

5. On a phone hit the More button and on any device hit Compute to triangulate the unknown point. The computed latitude and longitude are displayed in decimal degrees.

6. The next step depends on what you want to do with the data, you could report the coordinates and bearings to 911 if its a wild fire, use the Map button described below, or the Save KML button to email the information.

To get another bearing and coordinates from additional points, hit the Brg 1 or Brg 2 buttons to replace the respective data, and then hit Compute for a new triangulated point. On a phone hit the More button to get more options, and the Less button takes you back to the compass/camera view.  The GPS button takes you back to the GPS coordinates screen. On a tablet, all the options are on 1 screen so there are no More, Less, GPS, or Next buttons.

Manual entry
Another option is to have a person call, radio, or email to report their GPS coordinates (in decimal degrees) and a true North compass bearing which you enter into the fields by tapping on them. You can do this instead of step 4 above. The display shows a magnetic compass reading until you get a GPS coordinate. Then it computes the declination at your location and the display changes to a true North bearing = Magnetic bearing + declination. The number put into the bearing field for calculation, either manually or by the Bearing buttons, is always a true north bearing.

Map display
Press the Map button to save a KML file in the /sdcard/XYZworks folder and then choose from any mapping programs you have installed which can read KML (a standard format to exchange geographic data.) You must have an SD card installed to use this and the Send KML option. This works seamlessly with the free XYZmaps app here: https://market.android.com/details?id=com.xyzworks.XYZmaps

We also like Oruxmaps (here: https://market.android.com/details?id=com.orux.oruxmaps&hl=en ) since it can display the data either on or offline with a large variety of base map sources. To use oruxmaps easiest, get it running before you hit the Map button.  Then hit Home to switch to Triangulate, not Back. This keeps the program running in the background (multi-tasking, which the iPhone cannot do!) instead of closing it.  If you only have 1 point and bearing, the app computes a dummy point 10km away to show the bearing from the first point. On a map, you can tap on the marker at any of the 3 points to see the coordinates and bearing.

Email the data
Press the Save KML button to save a KML file to the /sdcard/XYZworks folder and email it to others so they can view it in a mapping program on their phone, tablet, or desktop computer. See maps.google.com for an easy way to display the file on a desktop computer. Choose My Places, Create Map, Import, Browse to the KML file you saved from email, Upload. The data is displayed on your choice of a street map or satellite view, and it gives you a link to the map you can email to others, here is a sample: http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=208093473308607160239.0004b82ddcc76689ba82a

Menu buttons:

Distance Ft/M:
Sets the units for GPS accuracy to Feet (default) or Meters.

Camera sight:
Choose between using the camera sight for the compass (default), or sight across the face to get better accuracy for phones where you have a small camera or poor visibility. Its trickier since you aren't looking at the screen when you press the button. Position your finger over the bearing 1 or 2 button, while you sight the distant point across the face of the device with the right side towards your eye. With this option, the compass reading shown and saved is 90 degrees from where camera is aimed to match where the phone face is aimed. After changing this option, leave the app and re-start to see the new display. The menu settings are saved and remembered each time you re-start the app.

Sound:
Turn on or off the beep sound played when you hit the Brg 1 or 2 button,  useful since some phones have trouble playing sounds.

Accuracy
The accuracy will vary depending on your device's compass, the number of satellites, the distances, and the angle between the bearings. The best accuracy is achieved when the 2 bearings differ by 56 degrees. An equilateral triangle is good, where each of the sides has the same length, and all 3 inside angles of the triangle are 60 degrees. If your bearings are less than 5 degrees apart or your 2 points are less than 200 feet you see a warning about low accuracy. The app reads the magnetometer and displays a popup warning if you are too near a metal or magnetic object which lowers your compass accuracy.

Compass calibration
If your compass isn't reading properly or jumping around, try calibration: Turn the device 2 full turns on each of the 3 axes. 1. With inclination 0, turn the compass around 0 to 360, 2 times, 2. Keep facing your eye (inclination 0), turn clockwise 2x, 3. Starting with facing your eye, roll it up to the sky, then away from you (inclination rolls), and continue around 2x. Some sites say Android devices are always automatically calibrating, so if you keep the phone close to a iron or any magnetic field for too long you may need to do this calibration again (such as in your pocket with keys.) Avoid magnetic catches on your phone case.

Adjust
If after calibration, your compass still reads wrong by a repeatable amount, you can enter an Adjust number which is added to all compass readings (adjust can be + or - number.) This is stored and remembered when you re-start the program. To determine the adjust number, aim your device at a distant object (>2000 ft or 600m away) and note the compass reading, then compare to a conventional compass. Another way to determine this is to sight a distant object shown on a map, hit the Brg 1 button, More, then Map. Compare the line drawn on the map to see how far you missed the object. 1 degree of adjust at 2000 ft = 35 ft change.

All rights reserved. XYZworks makes no expressed or implied warranty of any kind with regard to the program material offered or the merchantability or fitness of the program material for any particular purpose. The program material is made available solely on an "as is" basis, and the entire risk as to its quality and performance is with the user. XYZworks shall not be liable for any incidental or consequential damages in connection with or arising out of the furnishing, use or performance of the program material.