GSAK (Geocaching Swiss Army Knife)
Contents - Index

Use macro for symbol generation


Exports that allow you to set different icons have this option.

This does away with the GUI for allocation of icons/symbols, but it gives you total control. It means you can come up with any scheme you can think of for allocation of icons. It works very similar to the %macro special tag. All that is required is that you create a macro and set  reserved $_Symbol system variable. 

Note: OziExplorer also supports colours, so if this export is for OziExplorer then you can also set the System variable $_OziColour for colour allocation. Just assign a "named" (any colour name from the drop down colour boxes in the Ozi Export dialog) colour. 

Probably of no practical use but the following example should give you an idea what I mean. You want to have different icons by terrain type. There is no option to do this in the GUI, so you can now use the new "macro" option for this.

For simplicity I have just tested for the whole number terrain types, anything else will just get "default":

# Set default icon for any waypoints that don't match your if statements.
$_Symbol = "Default"

If $d_Terrain = 1
$_Symbol = "Icon1"
EndIf

If $d_Terrain = 2
$_Symbol = "Icon2"
EndIf

If $d_Terrain = 3
$_Symbol = "Icon3"
EndIf

If $d_Terrain = 4
$_Symbol = "Icon4"
EndIf     

If $d_Terrain = 5
$_Symbol = "Icon5"
EndIf 

Obviously Icon1..5 should correspond to the exact name of the icon your software/GPSr supports. It is your responsibility to make sure you get the spelling correct. If you don't I suspect your GPSr/Software will just show whatever your "default" icon is. 

You can also set child waypoint symbols in a macro. The key to making this work is that your macro code for child waypoints must be the last group of statements in the symbols macro and after the reserved comment "#children" (without the quotes).

Sample macro to allocate both parent and child waypoint symbols


$_Symbol = "Default"
If $d_Terrain = 1
$_Symbol = "Icon1"
$_OziColour = "Green"
EndIf
If $d_Terrain = 2
$_Symbol = "Icon2"
$_OziColour = "Red"
EndIf
If $d_Terrain = 3
$_Symbol = "Icon3"
$_OziColour = "Blue"
EndIf
If $d_Terrain = 4
$_Symbol = "Icon4"
EndIf     
If $d_Terrain = 5
$_Symbol = "Icon5"
EndIf

#children

# set default for children
$_Symbol = "Other"

if $d_cType = "Parking Area"
$_Symbol = "Icon10"
EndIf

if $d_cType = "Stages of a Multicache"  
$_Symbol = "Icon11"
Endif   

Note: The special symbol of "*Omit*" (without the quotes) will enable you to omit a child waypoint from being sent at all. If you have child waypoints that you do NOT want included in this export, then allocate "*Omit*" as the symbol




Copyright 2004-2014 CWE Computer Services  
Privacy Policy Contact