QGIS API Documentation
3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
src
core
gps
qgsbabelformatregistry.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsbabelformatregistry.cpp
3
-------------------
4
begin : July 2021
5
copyright : (C) 2021 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#include "
qgsbabelformatregistry.h
"
19
#include "
qgsbabelformat.h
"
20
#include "
qgsbabelgpsdevice.h
"
21
#include <QString>
22
#include <QRegularExpression>
23
24
const
QgsSettingsEntryString
*
QgsBabelFormatRegistry::settingsBabelWptDownload
=
new
QgsSettingsEntryString
( QStringLiteral(
"wptdownload"
), sTreeBabelDevices );
25
26
const
QgsSettingsEntryString
*
QgsBabelFormatRegistry::settingsBabelWptUpload
=
new
QgsSettingsEntryString
( QStringLiteral(
"wptupload"
), sTreeBabelDevices );
27
28
const
QgsSettingsEntryString
*
QgsBabelFormatRegistry::settingsBabelRteDownload
=
new
QgsSettingsEntryString
( QStringLiteral(
"rtedownload"
), sTreeBabelDevices );
29
30
const
QgsSettingsEntryString
*
QgsBabelFormatRegistry::settingsBabelRteUpload
=
new
QgsSettingsEntryString
( QStringLiteral(
"rteupload"
), sTreeBabelDevices );
31
32
const
QgsSettingsEntryString
*
QgsBabelFormatRegistry::settingsBabelTrkDownload
=
new
QgsSettingsEntryString
( QStringLiteral(
"trkdownload"
), sTreeBabelDevices );
33
34
const
QgsSettingsEntryString
*
QgsBabelFormatRegistry::settingsBabelTrkUpload
=
new
QgsSettingsEntryString
( QStringLiteral(
"trkupload"
), sTreeBabelDevices );
35
36
QgsBabelFormatRegistry::QgsBabelFormatRegistry
()
37
{
38
//
39
// this list is automatically generated by scripts/dump_babel_formats.py
40
//
41
mImporters[QStringLiteral(
"alantrl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"alantrl"
), QStringLiteral(
"Alan Map500 tracklogs (.trl)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trl"
)} );
42
mImporters[QStringLiteral(
"alanwpr"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"alanwpr"
), QStringLiteral(
"Alan Map500 waypoints and routes (.wpr)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"wpr"
)} );
43
mImporters[QStringLiteral(
"an1"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"an1"
), QStringLiteral(
"DeLorme .an1 (drawing) file"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"an1"
)} );
44
mImporters[QStringLiteral(
"arc"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"arc"
), QStringLiteral(
"GPSBabel arc filter file"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
45
mImporters[QStringLiteral(
"bcr"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"bcr"
), QStringLiteral(
"Motorrad Routenplaner (Map&Guide) .bcr files"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"bcr"
)} );
46
mImporters[QStringLiteral(
"bushnell"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"bushnell"
), QStringLiteral(
"Bushnell GPS Waypoint file"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"wpt"
)} );
47
mImporters[QStringLiteral(
"bushnell_trl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"bushnell_trl"
), QStringLiteral(
"Bushnell GPS Trail file"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trl"
)} );
48
mImporters[QStringLiteral(
"cambridge"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"cambridge"
), QStringLiteral(
"Cambridge/Winpilot glider software"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"dat"
)} );
49
mImporters[QStringLiteral(
"compegps"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"compegps"
), QStringLiteral(
"CompeGPS data files (.wpt/.trk/.rte)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
50
mImporters[QStringLiteral(
"cst"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"cst"
), QStringLiteral(
"CarteSurTable data file"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"cst"
)} );
51
mImporters[QStringLiteral(
"csv"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"csv"
), QStringLiteral(
"Comma separated values"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
52
mImporters[QStringLiteral(
"cup"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"cup"
), QStringLiteral(
"See You flight analysis data"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"cup"
)} );
53
mImporters[QStringLiteral(
"destinator_itn"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"destinator_itn"
), QStringLiteral(
"Destinator Itineraries (.dat)"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"dat"
)} );
54
mImporters[QStringLiteral(
"destinator_poi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"destinator_poi"
), QStringLiteral(
"Destinator Points of Interest (.dat)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"dat"
)} );
55
mImporters[QStringLiteral(
"destinator_trl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"destinator_trl"
), QStringLiteral(
"Destinator TrackLogs (.dat)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"dat"
)} );
56
mImporters[QStringLiteral(
"dmtlog"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"dmtlog"
), QStringLiteral(
"TrackLogs digital mapping (.trl)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trl"
)} );
57
mImporters[QStringLiteral(
"dna"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"dna"
), QStringLiteral(
"Navitrak DNA marker format"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"dna"
)} );
58
mImporters[QStringLiteral(
"easygps"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"easygps"
), QStringLiteral(
"EasyGPS binary format"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"loc"
)} );
59
mImporters[QStringLiteral(
"energympro"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"energympro"
), QStringLiteral(
"Energympro GPS training watch"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"cpo"
)} );
60
mImporters[QStringLiteral(
"enigma"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"enigma"
), QStringLiteral(
"Enigma binary waypoint file (.ert)"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"ert"
)} );
61
mImporters[QStringLiteral(
"exif"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"exif"
), QStringLiteral(
"Embedded Exif-GPS data (.jpg)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"jpg"
)} );
62
mImporters[QStringLiteral(
"f90g"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"f90g"
), QStringLiteral(
"F90G Automobile DVR GPS log file"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"map"
)} );
63
mImporters[QStringLiteral(
"flysight"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"flysight"
), QStringLiteral(
"FlySight GPS File"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"csv"
)} );
64
mImporters[QStringLiteral(
"fugawi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"fugawi"
), QStringLiteral(
"Fugawi"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
65
mImporters[QStringLiteral(
"g7towin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"g7towin"
), QStringLiteral(
"G7ToWin data files (.g7t)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"g7t"
)} );
66
mImporters[QStringLiteral(
"garmin301"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin301"
), QStringLiteral(
"Garmin 301 Custom position and heartrate"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
67
mImporters[QStringLiteral(
"garmin_fit"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin_fit"
), QStringLiteral(
"Flexible and Interoperable Data Transfer (FIT) Activity file"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"fit"
)} );
68
mImporters[QStringLiteral(
"garmin_g1000"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin_g1000"
), QStringLiteral(
"Garmin G1000 datalog input filter file"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"csv"
)} );
69
mImporters[QStringLiteral(
"garmin_gpi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin_gpi"
), QStringLiteral(
"Garmin Points of Interest (.gpi)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"gpi"
)} );
70
mImporters[QStringLiteral(
"garmin_poi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin_poi"
), QStringLiteral(
"Garmin POI database"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
71
mImporters[QStringLiteral(
"garmin_txt"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin_txt"
), QStringLiteral(
"Garmin MapSource - txt (tab delimited)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"txt"
)} );
72
mImporters[QStringLiteral(
"garmin_xt"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"garmin_xt"
), QStringLiteral(
"Mobile Garmin XT Track files"
),
Qgis::BabelFormatCapability::Tracks
, {} );
73
mImporters[QStringLiteral(
"gdb"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gdb"
), QStringLiteral(
"Garmin MapSource - gdb"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"gdb"
)} );
74
mImporters[QStringLiteral(
"geo"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"geo"
), QStringLiteral(
"Geocaching.com .loc"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"loc"
)} );
75
mImporters[QStringLiteral(
"geojson"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"geojson"
), QStringLiteral(
"GeoJson"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"json"
)} );
76
mImporters[QStringLiteral(
"geonet"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"geonet"
), QStringLiteral(
"GEOnet Names Server (GNS)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
77
mImporters[QStringLiteral(
"ggv_bin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ggv_bin"
), QStringLiteral(
"Geogrid-Viewer binary overlay file (.ovl)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"ovl"
)} );
78
mImporters[QStringLiteral(
"ggv_log"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ggv_log"
), QStringLiteral(
"Geogrid-Viewer tracklogs (.log)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"log"
)} );
79
mImporters[QStringLiteral(
"ggv_ovl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ggv_ovl"
), QStringLiteral(
"Geogrid-Viewer ascii overlay file (.ovl)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"ovl"
)} );
80
mImporters[QStringLiteral(
"glogbook"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"glogbook"
), QStringLiteral(
"Garmin Logbook XML"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"xml"
)} );
81
mImporters[QStringLiteral(
"gnav_trl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gnav_trl"
), QStringLiteral(
"Google Navigator Tracklines (.trl)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trl"
)} );
82
mImporters[QStringLiteral(
"googledir"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"googledir"
), QStringLiteral(
"Google Directions XML"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"xml"
)} );
83
mImporters[QStringLiteral(
"gopal"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gopal"
), QStringLiteral(
"GoPal GPS track log (.trk)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trk"
)} );
84
mImporters[QStringLiteral(
"gpl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gpl"
), QStringLiteral(
"DeLorme GPL"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"gpl"
)} );
85
mImporters[QStringLiteral(
"gpsdrive"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gpsdrive"
), QStringLiteral(
"GpsDrive Format"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
86
mImporters[QStringLiteral(
"gpsdrivetrack"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gpsdrivetrack"
), QStringLiteral(
"GpsDrive Format for Tracks"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
87
mImporters[QStringLiteral(
"gpsman"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gpsman"
), QStringLiteral(
"GPSman"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
88
mImporters[QStringLiteral(
"gpsutil"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gpsutil"
), QStringLiteral(
"gpsutil"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
89
mImporters[QStringLiteral(
"gpx"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gpx"
), QStringLiteral(
"GPX XML"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"gpx"
)} );
90
mImporters[QStringLiteral(
"gtm"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gtm"
), QStringLiteral(
"GPS TrackMaker"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"gtm"
)} );
91
mImporters[QStringLiteral(
"gtrnctr"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"gtrnctr"
), QStringLiteral(
"Garmin Training Center (.tcx/.crs/.hst/.xml)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"tcx"
), QStringLiteral(
"crs"
), QStringLiteral(
"hst"
), QStringLiteral(
"xml"
)} );
92
mImporters[QStringLiteral(
"hiketech"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"hiketech"
), QStringLiteral(
"HikeTech"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"gps"
)} );
93
mImporters[QStringLiteral(
"holux"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"holux"
), QStringLiteral(
"Holux (gm-100) .wpo Format"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"wpo"
)} );
94
mImporters[QStringLiteral(
"humminbird"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"humminbird"
), QStringLiteral(
"Humminbird waypoints and routes (.hwr)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"hwr"
)} );
95
mImporters[QStringLiteral(
"humminbird_ht"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"humminbird_ht"
), QStringLiteral(
"Humminbird tracks (.ht)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"ht"
)} );
96
mImporters[QStringLiteral(
"iblue747"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"iblue747"
), QStringLiteral(
"Data Logger iBlue747 csv"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"csv"
)} );
97
mImporters[QStringLiteral(
"iblue757"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"iblue757"
), QStringLiteral(
"Data Logger iBlue757 csv"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"csv"
)} );
98
mImporters[QStringLiteral(
"igc"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"igc"
), QStringLiteral(
"FAI/IGC Flight Recorder Data Format"
),
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
99
mImporters[QStringLiteral(
"ignrando"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ignrando"
), QStringLiteral(
"IGN Rando track files"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"rdn"
)} );
100
mImporters[QStringLiteral(
"igo2008_poi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"igo2008_poi"
), QStringLiteral(
"iGO2008 points of interest (.upoi)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"upoi"
)} );
101
mImporters[QStringLiteral(
"igo8"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"igo8"
), QStringLiteral(
"IGO8 .trk"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trk"
)} );
102
mImporters[QStringLiteral(
"igoprimo_poi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"igoprimo_poi"
), QStringLiteral(
"iGo Primo points of interest (.upoi)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"upoi"
)} );
103
mImporters[QStringLiteral(
"ik3d"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ik3d"
), QStringLiteral(
"MagicMaps IK3D project file (.ikt)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"ikt"
)} );
104
mImporters[QStringLiteral(
"itracku-bin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"itracku-bin"
), QStringLiteral(
"XAiOX iTrackU Logger Binary File Format"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"bin"
)} );
105
mImporters[QStringLiteral(
"jogmap"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"jogmap"
), QStringLiteral(
"Jogmap.de XML format"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"xml"
)} );
106
mImporters[QStringLiteral(
"jtr"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"jtr"
), QStringLiteral(
"Jelbert GeoTagger data file"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"jtr"
)} );
107
mImporters[QStringLiteral(
"kml"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"kml"
), QStringLiteral(
"Google Earth (Keyhole) Markup Language"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"kml"
)} );
108
mImporters[QStringLiteral(
"kompass_tk"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"kompass_tk"
), QStringLiteral(
"Kompass (DAV) Track (.tk)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"wp"
)} );
109
mImporters[QStringLiteral(
"kompass_wp"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"kompass_wp"
), QStringLiteral(
"Kompass (DAV) Waypoints (.wp)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"wp"
)} );
110
mImporters[QStringLiteral(
"land_air_sea"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"land_air_sea"
), QStringLiteral(
"GPS Tracking Key Pro text"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"txt"
)} );
111
mImporters[QStringLiteral(
"lmx"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"lmx"
), QStringLiteral(
"Nokia Landmark Exchange"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
112
mImporters[QStringLiteral(
"lowranceusr"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"lowranceusr"
), QStringLiteral(
"Lowrance USR"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"usr"
)} );
113
mImporters[QStringLiteral(
"m241-bin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"m241-bin"
), QStringLiteral(
"Holux M-241 (MTK based) Binary File Format"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"bin"
)} );
114
mImporters[QStringLiteral(
"magellan"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"magellan"
), QStringLiteral(
"Magellan SD files (as for Meridian)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
115
mImporters[QStringLiteral(
"magellanx"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"magellanx"
), QStringLiteral(
"Magellan SD files (as for eXplorist)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"upt"
)} );
116
mImporters[QStringLiteral(
"maggeo"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"maggeo"
), QStringLiteral(
"Magellan Explorist Geocaching"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"gs"
)} );
117
mImporters[QStringLiteral(
"mainnav"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mainnav"
), QStringLiteral(
"Mainnav"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"nav"
)} );
118
mImporters[QStringLiteral(
"mapasia_tr7"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mapasia_tr7"
), QStringLiteral(
"MapAsia track file (.tr7)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"tr7"
)} );
119
mImporters[QStringLiteral(
"mapbar"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mapbar"
), QStringLiteral(
"Mapbar (China) navigation track for Sonim Xp3300"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trk"
)} );
120
mImporters[QStringLiteral(
"mapconverter"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mapconverter"
), QStringLiteral(
"Mapopolis.com Mapconverter CSV"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
121
mImporters[QStringLiteral(
"mapfactor"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mapfactor"
), QStringLiteral(
"Mapfactor Navigator"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"xml"
)} );
122
mImporters[QStringLiteral(
"mapsend"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mapsend"
), QStringLiteral(
"Magellan Mapsend"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
123
mImporters[QStringLiteral(
"mmo"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mmo"
), QStringLiteral(
"Memory-Map Navigator overlay files (.mmo)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"mmo"
)} );
124
mImporters[QStringLiteral(
"motoactv"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"motoactv"
), QStringLiteral(
"Motoactiv CSV"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"csv"
)} );
125
mImporters[QStringLiteral(
"mtk-bin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mtk-bin"
), QStringLiteral(
"MTK Logger (iBlue 747,...) Binary File Format"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"bin"
)} );
126
mImporters[QStringLiteral(
"mtk_locus"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mtk_locus"
), QStringLiteral(
"MediaTek Locus"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {} );
127
mImporters[QStringLiteral(
"mxf"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mxf"
), QStringLiteral(
"MapTech Exchange Format"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"mxf"
)} );
128
mImporters[QStringLiteral(
"mynav"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"mynav"
), QStringLiteral(
"MyNav TRC format"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"trc"
)} );
129
mImporters[QStringLiteral(
"navicache"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"navicache"
), QStringLiteral(
"Navicache.com XML"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
130
mImporters[QStringLiteral(
"navigonwpt"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"navigonwpt"
), QStringLiteral(
"Navigon Waypoints"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
131
mImporters[QStringLiteral(
"naviguide"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"naviguide"
), QStringLiteral(
"Naviguide binary route file (.twl)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"twl"
)} );
132
mImporters[QStringLiteral(
"navitel_trk"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"navitel_trk"
), QStringLiteral(
"Navitel binary track (.bin)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"bin"
)} );
133
mImporters[QStringLiteral(
"netstumbler"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"netstumbler"
), QStringLiteral(
"NetStumbler Summary File (text)"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
134
mImporters[QStringLiteral(
"nima"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"nima"
), QStringLiteral(
"NIMA/GNIS Geographic Names File"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
135
mImporters[QStringLiteral(
"nmea"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"nmea"
), QStringLiteral(
"NMEA 0183 sentences"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {} );
136
mImporters[QStringLiteral(
"nmn4"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"nmn4"
), QStringLiteral(
"Navigon Mobile Navigator .rte files"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"rte"
)} );
137
mImporters[QStringLiteral(
"openoffice"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"openoffice"
), QStringLiteral(
"Tab delimited fields useful for OpenOffice"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
138
mImporters[QStringLiteral(
"osm"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"osm"
), QStringLiteral(
"OpenStreetMap data files"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"osm"
)} );
139
mImporters[QStringLiteral(
"ozi"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ozi"
), QStringLiteral(
"OziExplorer"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
140
mImporters[QStringLiteral(
"pcx"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"pcx"
), QStringLiteral(
"Garmin PCX5"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"pcx"
)} );
141
mImporters[QStringLiteral(
"pocketfms_bc"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"pocketfms_bc"
), QStringLiteral(
"PocketFMS breadcrumbs"
),
Qgis::BabelFormatCapability::Tracks
, {} );
142
mImporters[QStringLiteral(
"pocketfms_fp"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"pocketfms_fp"
), QStringLiteral(
"PocketFMS flightplan (.xml)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"xml"
)} );
143
mImporters[QStringLiteral(
"pocketfms_wp"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"pocketfms_wp"
), QStringLiteral(
"PocketFMS waypoints (.txt)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
144
mImporters[QStringLiteral(
"qstarz_bl-1000"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"qstarz_bl-1000"
), QStringLiteral(
"Qstarz BL-1000"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {} );
145
mImporters[QStringLiteral(
"raymarine"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"raymarine"
), QStringLiteral(
"Raymarine Waypoint File (.rwf)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"rwf"
)} );
146
mImporters[QStringLiteral(
"ricoh"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"ricoh"
), QStringLiteral(
"Ricoh GPS Log File"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"log"
)} );
147
mImporters[QStringLiteral(
"s_and_t"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"s_and_t"
), QStringLiteral(
"Microsoft Streets and Trips 2002-2007"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
148
mImporters[QStringLiteral(
"saplus"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"saplus"
), QStringLiteral(
"DeLorme Street Atlas Plus"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
149
mImporters[QStringLiteral(
"saroute"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"saroute"
), QStringLiteral(
"DeLorme Street Atlas Route"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"anr"
)} );
150
mImporters[QStringLiteral(
"sbn"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"sbn"
), QStringLiteral(
"NaviGPS GT-31/BGT-31 SiRF binary logfile (.sbn)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"sbn"
)} );
151
mImporters[QStringLiteral(
"sbp"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"sbp"
), QStringLiteral(
"NaviGPS GT-31/BGT-31 datalogger (.sbp)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"sbp"
)} );
152
mImporters[QStringLiteral(
"shape"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"shape"
), QStringLiteral(
"ESRI shapefile"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"shp"
)} );
153
mImporters[QStringLiteral(
"skyforce"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"skyforce"
), QStringLiteral(
"Skymap / KMD150 ascii files"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
154
mImporters[QStringLiteral(
"skytraq-bin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"skytraq-bin"
), QStringLiteral(
"SkyTraq Venus based loggers Binary File Format"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"bin"
)} );
155
mImporters[QStringLiteral(
"stmsdf"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"stmsdf"
), QStringLiteral(
"Suunto Trek Manager (STM) .sdf files"
),
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"sdf"
)} );
156
mImporters[QStringLiteral(
"stmwpp"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"stmwpp"
), QStringLiteral(
"Suunto Trek Manager (STM) WaypointPlus files"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"txt"
)} );
157
mImporters[QStringLiteral(
"tef"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tef"
), QStringLiteral(
"Map&Guide 'TourExchangeFormat' XML"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"xml"
)} );
158
mImporters[QStringLiteral(
"teletype"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"teletype"
), QStringLiteral(
"Teletype"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
159
mImporters[QStringLiteral(
"tiger"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tiger"
), QStringLiteral(
"U.S. Census Bureau Tiger Mapping Service"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
160
mImporters[QStringLiteral(
"tmpro"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tmpro"
), QStringLiteral(
"TopoMapPro Places File"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"tmpro"
)} );
161
mImporters[QStringLiteral(
"tomtom"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tomtom"
), QStringLiteral(
"TomTom POI file (.ov2)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"ov2"
)} );
162
mImporters[QStringLiteral(
"tomtom_asc"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tomtom_asc"
), QStringLiteral(
"TomTom POI file (.asc)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"asc"
)} );
163
mImporters[QStringLiteral(
"tomtom_itn"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tomtom_itn"
), QStringLiteral(
"TomTom Itineraries (.itn)"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"itn"
)} );
164
mImporters[QStringLiteral(
"tomtom_itn_places"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tomtom_itn_places"
), QStringLiteral(
"TomTom Places Itineraries (.itn)"
),
Qgis::BabelFormatCapability::Routes
, {QStringLiteral(
"itn"
)} );
165
mImporters[QStringLiteral(
"tpg"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tpg"
), QStringLiteral(
"National Geographic Topo .tpg (waypoints)"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"tpg"
)} );
166
mImporters[QStringLiteral(
"tpo2"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tpo2"
), QStringLiteral(
"National Geographic Topo 2.x .tpo"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"tpo"
)} );
167
mImporters[QStringLiteral(
"tpo3"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"tpo3"
), QStringLiteral(
"National Geographic Topo 3.x/4.x .tpo"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"tpo"
)} );
168
mImporters[QStringLiteral(
"unicsv"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"unicsv"
), QStringLiteral(
"Universal csv with field structure in first line"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {} );
169
mImporters[QStringLiteral(
"v900"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"v900"
), QStringLiteral(
"Columbus/Visiontac V900 files (.csv)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {} );
170
mImporters[QStringLiteral(
"vidaone"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"vidaone"
), QStringLiteral(
"VidaOne GPS for Pocket PC (.gpb)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"gpb"
)} );
171
mImporters[QStringLiteral(
"vitosmt"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"vitosmt"
), QStringLiteral(
"Vito Navigator II tracks"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Routes
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"smt"
)} );
172
mImporters[QStringLiteral(
"vitovtt"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"vitovtt"
), QStringLiteral(
"Vito SmartMap tracks (.vtt)"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"vtt"
)} );
173
mImporters[QStringLiteral(
"vpl"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"vpl"
), QStringLiteral(
"Honda/Acura Navigation System VP Log File Format"
),
Qgis::BabelFormatCapability::Tracks
, {} );
174
mImporters[QStringLiteral(
"wbt-bin"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"wbt-bin"
), QStringLiteral(
"Wintec WBT-100/200 Binary File Format"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"bin"
)} );
175
mImporters[QStringLiteral(
"wbt-tk1"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"wbt-tk1"
), QStringLiteral(
"Wintec WBT-201/G-Rays 2 Binary File Format"
),
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"tk1"
)} );
176
mImporters[QStringLiteral(
"wfff"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"wfff"
), QStringLiteral(
"WiFiFoFum 2.0 for PocketPC XML"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"xml"
)} );
177
mImporters[QStringLiteral(
"wintec_tes"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"wintec_tes"
), QStringLiteral(
"Wintec TES file"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"tes"
)} );
178
mImporters[QStringLiteral(
"xmap"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"xmap"
), QStringLiteral(
"DeLorme XMap HH Native .WPT"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"wpt"
)} );
179
mImporters[QStringLiteral(
"xmap2006"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"xmap2006"
), QStringLiteral(
"DeLorme XMap/SAHH 2006 Native .TXT"
),
Qgis::BabelFormatCapability::Waypoints
, {QStringLiteral(
"txt"
)} );
180
mImporters[QStringLiteral(
"xmapwpt"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"xmapwpt"
), QStringLiteral(
"DeLorme XMat HH Street Atlas USA .WPT (PPC)"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
181
mImporters[QStringLiteral(
"xol"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"xol"
), QStringLiteral(
"Swiss Map 25/50/100 (.xol)"
),
Qgis::BabelFormatCapability::Waypoints
|
Qgis::BabelFormatCapability::Tracks
, {QStringLiteral(
"xol"
)} );
182
mImporters[QStringLiteral(
"yahoo"
)] =
new
QgsBabelSimpleImportFormat
( QStringLiteral(
"yahoo"
), QStringLiteral(
"Yahoo Geocode API data"
),
Qgis::BabelFormatCapability::Waypoints
, {} );
183
184
reloadFromSettings
();
185
}
186
187
QgsBabelFormatRegistry::~QgsBabelFormatRegistry
()
188
{
189
qDeleteAll( mImporters );
190
qDeleteAll( mDevices );
191
}
192
193
QStringList
QgsBabelFormatRegistry::importFormatNames
()
const
194
{
195
return
mImporters.keys();
196
}
197
198
QgsBabelSimpleImportFormat
*
QgsBabelFormatRegistry::importFormat
(
const
QString &name )
199
{
200
return
mImporters.value( name );
201
}
202
203
QgsBabelSimpleImportFormat
*
QgsBabelFormatRegistry::importFormatByDescription
(
const
QString &description )
204
{
205
for
(
auto
it = mImporters.constBegin(); it != mImporters.constEnd(); ++it )
206
{
207
if
( it.value()->description().compare( description, Qt::CaseInsensitive ) == 0 )
208
return
it.value();
209
210
// also need to test square bracket variant, see logic in importFileFilter()
211
const
QString descriptionSquareBrackets = it.value()->
description
().replace(
'('
,
'['
).replace(
')'
,
']'
);
212
if
( descriptionSquareBrackets.compare( description, Qt::CaseInsensitive ) == 0 )
213
return
it.value();
214
}
215
return
nullptr
;
216
}
217
218
QString
QgsBabelFormatRegistry::importFileFilter
()
const
219
{
220
QStringList res;
221
QMap< QString, QString > descriptionToString;
222
for
(
auto
it = mImporters.constBegin(); it != mImporters.constEnd(); ++it )
223
{
224
const
QStringList extensions = it.value()->extensions();
225
QString fileFilter;
226
if
( !extensions.empty() )
227
{
228
fileFilter =
'('
;
229
for
(
const
QString &extension : extensions )
230
fileFilter.append( QStringLiteral(
"*.%1"
).arg( extension ) );
231
fileFilter.append(
')'
);
232
}
233
else
234
{
235
fileFilter = QStringLiteral(
"(*.*)"
);
236
}
237
238
// we have to replace round brackets from the format description, or they are treated as the filter component!
239
const
QString description = it.value()->description().replace(
'('
,
'['
).replace(
')'
,
']'
);
240
241
descriptionToString.insert( description.toLower(), QStringLiteral(
"%1 %2"
).arg( description, fileFilter ) );
242
}
243
244
// build the list in a sorted order of lowercase description
245
for
(
auto
it = descriptionToString.constBegin(); it != descriptionToString.constEnd(); ++it )
246
res << it.value();
247
248
return
res.join( QLatin1String(
";;"
) );
249
}
250
251
QStringList
QgsBabelFormatRegistry::deviceNames
()
const
252
{
253
return
mDevices.keys();
254
}
255
256
QgsBabelGpsDeviceFormat
*
QgsBabelFormatRegistry::deviceFormat
(
const
QString &name )
257
{
258
return
mDevices.value( name );
259
}
260
261
QMap<QString, QgsBabelGpsDeviceFormat *>
QgsBabelFormatRegistry::devices
()
const
262
{
263
return
mDevices;
264
}
265
266
void
QgsBabelFormatRegistry::reloadFromSettings
()
267
{
268
qDeleteAll( mDevices );
269
mDevices.clear();
270
271
mDevices[QStringLiteral(
"Garmin serial"
)] =
272
new
QgsBabelGpsDeviceFormat
( QStringLiteral(
"%babel -w -i garmin -o gpx %in %out"
),
273
QStringLiteral(
"%babel -w -i gpx -o garmin %in %out"
),
274
QStringLiteral(
"%babel -r -i garmin -o gpx %in %out"
),
275
QStringLiteral(
"%babel -r -i gpx -o garmin %in %out"
),
276
QStringLiteral(
"%babel -t -i garmin -o gpx %in %out"
),
277
QStringLiteral(
"%babel -t -i gpx -o garmin %in %out"
) );
278
279
for
(
const
QString &device :
sTreeBabelDevices
->
items
() )
280
{
281
// don't leak memory if there's already a device with this name...
282
delete
mDevices.value( device );
283
284
mDevices[device] =
new
QgsBabelGpsDeviceFormat
(
settingsBabelWptDownload
->
value
( device ),
settingsBabelWptUpload
->
value
( device ),
285
settingsBabelRteDownload
->
value
( device ),
settingsBabelRteUpload
->
value
( device ),
286
settingsBabelTrkDownload
->
value
( device ),
settingsBabelTrkUpload
->
value
( device ) );
287
}
288
}
289
Qgis::BabelFormatCapability::Tracks
@ Tracks
Format supports tracks.
Qgis::BabelFormatCapability::Waypoints
@ Waypoints
Format supports waypoints.
Qgis::BabelFormatCapability::Routes
@ Routes
Format supports routes.
QgsBabelFormatRegistry::reloadFromSettings
void reloadFromSettings()
Reloads the registry's members from the currently stored configuration.
Definition
qgsbabelformatregistry.cpp:266
QgsBabelFormatRegistry::importFormatByDescription
QgsBabelSimpleImportFormat * importFormatByDescription(const QString &description)
Returns a registered import format by description.
Definition
qgsbabelformatregistry.cpp:203
QgsBabelFormatRegistry::settingsBabelWptDownload
static const QgsSettingsEntryString * settingsBabelWptDownload
Definition
qgsbabelformatregistry.h:45
QgsBabelFormatRegistry::settingsBabelRteUpload
static const QgsSettingsEntryString * settingsBabelRteUpload
Definition
qgsbabelformatregistry.h:48
QgsBabelFormatRegistry::settingsBabelTrkDownload
static const QgsSettingsEntryString * settingsBabelTrkDownload
Definition
qgsbabelformatregistry.h:49
QgsBabelFormatRegistry::devices
QMap< QString, QgsBabelGpsDeviceFormat * > devices() const
Returns a map of device name to device format.
Definition
qgsbabelformatregistry.cpp:261
QgsBabelFormatRegistry::settingsBabelWptUpload
static const QgsSettingsEntryString * settingsBabelWptUpload
Definition
qgsbabelformatregistry.h:46
QgsBabelFormatRegistry::importFormatNames
QStringList importFormatNames() const
Returns a list of the names of all registered import formats.
Definition
qgsbabelformatregistry.cpp:193
QgsBabelFormatRegistry::settingsBabelTrkUpload
static const QgsSettingsEntryString * settingsBabelTrkUpload
Definition
qgsbabelformatregistry.h:50
QgsBabelFormatRegistry::deviceNames
QStringList deviceNames() const
Returns a list of the names of all registered devices.
Definition
qgsbabelformatregistry.cpp:251
QgsBabelFormatRegistry::sTreeBabelDevices
static QgsSettingsTreeNamedListNode * sTreeBabelDevices
Definition
qgsbabelformatregistry.h:43
QgsBabelFormatRegistry::QgsBabelFormatRegistry
QgsBabelFormatRegistry()
Constructor for QgsBabelFormatRegistry.
Definition
qgsbabelformatregistry.cpp:36
QgsBabelFormatRegistry::importFileFilter
QString importFileFilter() const
Returns a file filter string representing all registered import formats.
Definition
qgsbabelformatregistry.cpp:218
QgsBabelFormatRegistry::settingsBabelRteDownload
static const QgsSettingsEntryString * settingsBabelRteDownload
Definition
qgsbabelformatregistry.h:47
QgsBabelFormatRegistry::~QgsBabelFormatRegistry
~QgsBabelFormatRegistry()
Definition
qgsbabelformatregistry.cpp:187
QgsBabelFormatRegistry::importFormat
QgsBabelSimpleImportFormat * importFormat(const QString &name)
Returns a registered import format by name.
Definition
qgsbabelformatregistry.cpp:198
QgsBabelFormatRegistry::deviceFormat
QgsBabelGpsDeviceFormat * deviceFormat(const QString &name)
Returns a registered device format by name.
Definition
qgsbabelformatregistry.cpp:256
QgsBabelGpsDeviceFormat
A babel format capable of interacting directly with a GPS device.
Definition
qgsbabelgpsdevice.h:36
QgsBabelSimpleImportFormat
A babel format capable of converting input files to GPX files.
Definition
qgsbabelformat.h:110
QgsBabelSimpleImportFormat::description
QString description() const
Returns the friendly description for the format.
Definition
qgsbabelformat.h:132
QgsSettingsEntryBaseTemplate::value
T value(const QString &dynamicKeyPart=QString()) const
Returns settings value.
Definition
qgssettingsentry.h:428
QgsSettingsEntryString
A string settings entry.
Definition
qgssettingsentryimpl.h:127
QgsSettingsTreeNamedListNode::items
QStringList items(const QStringList &parentsNamedItems=QStringList()) const
Returns the list of items.
Definition
qgssettingstreenode.cpp:168
qgsbabelformat.h
qgsbabelformatregistry.h
qgsbabelgpsdevice.h
Generated on Tue Nov 19 2024 18:20:01 for QGIS API Documentation by
1.9.8