Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
In the GetFeature request QGIS WFS Server uses the static method: QgsDoubleToString. This method returns double with a precision fixed to 17.
We do not need that much precision for coordinates. Firstly because we are not able to measure a position on earth with a lower micron precision. Secondly because it unnecessarily overload response.
I propose to add the ability to specify the precision in the QgsDoubleToString method.
After commit 7d66529d7884b73070dbce80b1d4060d841a6933 Add GML3 to
QgsOgcUtils, I have to simplify this class to only have :
* geometryFromGML : read GML2 or GML3
* geometryToGML : create GML2 (as default) or GML3
After the commit 969df016bcdbd1ead8a347b7a5d55c8b36db183a Moved GML import/export to a new class: QgsOgcUtils, I decided to add GML3.
I updated QgsOgcUtils, QGIS WFS Server, and the Python Iterface and I added unit test for GML3.