diff --git a/src/core/qgsjsonutils.h b/src/core/qgsjsonutils.h index 9dca5a1bcb5..cb4f83a39e7 100644 --- a/src/core/qgsjsonutils.h +++ b/src/core/qgsjsonutils.h @@ -40,11 +40,13 @@ class CORE_EXPORT QgsJSONExporter /** Constructor for QgsJSONExporter. * @param vectorLayer associated vector layer (required for related attribute export) - * @param precision maximum number of decimal places to use for geometry coordinates + * @param precision maximum number of decimal places to use for geometry coordinates, + * the RFC 7946 GeoJSON specification recommends limiting coordinate precision to 6 */ - QgsJSONExporter( const QgsVectorLayer* vectorLayer = nullptr, int precision = 17 ); + QgsJSONExporter( const QgsVectorLayer* vectorLayer = nullptr, int precision = 6 ); /** Sets the maximum number of decimal places to use in geometry coordinates. + * The RFC 7946 GeoJSON specification recommends limiting coordinate precision to 6 * @param precision number of decimal places * @see precision() */ diff --git a/src/server/services/wfs/qgswfsgetfeature.cpp b/src/server/services/wfs/qgswfsgetfeature.cpp index 9d465d59c99..7b3f006e18e 100644 --- a/src/server/services/wfs/qgswfsgetfeature.cpp +++ b/src/server/services/wfs/qgswfsgetfeature.cpp @@ -1088,7 +1088,10 @@ namespace QgsWfs QgsJSONExporter exporter; exporter.setSourceCrs( crs ); - exporter.setPrecision( prec ); + //QgsJSONExporter force transform geometry to ESPG:4326 + //and the RFC 7946 GeoJSON specification recommends limiting coordinate precision to 6 + Q_UNUSED( prec ); + //exporter.setPrecision( prec ); //copy feature so we can modify its geometry as required QgsFeature f( *feat );