25
25
#include " gpsdata.h"
26
26
#include < qgslogger.h>
27
27
28
+ #define OUTPUT_PRECISION 12
29
+
28
30
QString GPSObject::xmlify (const QString& str) {
29
31
QString tmp = str;
30
32
tmp.replace (" &" , " &" );
@@ -84,7 +86,8 @@ void GPSExtended::writeXML(QTextStream& stream) {
84
86
85
87
86
88
void Waypoint::writeXML (QTextStream& stream) {
87
- stream<<" <wpt lat=\" " <<lat<<" \" lon=\" " <<lon<<" \" >\n " ;
89
+ stream << " <wpt lat=\" " << QString::number (lat, ' f' , OUTPUT_PRECISION) <<
90
+ " \" lon=\" " << QString::number (lon, ' f' , OUTPUT_PRECISION) << " \" >\n " ;
88
91
GPSPoint::writeXML (stream);
89
92
stream<<" </wpt>\n " ;
90
93
}
@@ -93,9 +96,9 @@ void Waypoint::writeXML(QTextStream& stream) {
93
96
void Route::writeXML (QTextStream& stream) {
94
97
stream<<" <rte>\n " ;
95
98
GPSExtended::writeXML (stream);
96
- for (int i = 0 ; i < points.size (); ++i) {
97
- stream<<" <rtept lat=\" " <<points[i].lat
98
- <<" \" lon=\" " << points[i].lon <<" \" >\n " ;
99
+ for (unsigned int i = 0 ; i < points.size (); ++i) {
100
+ stream<<" <rtept lat=\" " << QString::number ( points[i].lat , ' f ' , OUTPUT_PRECISION)
101
+ <<" \" lon=\" " << QString::number ( points[i].lon , ' f ' , OUTPUT_PRECISION) <<" \" >\n " ;
99
102
points[i].writeXML (stream);
100
103
stream<<" </rtept>\n " ;
101
104
}
@@ -106,11 +109,13 @@ void Route::writeXML(QTextStream& stream) {
106
109
void Track::writeXML (QTextStream& stream) {
107
110
stream<<" <trk>\n " ;
108
111
GPSExtended::writeXML (stream);
109
- for (int i = 0 ; i < segments.size (); ++i) {
112
+ for (unsigned int i = 0 ; i < segments.size (); ++i) {
110
113
stream<<" <trkseg>\n " ;
111
- for (int j = 0 ; j < segments[i].points .size (); ++j) {
112
- stream<<" <trkpt lat=\" " <<segments[i].points [j].lat
113
- <<" \" lon=\" " <<segments[i].points [j].lon <<" \" >\n " ;
114
+ for (unsigned int j = 0 ; j < segments[i].points .size (); ++j) {
115
+ stream<<" <trkpt lat=\" " <<
116
+ QString::number (segments[i].points [j].lat , ' f' , OUTPUT_PRECISION) <<
117
+ " \" lon=\" " << QString::number (segments[i].points [j].lon , ' f' , OUTPUT_PRECISION) <<
118
+ " \" >\n " ;
114
119
segments[i].points [j].writeXML (stream);
115
120
stream<<" </trkpt>\n " ;
116
121
}
0 commit comments