back

Message Structure Help Page

Define how properties for each location appear in a message.

Basic usage

Intermediate usage

Advanced usage


Basic usage


2019, December : Though they should be aduquate for demonstration, the screenshots below are slightly out of date, as some of the tags were changed with the implementation of UTM and MGRS.

Most users will only want to disable certain elements or reorder them.

Highlighting a row shows what it controls in the message:





Note that not all locations have altitude. The same is true for accuracy and notes.





To disable something from appearing, uncheck it.






To re-arrange the order, arrange the rows by moving them up or down



Latitude and longitude have been swapped.


Note that altitude and accuracy only appear if the location has the respective values. Locations added from the map do not have these values.

Intermediate usage

Adding text:
Suppose that you want 'name' to be prefixed with Name :
You can't edit the defaults, but you can copy them and edit the copies:






Notice that new lines matter: The name provides the leading space.



Advanced usage

In addition to the latitude, longitude, UTM and MGRS tags discussed in Custom Map Links , several more tags are available to access a location's data.
<name>
<notes> *
<altMyFormat>     Altitude in your selected distance unit. For example: '3 m' or '10 ft'.
<accMyFormat>    Accuracy in your selected distance unit. Very similiar to <altMyFormat> directly above
<mapUrls>
<timestampDeviceFormatShort>     (timestamp based on your device settings)
<timestampMillisSince1970>     Milliseconds since 1970
<timestampMillisSince1970WithMultD.dd>     Mulitiply milliseconds by D.dd. For example 0.001 for seconds or 1000000 for nanoseconds



<altMetersWithMultiplierMultiplier>     multiplier is what to multiply a meter by.

structure string output for 1000 meters output for 1001 m notes
<altMetersWithMultiplier3.28084> feet 3281 feet 3284 feet --- feet
<altMetersWithMultiplier39.3701> inches 39370 inches 39409 inches --- inches
<altMetersWithMultiplier0.001> km 1 km (trailing zeros obmitted) 1.001 km --- km
<altMetersWithMultiplier0.00062137> miles 0.621 miles 0.622 miles --- miles
<altMetersWithMultiplier1.9015> Egyptian cubits 1902 Egyptian cubits 1903 Egyptian cubits --- Egyptian cubits

Optionally, you can define maxFraction, minFraction, and minInteger
<altMetersWithMultiplierMultiplier:maxFraction>   maxFraction is the number of decimal places to round to.     Above, maxFraction is automatically set to 1 meter precision.
<altMetersWithMultiplierMultiplier:maxFraction:minFraction>   minFraction is the number of decimal places to force.
<altMetersWithMultiplierMultiplier:maxFraction:minFraction:minInteger>   minInteger is the number of integer places to force.
structure string output for 1000 meters output for 1001 m notes
<altMetersWithMultiplier3.28084> feet 3281 feet 3284 feet --- feet
<altMetersWithMultiplier39.3701> inches 39370 inches 39409 inches --- inches
<altMetersWithMultiplier0.001> km 1 km (trailing zeros obmitted) 1.001 km --- km
<altMetersWithMultiplier0.001:3> km 1 km (trailing zeros obmitted) 1.001 km --- km
<altMetersWithMultiplier0.001:3:3> km 1.000 km (minFraction forces trailing zeros) 1.001 km --- km
<altMetersWithMultiplier0.001:3:2> km 1.00 km (minFraction forces trailing zeros) 1.001 km --- km
<altMetersWithMultiplier0.001:2:2> km 1.00 km (minFraction forces trailing zeros) 1.00 km --- km
<altMetersWithMultiplier0.001:2:2:3> km 001.00 km 001.00 km --- km
<altMetersWithMultiplier0.00062137> miles 0.621 miles 0.622 miles --- miles
<altMetersWithMultiplier1.9015> Egyptian cubits 1902 Egyptian cubits 1903 Egyptian cubits --- Egyptian cubits




Conditional statements that depend on user selected coordinate format (D, DM, DMS, UTM, MGRS)

tag description
<ifUtmOrMgrs:Do Something>if 'Coordinate Format' setting is UTM or MGRS
<ifUtm:Do Something>if 'Coordinate Format' setting is UTM
<ifMgrs:Do Something>if 'Coordinate Format' setting is MGRS
<ifDegreesPrefix:Do Something>if 'Coordinate Format' setting is Degrees, Degrees-Minutes,
or Degrees-Minutes-Seconds
<ifDegrees:Do Something>if 'Coordinate Format' setting is Degrees
<ifDegreesMinutes:Do Something>if 'Coordinate Format' setting is Degrees-Minutes
<ifDegreesMinutesSeconds:Do Something>if 'Coordinate Format' setting is Degrees-Minutes-Seconds

Conditional statements that depend on name, notes, altitude, and accuracy.

structure string description
<ifHasName:Do Something>if 'name' field in non-empty
<ifHasNotes:Do Something>if 'notes' field in non-empty
<iHasAltitude:Do Something>if location has an altitude value
<ifHasAccuracy:Do Something>if location has an accuracy value

All of your locations may not have all of these values...
Example uses:
structure string description
<ifHasName:<name>
>
if 'name' field is non-empty, put 'name' here and make a new line. That is, do not add the new line if there is no name.
<ifHasNotes:<notes>
>
if 'notes' field in non-empty, put 'notes' here and make a new line. That is, do not add the new line if there are no notes.
<iHasAltitude:<altMyFormat>
>
if location's altitude value is invalid, don't let <altMyFormat> write '--- meters' for example. Otherwise, let it write '89 meters' and append a new line
Note that all conditional tags can be negated by inserting a '!' like so; <!ifHasName:No name>

Conditional statements that depend on latitude & longitude.

Below, DD.dd represents latitude or longitude degrees. It is a signed decimal number.
tag description
<ifLatGreaterThanDD.dd:Do Something>if latitude is greater than
<ifLatLessThanDD.dd:Do Something>if latitude is less than
<ifLonGreaterThanDD.dd:Do Something>if longitude is greater than
<ifLonLessThanDD.dd:Do Something>if longitude is less than
tag description
<ifLatPositive:Do Something>if latitude >= 0 (Northern Hemisphere)
<ifLatNegative:Do Something>if latitude < 0 (Southern Hemisphere)
<ifLonPositive:Do Something>if longitude >= 0 (Eastern Hemisphere)
<ifLonNegative:Do Something>if longitude < 0 (Western Hemisphere)






Another example using some tags from map URL strings:
latitude:
D:<latDegrees6ABS>° <ifLatPositive:N><ifLatNegative:S>
DM:<latDegrees0ABS>° <latMinutes4>' <ifLatPositive:N><ifLatNegative:S>
DMS:<latDegrees0ABS>° <latMinutes0>' <latSeconds1>" <ifLatPositive:N><ifLatNegative:S>
longitude:
D:<lonDegrees6ABS>° <ifLonPositive:E><ifLonNegative:W>
DM:<lonDegrees0ABS>° <lonMinutes4>' <ifLonPositive:E><ifLonNegative:W>
DMS:<lonDegrees0ABS>° <lonMinutes0>' <lonSeconds1>" <ifLonPositive:E><ifLonNegative:W>











All 'tags' discussed above are not case sensitive.

Contact

Email: kevinwillett80@yahoo.com
Please include 'My GPS Coordinates (Apple) messageStructure' in the subject.

back