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