[QGIS Commit] r14961 - trunk/qgis/src/providers/wfs
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Tue Dec 21 12:19:08 EST 2010
Author: mhugent
Date: 2010-12-21 09:19:08 -0800 (Tue, 21 Dec 2010)
New Revision: 14961
Modified:
trunk/qgis/src/providers/wfs/qgswfsprovider.cpp
Log:
Enhance precision for wfs-t coordinates if srs is in degrees. Fixes bug #3358
Modified: trunk/qgis/src/providers/wfs/qgswfsprovider.cpp
===================================================================
--- trunk/qgis/src/providers/wfs/qgswfsprovider.cpp 2010-12-21 16:24:38 UTC (rev 14960)
+++ trunk/qgis/src/providers/wfs/qgswfsprovider.cpp 2010-12-21 17:19:08 UTC (rev 14961)
@@ -1967,6 +1967,14 @@
coordElem.setAttribute( "cs", "," );
coordElem.setAttribute( "ts", " " );
+ //precision 4 for meters / feet, precision 8 for degrees
+ int precision = 8;
+ if ( mSourceCRS.mapUnits() == QGis::Meters
+ || mSourceCRS.mapUnits() == QGis::Feet )
+ {
+ precision = 4;
+ }
+
QString coordString;
QVector<QgsPoint>::const_iterator pointIt = points.constBegin();
for ( ; pointIt != points.constEnd(); ++pointIt )
@@ -1975,9 +1983,9 @@
{
coordString += " ";
}
- coordString += QString::number( pointIt->x() );
+ coordString += QString::number( pointIt->x(), 'f', precision );
coordString += ",";
- coordString += QString::number( pointIt->y() );
+ coordString += QString::number( pointIt->y(), 'f', precision );
}
QDomText coordText = doc.createTextNode( coordString );
More information about the QGIS-commit
mailing list