GPS: Format Gartrip Waypointfiles

Format Waypointfiles Gartrip (*.wp):

 

Format of the Header:

17 Byte:

Text "GARtrip waypoints"

2 Byte:

CC 00 (meaning unknown, perhaps version information)

2 Byte:

number j of following characters for the format definition (eg. 06 00 for "WGS-84")

j Byte:

format definition (e.g. WGS-84)

2 Byte:

number k of following characters for the display format for geographic data (eg. 0C 00 for "hddd.mm.mmm‘)

k Byte:

the display format for geographic data (eg. 0C 00 for "hdd.mm.mmm‘ i.e. 68 64 64 64 B0 6D 6D 2E 6D 6D 6D 27)

2 Byte:

number m of following characters for time zone (eg. 09 00)

m Byte:

time zone (e.g. "+1 L3 L10" i.e. 2B 31 20 4C 33 20 4C 31 30) Meaning: +1 = time shift, L3 last weekend of march beginning of summertime L10 last weekend of october end of summertime

2 Byte

NN (00 00)

2 Byte:

number p of following characters for waypointname of reference waypoint

p Byte

waypointname of reference waypoit

4 Byte:

latitude, first byte is LSB, information in minutes multiplied with 308B9(Hex) (to get the minutes you have to divide the value by 198841(dez) of reference waypoint

4 Byte:

Longitude, same format as latitude of reference waypoint

4 Byte

NN (50 C3 00 00)

2 Byte:

number n of following characters for the description of the file

n Byte:

descripting text

Format of the Waypoint- data:

1 Byte:

"W" begin of waypoint data

2 Byte:

number m of following characters for waypointname

m Byte

waypointname

2 Byte

number n of following characters for description of waypoint

n Byte

description of waypoint

4 Byte:

latitude, first byte is LSB, information in minutes multiplied with 308B9(Hex) (to get the minutes you have to divide the value by 198841(dez)

4 Byte:

Longitude, same format as latitude

1 Byte

Source of Data: 00 = PC, 01 = read, other = GPS

3 Byte:

same format as in trackpoint data, but LSB is missing.

Add LSB = 00 then:

Time, first byte is LSB, counts the seconds since 31.12.1989, 00:00:00 for GMT
eg. For VB:

tim = value / 24 / 3600 + 32873 + 1 / 24
datum$ = FormatDateTime(tim, vbShortDate)
ClkTime$ = FormatDateTime(tim, vbLongTime)

2 Byte

Proximity, if inactive 47 FE, otherwise multiple of 100 meters

1 Byte:

Symbol

 

00

wapoint

 

01

air Airport

06

br Boat Ramp

07

bri Bridge

09

cmp Camp

34

sc Scenic (Photo)

xx

other symbols see symbol table

1 Byte:

display mode: 00 symbol + name, 01 = symbol only, 02 = symbol and description

2 Byte:

Height in meter, first byte is LSB: eg: 0DD9(Hex) = 3545 m