1#!/bin/sh
2
3#
4# IGN Rando tests
5#
6gpsbabel -i ignrando -f ${REFERENCE}/track/ignrando-sample.rdn -o ignrando -F ${TMPDIR}/ignrando-sample.rdn
7gpsbabel -i ignrando -f ${TMPDIR}/ignrando-sample.rdn -o gpx -F ${TMPDIR}/ignrando-sample.gpx
8compare ${TMPDIR}/ignrando-sample.gpx ${REFERENCE}/track/ignrando-sample.gpx
9
10#
11# STMwpp "Suunto Trek Manager" WaypointPlus format tests
12#
13rm -f ${TMPDIR}/stmwpp-*
14gpsbabel -i stmwpp -f ${REFERENCE}/track/stmwpp-track.txt -o gpx -F ${TMPDIR}/stmwpp-track.gpx
15compare ${TMPDIR}/stmwpp-track.gpx ${REFERENCE}/track/stmwpp-track.gpx
16gpsbabel -i stmwpp -f ${REFERENCE}/route/stmwpp-route.txt -o gpx -F ${TMPDIR}/stmwpp-route.gpx
17compare ${TMPDIR}/stmwpp-route.gpx ${REFERENCE}/route/stmwpp-route.gpx
18gpsbabel -i stmwpp -f ${REFERENCE}/route/stmwpp-route.txt -o stmwpp -F ${TMPDIR}/stmwpp-route.txt
19compare ${TMPDIR}/stmwpp-route.txt ${REFERENCE}/route/stmwpp-route.txt
20
21#
22# Microsoft AutoRoute 2002 test (read-only)
23#
24gpsbabel -i msroute -f ${REFERENCE}/route/msroute-sample.axe -o gpx -F ${TMPDIR}/msroute-sample.gpx
25compare ${TMPDIR}/msroute-sample.gpx ${REFERENCE}/route/msroute-sample.gpx
26
27#
28# CarteSurTable read test
29#
30rm -f ${TMPDIR}/cst-*
31gpsbabel -i cst -f ${REFERENCE}/route/cst-sample.cst -o gpx -F ${TMPDIR}/cst-sample.gpx
32compare ${TMPDIR}/cst-sample.gpx ${REFERENCE}/route/cst-sample.gpx
33
34#
35# Navigon Mobile Navigator .rte tests
36#
37rm -f ${TMPDIR}/nmn4-sample*
38gpsbabel -i nmn4 -f ${REFERENCE}/route/nmn4-sample.rte -o gpx -F ${TMPDIR}/nmn4-sample.gpx
39compare ${REFERENCE}/route/nmn4-sample.gpx ${TMPDIR}/nmn4-sample.gpx
40gpsbabel -i gpx -f ${REFERENCE}/route/nmn4-sample.gpx -o nmn4 -F ${TMPDIR}/nmn4-sample-out.rte
41compare ${REFERENCE}/route/nmn4-sample-out.rte ${TMPDIR}/nmn4-sample-out.rte
42
43#
44# Map&Guide Palm/OS .pdb files (read-only)
45#
46rm -f ${TMPDIR}/mag_pdb-*
47gpsbabel -i mag_pdb -f ${REFERENCE}/route/mag_pdb-sample.pdb -o gpx -F ${TMPDIR}/mag_pdb-sample.gpx
48compare ${TMPDIR}/mag_pdb-sample.gpx ${REFERENCE}/route/mag_pdb-sample.gpx
49
50#
51# Testing the 'nuketypes' filter is funky.
52# Convert a GPX file to GPX to eliminate jitter.
53# Then nuke the all but the three individual types, merge the result together
54# and verify we got the original back.
55#
56gpsbabel -i gpx -f ${REFERENCE}/gdb-sample.gpx -o gpx -F ${TMPDIR}/alltypes.gpx
57gpsbabel -i gpx -f ${TMPDIR}/alltypes.gpx -x nuketypes,tracks,routes -o gpx -F ${TMPDIR}/wpts.gpx
58gpsbabel -i gpx -f ${TMPDIR}/alltypes.gpx -x nuketypes,waypoints,routes -o gpx -F ${TMPDIR}/trks.gpx
59gpsbabel -i gpx -f ${TMPDIR}/alltypes.gpx -x nuketypes,waypoints,tracks -o gpx -F ${TMPDIR}/rtes.gpx
60gpsbabel -i gpx -f ${TMPDIR}/wpts.gpx -f ${TMPDIR}/trks.gpx -f ${TMPDIR}/rtes.gpx -o gpx -F ${TMPDIR}/merged.gpx
61compare ${TMPDIR}/alltypes.gpx ${TMPDIR}/merged.gpx
62
63#
64# Interpolate filter
65#
66
67gpsbabel -i gpx -f ${REFERENCE}/track/simpletrack.gpx -x interpolate,distance=50m -o gpx -F ${TMPDIR}/interp.gpx
68compare ${REFERENCE}/track/interptrack.gpx ${TMPDIR}/interp.gpx
69gpsbabel -i gpx -f ${REFERENCE}/track/simpletrack.gpx -x interpolate,time=1 -o gpx -F ${TMPDIR}/tinterp.gpx
70compare ${REFERENCE}/track/tinterptrack.gpx ${TMPDIR}/tinterp.gpx
71
72#
73# Universal CSV - unicsv
74#
75echo "lat,lon,descr,name,notes,unk,unk" > ${TMPDIR}/unicsv.txt
76cat ${REFERENCE}/mxf.mxf >> ${TMPDIR}/unicsv.txt
77gpsbabel -i unicsv -f ${TMPDIR}/unicsv.txt -o gpx -F ${TMPDIR}/unicsv.gpx
78compare ${TMPDIR}/unicsv.gpx ${REFERENCE}/unicsv.gpx
79gpsbabel -i garmin_txt -f ${REFERENCE}/garmin_txt.txt -x nuketypes,routes,tracks -o unicsv -F ${TMPDIR}/garmin_txt-uni.csv
80compare ${TMPDIR}/garmin_txt-uni.csv ${REFERENCE}/garmin_txt-uni.csv
81
82#
83# Basic NMEA tests
84#
85gpsbabel -i nmea -f ${REFERENCE}/track/nmea -o gpx -F ${TMPDIR}/nmea.gpx
86compare ${TMPDIR}/nmea.gpx ${REFERENCE}/track/nmea.gpx
87gpsbabel -i nmea -f ${REFERENCE}/track/nmea+ms.txt -o gpx -F ${TMPDIR}/nmea+ms.gpx
88compare ${TMPDIR}/nmea+ms.gpx ${REFERENCE}/track/nmea+ms.gpx
89
90#
91# Read an NMEA file  with AMOD 3808 waypoints.  Be sure we read the points.
92# Also write as a "normal" NMEA to be sure AMOD extensions don't leak.
93#
94gpsbabel -i nmea -f ${REFERENCE}/track/amod-nmea -o gpx -F ${TMPDIR}/amod-out.gpx -o nmea -F ${TMPDIR}/amod-pure
95compare ${TMPDIR}/amod-out.gpx ${REFERENCE}/track/amod.gpx
96compare ${TMPDIR}/amod-pure ${REFERENCE}/track/amod-cleansed
97
98
99#
100# Wfff.
101#
102gpsbabel -i wfff -f ${REFERENCE}/wfff.xml -o gpsutil -F ${TMPDIR}/wfff.gpu
103compare ${TMPDIR}/wfff.gpu ${REFERENCE}/wfff.gpu
104
105#
106# Garmin MapSource tab delimited text files - garmin_txt
107#
108rm -f ${TMPDIR}/garmin_txt*
109#
110# !!! garmin_txt timestamps are stored in localtime !!!
111#
112gpsbabel -i gdb -f ${REFERENCE}/gdb-sample2.gdb -o garmin_txt,utc,prec=9 -F ${TMPDIR}/garmin_txt.txt
113compare ${REFERENCE}/garmin_txt.txt ${TMPDIR}/garmin_txt.txt
114gpsbabel -i garmin_txt -f ${REFERENCE}/garmin_txt.txt -o garmin_txt,prec=9 -F ${TMPDIR}/garmin_txt-2.txt
115gpsbabel -i garmin_txt -f ${TMPDIR}/garmin_txt-2.txt -o garmin_txt,prec=9 -F ${TMPDIR}/garmin_txt-3.txt
116#
117# test can fail because of localtime/gmtime differences
118#
119## compare ${TMPDIR}/garmin_txt-2.txt ${TMPDIR}/garmin_txt-3.txt
120
121#
122# hiketech tests
123#
124rm -f ${TMPDIR}/hiketech*
125gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -o hiketech -F ${TMPDIR}/hiketech.out
126compare ${TMPDIR}/hiketech.out ${REFERENCE}/hiketech.ref
127gpsbabel -i hiketech -f ${REFERENCE}/hiketech.ref -o gpx -F ${TMPDIR}/hiketech.gpx
128compare ${TMPDIR}/hiketech.gpx ${REFERENCE}/hiketech.gpx
129
130#
131# Kartex waypoints and tracks
132#
133rm -f ${TMPDIR}/kartex*
134gpsbabel -i kwf2 -f ${REFERENCE}/waypointsDd.kwf -o kwf2 -F ${TMPDIR}/kartex-1a.kwf
135compare ${REFERENCE}/kartex-out.kwf ${TMPDIR}/kartex-1a.kwf
136# ! different format of coords; this checks LATLON_HUMAN_READABLE !
137gpsbabel -i kwf2 -f ${REFERENCE}/waypointsDMm.kwf -o kwf2 -F ${TMPDIR}/kartex-1b.kwf
138compare ${TMPDIR}/kartex-1a.kwf ${TMPDIR}/kartex-1b.kwf
139#
140gpsbabel -i ktf2 -f ${REFERENCE}/track/trackDd.ktf -o ktf2 -F ${TMPDIR}/kartex-2a.ktf
141compare ${REFERENCE}/track/kartex-out.ktf ${TMPDIR}/kartex-2a.ktf
142# ! different format of coords; this checks LATLON_HUMAN_READABLE !
143gpsbabel -i ktf2 -f ${REFERENCE}/track/trackDMm.ktf -o ktf2 -F ${TMPDIR}/kartex-2b.ktf
144compare ${TMPDIR}/kartex-2a.ktf ${TMPDIR}/kartex-2b.ktf
145
146#
147# Dell Axim Navigation System 'axim_gpb' test
148#
149rm -f ${TMPDIR}/axim-*
150gpsbabel -i axim_gpb -f ${REFERENCE}/track/axim-sample.gpb -o gpx -F ${TMPDIR}/axim-sample.gpx
151compare ${REFERENCE}/track/axim-sample.gpx ${TMPDIR}/axim-sample.gpx
152
153#
154# Franson GPSGate simulation
155#
156gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o gpssim -F ${TMPDIR}/waypoints.gpssim
157compare ${TMPDIR}/waypoints.gpssim ${REFERENCE}
158gpsbabel -i gpx -f ${REFERENCE}/track/tracks.gpx -o gpssim -F ${TMPDIR}/tracks.gpssim
159compare ${TMPDIR}/tracks.gpssim ${REFERENCE}/track
160
161#
162# WBT-200 tests
163#
164rm -f ${TMPDIR}/wbt-200.*
165gpsbabel -i wbt-bin -f ${REFERENCE}/wbt-200.bin -o gpx -F ${TMPDIR}/wbt-200.gpx
166# Remove the timestamp
167grep -v time <${TMPDIR}/wbt-200.gpx >${TMPDIR}/wbt-200.gpx2
168compare ${TMPDIR}/wbt-200.gpx2 ${REFERENCE}/wbt-200.gpx
169
170#
171# WBT-201 tests
172#
173rm -f ${TMPDIR}/wbt-200.*
174gpsbabel -t -w -i wbt-bin -f ${REFERENCE}/wbt-201.tk1 -o gpx -F ${TMPDIR}/wbt-201.gpx
175# Remove the timestamp
176grep -v time <${TMPDIR}/wbt-201.gpx >${TMPDIR}/wbt-201.gpx2
177compare ${TMPDIR}/wbt-201.gpx2 ${REFERENCE}/wbt-201.gpx
178
179#
180# Sportsim style-sheet
181#
182rm -f ${TMPDIR}/sportsim*
183gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -x nuketypes,waypoints,routes -o sportsim -F ${TMPDIR}/sportsim.txt
184compare ${TMPDIR}/sportsim.txt ${REFERENCE}/track/sportsim-sample.txt
185
186#
187# Suunto SDF
188#
189rm -f ${TMPDIR}/stmsdf*
190gpsbabel -i garmin_txt -f ${REFERENCE}/garmin_txt.txt -t -o stmsdf -F ${TMPDIR}/stmsdf-track.sdf -r -o stmsdf,index=2 -F ${TMPDIR}/stmsdf-route.sdf
191compare ${TMPDIR}/stmsdf-track.sdf ${REFERENCE}/track/stmsdf-track.sdf
192compare ${TMPDIR}/stmsdf-route.sdf ${REFERENCE}/route/stmsdf-route.sdf
193gpsbabel -i stmsdf -f ${TMPDIR}/stmsdf-track.sdf -f ${TMPDIR}/stmsdf-route.sdf -o garmin_txt,prec=2 -F ${TMPDIR}/stmsdf.txt
194compare ${TMPDIR}/stmsdf.txt ${REFERENCE}/stmsdf.txt
195
196#
197# Digital Mapping Tracklogs
198#
199rm -f ${TMPDIR}/dmtlog*
200gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -o dmtlog -F ${TMPDIR}/dmtlog-sample.trl
201gpsbabel -i dmtlog -f ${TMPDIR}/dmtlog-sample.trl -o gpx -F ${TMPDIR}/dmtlog-sample.gpx
202compare ${TMPDIR}/dmtlog-sample.gpx ${REFERENCE}/track/dmtlog-sample.gpx
203
204#
205# gzipped file i/o
206#
207gpsbabel -i compegps -f ${REFERENCE}/compegps.wpt.gz -o gpx -F ${TMPDIR}/compegps-wpt.gpx
208compare ${REFERENCE}/compegps-wpt.gpx ${TMPDIR}/compegps-wpt.gpx
209gpsbabel -i cst -f ${REFERENCE}/route/cst-sample.cst.gz -o gpx -F ${TMPDIR}/cst-sample.gpx
210compare ${TMPDIR}/cst-sample.gpx ${REFERENCE}/route/cst-sample.gpx
211
212#
213# Transformation filter (transform) tests
214#
215rm -f ${TMPDIR}/transform*
216gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -x nuketypes,routes,tracks -x transform,rte=wpt,del=y -o gpx,gpxver=1.1 -F ${TMPDIR}/transform-rte.gpx
217compare ${TMPDIR}/transform-rte.gpx ${REFERENCE}/transform-rte.gpx
218gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -x nuketypes,waypoints,tracks -x transform,wpt=rte,del=y -o gpx,gpxver=1.1 -F ${TMPDIR}/transform-wpt.gpx
219compare ${TMPDIR}/transform-wpt.gpx ${REFERENCE}/transform-wpt.gpx
220
221#
222# GPX version detection
223#
224gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -x nuketypes,routes,tracks -x transform,rte=wpt,del=y -o gpx -F ${TMPDIR}/transform-ver.gpx
225compare ${TMPDIR}/transform-ver.gpx ${REFERENCE}/transform-rte.gpx
226
227#
228# "Raymarine Waypoint File" tests
229#
230gpsbabel -i raymarine -f ${REFERENCE}/raymarine-sample.rwf -o gpx -F ${TMPDIR}/raymarine-sample.gpx
231compare ${TMPDIR}/raymarine-sample.gpx ${REFERENCE}/raymarine-sample.gpx
232gpsbabel -i gpx -f ${REFERENCE}/expertgps.gpx -o raymarine -F ${TMPDIR}/expertgps.rwf
233compare ${TMPDIR}/expertgps.rwf ${REFERENCE}/expertgps.rwf
234
235
236#
237# Alan MAp500 waypoint & route test
238#
239rm -f ${TMPDIR}/alanwpr*
240gpsbabel -i alanwpr -f ${REFERENCE}/alanwpr.wpr -o alanwpr -F ${TMPDIR}/alanwpr-new.wpr
241gpsbabel -i alanwpr -f ${TMPDIR}/alanwpr-new.wpr -o gpx -F ${TMPDIR}/alanwpr-new.gpx
242compare ${TMPDIR}/alanwpr-new.gpx ${REFERENCE}/alanwpr.gpx
243
244#
245# Alan Map500 tracklogs< test
246#
247rm -f ${TMPDIR}/alantrl*
248gpsbabel -i alantrl -f ${REFERENCE}/alantrl.trl -o alantrl -F ${TMPDIR}/alantrl-new.trl
249gpsbabel -i alantrl -f ${TMPDIR}/alantrl-new.trl -o gpx -F ${TMPDIR}/alantrl-new.gpx
250compare ${TMPDIR}/alantrl-new.gpx ${REFERENCE}/alantrl.gpx
251
252#
253# VITO SmartMap .vtt track file 'vitovtt' test
254#
255rm -f ${TMPDIR}/vitovtt-*
256gpsbabel -i vitovtt -f ${REFERENCE}/track/vitovtt-sample.vtt -o gpx -F ${TMPDIR}/vitovtt-sample.gpx
257compare ${REFERENCE}/track/vitovtt-sample.gpx ${TMPDIR}/vitovtt-sample.gpx
258
259#
260# Test > 1 URL in selected files.
261#
262rm -f ${TMPDIR}/mlink*
263gpsbabel -i gpx -f ${REFERENCE}/multiple-links.gpx -o gpx,gpxver=1.1 -F ${TMPDIR}/mlink-1.gpx
264compare ${REFERENCE}/multiple-links.gpx ${TMPDIR}/mlink-1.gpx
265
266#
267# Geogrid Viewer tracklogs
268#
269rm -f ${TMPDIR}/ggv_log*
270gpsbabel -i gdb -f ${REFERENCE}/gdb-sample.gdb -x track,pack -o ggv_log -F ${TMPDIR}/ggv_log-sample.log
271bincompare ${REFERENCE}/track/ggv_log-sample.log ${TMPDIR}/ggv_log-sample.log
272gpsbabel -i ggv_log -f ${REFERENCE}/track/ggv_log-sample.log -o ggv_log -F ${TMPDIR}/ggv_log-sample2.log
273bincompare ${REFERENCE}/track/ggv_log-sample.log ${TMPDIR}/ggv_log-sample2.log
274
275#
276# G7ToWin (read only) test
277#
278gpsbabel -i g7towin -f ${REFERENCE}/expertgps.g7t -o garmin_txt,utc=0 -F ${TMPDIR}/expertgps-g7t.txt
279compare ${REFERENCE}/expertgps-g7t.txt ${TMPDIR}/expertgps-g7t.txt
280
281#
282# TomTom Navigator Places of Interest (.asc)
283#
284gpsbabel -i tomtom_asc -f ${REFERENCE}/tomtom_poi.asc -o tomtom_asc -F ${TMPDIR}/tomtom_poi.asc
285compare ${REFERENCE}/tomtom_poi.asc ${TMPDIR}/tomtom_poi.asc
286
287#
288# TomTom Navigator Itinerary files (.asc)
289#
290gpsbabel -i tomtom_itn -f ${REFERENCE}/route/tomtom_itn.itn -o tomtom_itn -F ${TMPDIR}/tomtom_itn.itn
291compare ${REFERENCE}/route/tomtom_itn.itn ${TMPDIR}/tomtom_itn.itn
292
293