mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-04 00:06:46 -05:00
Precision and 3d
This commit is contained in:
parent
6967a21882
commit
be8822ed8b
@ -259,7 +259,7 @@ Returns a GeoJSON representation of the geometry.
|
|||||||
.. seealso:: :py:func:`asGml3`
|
.. seealso:: :py:func:`asGml3`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const = 0;
|
virtual QJsonObject asJsonObject( int precision = 17 ) const = 0;
|
||||||
%Docstring
|
%Docstring
|
||||||
Returns a GeoJSON object of the geometry.
|
Returns a GeoJSON object of the geometry.
|
||||||
|
|
||||||
|
|||||||
@ -81,7 +81,7 @@ to ``p2`` will be used (i.e. winding the other way around the circle).
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual bool isEmpty() const;
|
virtual bool isEmpty() const;
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,7 @@ Compound curve geometry type
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
|
|
||||||
virtual double length() const;
|
virtual double length() const;
|
||||||
|
|||||||
@ -56,7 +56,7 @@ Curve polygon geometry type
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2() const;
|
virtual QJsonObject asJsonObject( int precision = 17 ) const;
|
||||||
|
|
||||||
|
|
||||||
virtual double area() const;
|
virtual double area() const;
|
||||||
|
|||||||
@ -1441,7 +1441,7 @@ Exports the geometry to WKT
|
|||||||
Exports the geometry to a GeoJSON string.
|
Exports the geometry to a GeoJSON string.
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QJsonObject asJsonV2( ) const;
|
QJsonObject asJsonObject( int precision = 17 ) const;
|
||||||
%Docstring
|
%Docstring
|
||||||
Exports the geometry to a GeoJSON object.
|
Exports the geometry to a GeoJSON object.
|
||||||
%End
|
%End
|
||||||
|
|||||||
@ -154,7 +154,7 @@ An IndexError will be raised if no geometry with the specified index exists.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
|
|
||||||
virtual QgsRectangle boundingBox() const;
|
virtual QgsRectangle boundingBox() const;
|
||||||
|
|||||||
@ -414,7 +414,7 @@ segment in the line.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
|
|
||||||
virtual double length() const;
|
virtual double length() const;
|
||||||
|
|||||||
@ -37,7 +37,7 @@ Multi curve geometry collection.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ Multi line string geometry collection.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
||||||
|
|
||||||
|
|||||||
@ -38,7 +38,7 @@ Multi point geometry collection.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual int nCoordinates() const;
|
virtual int nCoordinates() const;
|
||||||
|
|
||||||
|
|||||||
@ -35,7 +35,7 @@ Multi polygon geometry collection.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ Multi surface geometry collection.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
virtual bool addGeometry( QgsAbstractGeometry *g /Transfer/ );
|
||||||
|
|
||||||
|
|||||||
@ -357,7 +357,7 @@ M value is preserved.
|
|||||||
|
|
||||||
virtual QString asJson( int precision = 17 ) const;
|
virtual QString asJson( int precision = 17 ) const;
|
||||||
|
|
||||||
virtual QJsonObject asJsonV2( ) const;
|
virtual QJsonObject asJsonObject( int precision ) const;
|
||||||
|
|
||||||
virtual void draw( QPainter &p ) const;
|
virtual void draw( QPainter &p ) const;
|
||||||
|
|
||||||
|
|||||||
@ -231,9 +231,9 @@ Returns a GeoJSON string representation of a feature.
|
|||||||
.. seealso:: :py:func:`exportFeatures`
|
.. seealso:: :py:func:`exportFeatures`
|
||||||
%End
|
%End
|
||||||
|
|
||||||
QJsonObject exportFeatureV2( const QgsFeature &feature,
|
QJsonObject exportFeatureToJsonObject( const QgsFeature &feature,
|
||||||
const QVariantMap &extraProperties = QVariantMap(),
|
const QVariantMap &extraProperties = QVariantMap(),
|
||||||
const QVariant &id = QVariant() ) const;
|
const QVariant &id = QVariant() ) const;
|
||||||
%Docstring
|
%Docstring
|
||||||
Returns a GeoJSON string representation of a feature.
|
Returns a GeoJSON string representation of a feature.
|
||||||
|
|
||||||
@ -330,8 +330,8 @@ Exports all attributes from a QgsFeature as a JSON map type.
|
|||||||
to speed up exporting the attributes for multiple features from the same layer.
|
to speed up exporting the attributes for multiple features from the same layer.
|
||||||
%End
|
%End
|
||||||
|
|
||||||
static QJsonObject exportAttributesV2( const QgsFeature &feature, QgsVectorLayer *layer = 0,
|
static QJsonObject exportAttributesToJsonObject( const QgsFeature &feature, QgsVectorLayer *layer = 0,
|
||||||
const QVector<QVariant> &attributeWidgetCaches = QVector<QVariant>() );
|
const QVector<QVariant> &attributeWidgetCaches = QVector<QVariant>() );
|
||||||
%Docstring
|
%Docstring
|
||||||
Exports all attributes from a QgsFeature as a JSON map type.
|
Exports all attributes from a QgsFeature as a JSON map type.
|
||||||
|
|
||||||
|
|||||||
@ -287,7 +287,7 @@ class CORE_EXPORT QgsAbstractGeometry
|
|||||||
* \see asGml2()
|
* \see asGml2()
|
||||||
* \see asGml3()
|
* \see asGml3()
|
||||||
*/
|
*/
|
||||||
virtual QJsonObject asJsonV2( ) const = 0;
|
virtual QJsonObject asJsonObject( int precision = 17 ) const = 0;
|
||||||
|
|
||||||
//render pipeline
|
//render pipeline
|
||||||
|
|
||||||
|
|||||||
@ -375,11 +375,11 @@ QString QgsCircularString::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsCircularString::asJsonV2() const
|
QJsonObject QgsCircularString::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
// GeoJSON does not support curves
|
// GeoJSON does not support curves
|
||||||
std::unique_ptr< QgsLineString > line( curveToLine() );
|
std::unique_ptr< QgsLineString > line( curveToLine() );
|
||||||
return line->asJsonV2( );
|
return line->asJsonObject( precision );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QgsCircularString::isEmpty() const
|
bool QgsCircularString::isEmpty() const
|
||||||
|
|||||||
@ -80,7 +80,7 @@ class CORE_EXPORT QgsCircularString: public QgsCurve
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
bool isEmpty() const override;
|
bool isEmpty() const override;
|
||||||
int numPoints() const override;
|
int numPoints() const override;
|
||||||
|
|
||||||
|
|||||||
@ -299,11 +299,11 @@ QString QgsCompoundCurve::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsCompoundCurve::asJsonV2() const
|
QJsonObject QgsCompoundCurve::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
// GeoJSON does not support curves
|
// GeoJSON does not support curves
|
||||||
std::unique_ptr< QgsLineString > line( curveToLine() );
|
std::unique_ptr< QgsLineString > line( curveToLine() );
|
||||||
return line->asJsonV2();
|
return line->asJsonObject( precision );
|
||||||
}
|
}
|
||||||
|
|
||||||
double QgsCompoundCurve::length() const
|
double QgsCompoundCurve::length() const
|
||||||
|
|||||||
@ -51,7 +51,7 @@ class CORE_EXPORT QgsCompoundCurve: public QgsCurve
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
|
|
||||||
//curve interface
|
//curve interface
|
||||||
double length() const override;
|
double length() const override;
|
||||||
|
|||||||
@ -428,7 +428,7 @@ QString QgsCurvePolygon::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsCurvePolygon::asJsonV2() const
|
QJsonObject QgsCurvePolygon::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
if ( exteriorRing() )
|
if ( exteriorRing() )
|
||||||
@ -436,7 +436,7 @@ QJsonObject QgsCurvePolygon::asJsonV2() const
|
|||||||
std::unique_ptr< QgsLineString > exteriorLineString( exteriorRing()->curveToLine() );
|
std::unique_ptr< QgsLineString > exteriorLineString( exteriorRing()->curveToLine() );
|
||||||
QgsPointSequence exteriorPts;
|
QgsPointSequence exteriorPts;
|
||||||
exteriorLineString->points( exteriorPts );
|
exteriorLineString->points( exteriorPts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( exteriorPts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( exteriorPts, precision ) );
|
||||||
|
|
||||||
std::unique_ptr< QgsLineString > interiorLineString;
|
std::unique_ptr< QgsLineString > interiorLineString;
|
||||||
for ( int i = 0, n = numInteriorRings(); i < n; ++i )
|
for ( int i = 0, n = numInteriorRings(); i < n; ++i )
|
||||||
@ -444,7 +444,7 @@ QJsonObject QgsCurvePolygon::asJsonV2() const
|
|||||||
interiorLineString.reset( interiorRing( i )->curveToLine() );
|
interiorLineString.reset( interiorRing( i )->curveToLine() );
|
||||||
QgsPointSequence interiorPts;
|
QgsPointSequence interiorPts;
|
||||||
interiorLineString->points( interiorPts );
|
interiorLineString->points( interiorPts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( interiorPts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( interiorPts, precision ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
@ -56,7 +56,7 @@ class CORE_EXPORT QgsCurvePolygon: public QgsSurface
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2() const override;
|
QJsonObject asJsonObject( int precision = 17 ) const override;
|
||||||
|
|
||||||
//surface interface
|
//surface interface
|
||||||
double area() const override;
|
double area() const override;
|
||||||
|
|||||||
@ -1268,13 +1268,13 @@ QString QgsGeometry::asJson( int precision ) const
|
|||||||
return d->geometry->asJson( precision );
|
return d->geometry->asJson( precision );
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsGeometry::asJsonV2() const
|
QJsonObject QgsGeometry::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
if ( !d->geometry )
|
if ( !d->geometry )
|
||||||
{
|
{
|
||||||
return QJsonObject( );
|
return QJsonObject( );
|
||||||
}
|
}
|
||||||
return d->geometry->asJsonV2( );
|
return d->geometry->asJsonObject( precision );
|
||||||
}
|
}
|
||||||
|
|
||||||
QgsGeometry QgsGeometry::convertToType( QgsWkbTypes::GeometryType destType, bool destMultipart ) const
|
QgsGeometry QgsGeometry::convertToType( QgsWkbTypes::GeometryType destType, bool destMultipart ) const
|
||||||
|
|||||||
@ -1433,7 +1433,7 @@ class CORE_EXPORT QgsGeometry
|
|||||||
/**
|
/**
|
||||||
* Exports the geometry to a GeoJSON object.
|
* Exports the geometry to a GeoJSON object.
|
||||||
*/
|
*/
|
||||||
QJsonObject asJsonV2( ) const;
|
QJsonObject asJsonObject( int precision = 17 ) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to convert the geometry to the requested type
|
* Try to convert the geometry to the requested type
|
||||||
|
|||||||
@ -431,12 +431,12 @@ QString QgsGeometryCollection::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsGeometryCollection::asJsonV2() const
|
QJsonObject QgsGeometryCollection::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
||||||
{
|
{
|
||||||
coordinates.append( geom->asJsonV2() );
|
coordinates.append( geom->asJsonObject() );
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
{
|
{
|
||||||
|
|||||||
@ -174,7 +174,7 @@ class CORE_EXPORT QgsGeometryCollection: public QgsAbstractGeometry
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
|
|
||||||
QgsRectangle boundingBox() const override;
|
QgsRectangle boundingBox() const override;
|
||||||
|
|
||||||
|
|||||||
@ -1195,12 +1195,19 @@ QString QgsGeometryUtils::pointsToJSON( const QgsPointSequence &points, int prec
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonArray QgsGeometryUtils::pointsToJsonV2( const QgsPointSequence &points )
|
QJsonArray QgsGeometryUtils::pointsToJsonObject( const QgsPointSequence &points, int precision )
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsPoint &p : points )
|
for ( const QgsPoint &p : points )
|
||||||
{
|
{
|
||||||
coordinates.append( QJsonArray( { p.x(), p.y() } ) );
|
if ( p.is3D() )
|
||||||
|
{
|
||||||
|
coordinates.append( QJsonArray( { qgsRound( p.x(), precision ), qgsRound( p.y(), precision ), qgsRound( p.z(), precision ) } ) );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
coordinates.append( QJsonArray( { qgsRound( p.x(), precision ), qgsRound( p.y(), precision ) } ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return coordinates;
|
return coordinates;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -425,7 +425,7 @@ class CORE_EXPORT QgsGeometryUtils
|
|||||||
* Returns a geoJSON coordinates object.
|
* Returns a geoJSON coordinates object.
|
||||||
* \note not available in Python bindings
|
* \note not available in Python bindings
|
||||||
*/
|
*/
|
||||||
static QJsonArray pointsToJsonV2( const QgsPointSequence &points ) SIP_SKIP;
|
static QJsonArray pointsToJsonObject( const QgsPointSequence &points, int precision ) SIP_SKIP;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures that an angle is in the range 0 <= angle < 2 pi.
|
* Ensures that an angle is in the range 0 <= angle < 2 pi.
|
||||||
|
|||||||
@ -419,14 +419,14 @@ QString QgsLineString::asJson( int precision ) const
|
|||||||
return "{\"type\": \"LineString\", \"coordinates\": " + QgsGeometryUtils::pointsToJSON( pts, precision ) + '}';
|
return "{\"type\": \"LineString\", \"coordinates\": " + QgsGeometryUtils::pointsToJSON( pts, precision ) + '}';
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsLineString::asJsonV2() const
|
QJsonObject QgsLineString::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QgsPointSequence pts;
|
QgsPointSequence pts;
|
||||||
points( pts );
|
points( pts );
|
||||||
return
|
return
|
||||||
{
|
{
|
||||||
{ QLatin1String( "type" ), QLatin1String( "LineString" ) },
|
{ QLatin1String( "type" ), QLatin1String( "LineString" ) },
|
||||||
{ QLatin1String( "coordinates" ), QgsGeometryUtils::pointsToJsonV2( pts ) }
|
{ QLatin1String( "coordinates" ), QgsGeometryUtils::pointsToJsonObject( pts, precision ) }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -561,7 +561,7 @@ class CORE_EXPORT QgsLineString: public QgsCurve
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
|
|
||||||
//curve interface
|
//curve interface
|
||||||
double length() const override;
|
double length() const override;
|
||||||
|
|||||||
@ -131,7 +131,7 @@ QString QgsMultiCurve::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsMultiCurve::asJsonV2() const
|
QJsonObject QgsMultiCurve::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
||||||
@ -141,7 +141,7 @@ QJsonObject QgsMultiCurve::asJsonV2() const
|
|||||||
std::unique_ptr< QgsLineString > lineString( static_cast<const QgsCurve *>( geom )->curveToLine() );
|
std::unique_ptr< QgsLineString > lineString( static_cast<const QgsCurve *>( geom )->curveToLine() );
|
||||||
QgsPointSequence pts;
|
QgsPointSequence pts;
|
||||||
lineString->points( pts );
|
lineString->points( pts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( pts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( pts, precision ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
@ -38,7 +38,7 @@ class CORE_EXPORT QgsMultiCurve: public QgsGeometryCollection
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
||||||
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
||||||
|
|
||||||
|
|||||||
@ -118,7 +118,7 @@ QString QgsMultiLineString::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsMultiLineString::asJsonV2() const
|
QJsonObject QgsMultiLineString::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsAbstractGeometry *geom : mGeometries )
|
for ( const QgsAbstractGeometry *geom : mGeometries )
|
||||||
@ -128,7 +128,7 @@ QJsonObject QgsMultiLineString::asJsonV2() const
|
|||||||
const QgsLineString *lineString = static_cast<const QgsLineString *>( geom );
|
const QgsLineString *lineString = static_cast<const QgsLineString *>( geom );
|
||||||
QgsPointSequence pts;
|
QgsPointSequence pts;
|
||||||
lineString->points( pts );
|
lineString->points( pts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( pts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( pts, precision ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
@ -38,7 +38,7 @@ class CORE_EXPORT QgsMultiLineString: public QgsMultiCurve
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
||||||
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
||||||
|
|
||||||
|
|||||||
@ -128,7 +128,7 @@ QString QgsMultiPoint::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsMultiPoint::asJsonV2() const
|
QJsonObject QgsMultiPoint::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
||||||
|
|||||||
@ -39,7 +39,7 @@ class CORE_EXPORT QgsMultiPoint: public QgsGeometryCollection
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
int nCoordinates() const override;
|
int nCoordinates() const override;
|
||||||
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
||||||
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
||||||
|
|||||||
@ -139,7 +139,7 @@ QString QgsMultiPolygon::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsMultiPolygon::asJsonV2() const
|
QJsonObject QgsMultiPolygon::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
||||||
@ -151,7 +151,7 @@ QJsonObject QgsMultiPolygon::asJsonV2() const
|
|||||||
std::unique_ptr< QgsLineString > exteriorLineString( polygon->exteriorRing()->curveToLine() );
|
std::unique_ptr< QgsLineString > exteriorLineString( polygon->exteriorRing()->curveToLine() );
|
||||||
QgsPointSequence exteriorPts;
|
QgsPointSequence exteriorPts;
|
||||||
exteriorLineString->points( exteriorPts );
|
exteriorLineString->points( exteriorPts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( exteriorPts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( exteriorPts, precision ) );
|
||||||
|
|
||||||
std::unique_ptr< QgsLineString > interiorLineString;
|
std::unique_ptr< QgsLineString > interiorLineString;
|
||||||
for ( int i = 0, n = polygon->numInteriorRings(); i < n; ++i )
|
for ( int i = 0, n = polygon->numInteriorRings(); i < n; ++i )
|
||||||
@ -159,7 +159,7 @@ QJsonObject QgsMultiPolygon::asJsonV2() const
|
|||||||
interiorLineString.reset( polygon->interiorRing( i )->curveToLine() );
|
interiorLineString.reset( polygon->interiorRing( i )->curveToLine() );
|
||||||
QgsPointSequence interiorPts;
|
QgsPointSequence interiorPts;
|
||||||
interiorLineString->points( interiorPts );
|
interiorLineString->points( interiorPts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( interiorPts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( interiorPts, precision ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,7 +37,7 @@ class CORE_EXPORT QgsMultiPolygon: public QgsMultiSurface
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
||||||
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
||||||
|
|
||||||
|
|||||||
@ -149,7 +149,7 @@ QString QgsMultiSurface::asJson( int precision ) const
|
|||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsMultiSurface::asJsonV2() const
|
QJsonObject QgsMultiSurface::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
QJsonArray coordinates;
|
QJsonArray coordinates;
|
||||||
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
for ( const QgsAbstractGeometry *geom : qgis::as_const( mGeometries ) )
|
||||||
@ -160,7 +160,7 @@ QJsonObject QgsMultiSurface::asJsonV2() const
|
|||||||
std::unique_ptr< QgsLineString > exteriorLineString( polygon->exteriorRing()->curveToLine() );
|
std::unique_ptr< QgsLineString > exteriorLineString( polygon->exteriorRing()->curveToLine() );
|
||||||
QgsPointSequence exteriorPts;
|
QgsPointSequence exteriorPts;
|
||||||
exteriorLineString->points( exteriorPts );
|
exteriorLineString->points( exteriorPts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( exteriorPts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( exteriorPts, precision ) );
|
||||||
|
|
||||||
std::unique_ptr< QgsLineString > interiorLineString;
|
std::unique_ptr< QgsLineString > interiorLineString;
|
||||||
for ( int i = 0, n = polygon->numInteriorRings(); i < n; ++i )
|
for ( int i = 0, n = polygon->numInteriorRings(); i < n; ++i )
|
||||||
@ -168,7 +168,7 @@ QJsonObject QgsMultiSurface::asJsonV2() const
|
|||||||
interiorLineString.reset( polygon->interiorRing( i )->curveToLine() );
|
interiorLineString.reset( polygon->interiorRing( i )->curveToLine() );
|
||||||
QgsPointSequence interiorPts;
|
QgsPointSequence interiorPts;
|
||||||
interiorLineString->points( interiorPts );
|
interiorLineString->points( interiorPts );
|
||||||
coordinates.append( QgsGeometryUtils::pointsToJsonV2( interiorPts ) );
|
coordinates.append( QgsGeometryUtils::pointsToJsonObject( interiorPts, precision ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ class CORE_EXPORT QgsMultiSurface: public QgsGeometryCollection
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
bool addGeometry( QgsAbstractGeometry *g SIP_TRANSFER ) override;
|
||||||
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
bool insertGeometry( QgsAbstractGeometry *g SIP_TRANSFER, int index ) override;
|
||||||
QgsAbstractGeometry *boundary() const override SIP_FACTORY;
|
QgsAbstractGeometry *boundary() const override SIP_FACTORY;
|
||||||
|
|||||||
@ -288,12 +288,17 @@ QString QgsPoint::asJson( int precision ) const
|
|||||||
+ QLatin1String( "]}" );
|
+ QLatin1String( "]}" );
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsPoint::asJsonV2() const
|
QJsonObject QgsPoint::asJsonObject( int precision ) const
|
||||||
{
|
{
|
||||||
|
QJsonArray coordinates { { qgsRound( mX, precision ), qgsRound( mY, precision ) } };
|
||||||
|
if ( is3D() )
|
||||||
|
{
|
||||||
|
coordinates.append( qgsRound( mZ, precision ) );
|
||||||
|
}
|
||||||
return
|
return
|
||||||
{
|
{
|
||||||
{ QLatin1String( "type" ), QLatin1String( "Point" ) },
|
{ QLatin1String( "type" ), QLatin1String( "Point" ) },
|
||||||
{ QLatin1String( "coordinates" ), QJsonArray( { mX, mY } ) }
|
{ QLatin1String( "coordinates" ), coordinates }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -437,7 +437,7 @@ class CORE_EXPORT QgsPoint: public QgsAbstractGeometry
|
|||||||
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml2( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
QDomElement asGml3( QDomDocument &doc, int precision = 17, const QString &ns = "gml", QgsAbstractGeometry::AxisOrder axisOrder = QgsAbstractGeometry::AxisOrder::XY ) const override;
|
||||||
QString asJson( int precision = 17 ) const override;
|
QString asJson( int precision = 17 ) const override;
|
||||||
QJsonObject asJsonV2( ) const override;
|
QJsonObject asJsonObject( int precision ) const override;
|
||||||
void draw( QPainter &p ) const override;
|
void draw( QPainter &p ) const override;
|
||||||
void transform( const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d = QgsCoordinateTransform::ForwardTransform, bool transformZ = false ) override SIP_THROW( QgsCsException );
|
void transform( const QgsCoordinateTransform &ct, QgsCoordinateTransform::TransformDirection d = QgsCoordinateTransform::ForwardTransform, bool transformZ = false ) override SIP_THROW( QgsCsException );
|
||||||
void transform( const QTransform &t, double zTranslate = 0.0, double zScale = 1.0, double mTranslate = 0.0, double mScale = 1.0 ) override;
|
void transform( const QTransform &t, double zTranslate = 0.0, double zScale = 1.0, double mTranslate = 0.0, double mScale = 1.0 ) override;
|
||||||
|
|||||||
@ -236,7 +236,7 @@ QString QgsJsonExporter::exportFeature( const QgsFeature &feature, const QVarian
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonObject QgsJsonExporter::exportFeatureV2( const QgsFeature &feature, const QVariantMap &extraProperties, const QVariant &id ) const
|
QJsonObject QgsJsonExporter::exportFeatureToJsonObject( const QgsFeature &feature, const QVariantMap &extraProperties, const QVariant &id ) const
|
||||||
{
|
{
|
||||||
QJsonObject featureJson
|
QJsonObject featureJson
|
||||||
{
|
{
|
||||||
@ -269,7 +269,7 @@ QJsonObject QgsJsonExporter::exportFeatureV2( const QgsFeature &feature, const Q
|
|||||||
box.xMaximum(),
|
box.xMaximum(),
|
||||||
box.yMaximum() } );
|
box.yMaximum() } );
|
||||||
}
|
}
|
||||||
featureJson[ QStringLiteral( "geometry" ) ] = geom.asJsonV2( );
|
featureJson[ QStringLiteral( "geometry" ) ] = geom.asJsonObject( mPrecision );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -482,7 +482,7 @@ QVariantList QgsJsonUtils::parseArray( const QString &json, QVariant::Type type
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QJsonObject QgsJsonUtils::exportAttributesV2( const QgsFeature &feature, QgsVectorLayer *layer, const QVector<QVariant> &attributeWidgetCaches )
|
QJsonObject QgsJsonUtils::exportAttributesToJsonObject( const QgsFeature &feature, QgsVectorLayer *layer, const QVector<QVariant> &attributeWidgetCaches )
|
||||||
{
|
{
|
||||||
QgsFields fields = feature.fields();
|
QgsFields fields = feature.fields();
|
||||||
QJsonObject attrs;
|
QJsonObject attrs;
|
||||||
|
|||||||
@ -208,9 +208,9 @@ class CORE_EXPORT QgsJsonExporter
|
|||||||
* \returns GeoJSON string
|
* \returns GeoJSON string
|
||||||
* \see exportFeatures()
|
* \see exportFeatures()
|
||||||
*/
|
*/
|
||||||
QJsonObject exportFeatureV2( const QgsFeature &feature,
|
QJsonObject exportFeatureToJsonObject( const QgsFeature &feature,
|
||||||
const QVariantMap &extraProperties = QVariantMap(),
|
const QVariantMap &extraProperties = QVariantMap(),
|
||||||
const QVariant &id = QVariant() ) const;
|
const QVariant &id = QVariant() ) const;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -313,8 +313,8 @@ class CORE_EXPORT QgsJsonUtils
|
|||||||
* \param attributeWidgetCaches optional widget configuration cache. Can be used
|
* \param attributeWidgetCaches optional widget configuration cache. Can be used
|
||||||
* to speed up exporting the attributes for multiple features from the same layer.
|
* to speed up exporting the attributes for multiple features from the same layer.
|
||||||
*/
|
*/
|
||||||
static QJsonObject exportAttributesV2( const QgsFeature &feature, QgsVectorLayer *layer = nullptr,
|
static QJsonObject exportAttributesToJsonObject( const QgsFeature &feature, QgsVectorLayer *layer = nullptr,
|
||||||
const QVector<QVariant> &attributeWidgetCaches = QVector<QVariant>() );
|
const QVector<QVariant> &attributeWidgetCaches = QVector<QVariant>() );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -95,7 +95,7 @@ class TestQgsJsonUtils : public QObject
|
|||||||
{
|
{
|
||||||
QBENCHMARK
|
QBENCHMARK
|
||||||
{
|
{
|
||||||
const auto json { QgsJsonUtils::exportAttributesV2( feature, &vl ) };
|
const auto json { QgsJsonUtils::exportAttributesToJsonObject( feature, &vl ) };
|
||||||
QCOMPARE( QJsonDocument( json ).toJson( QJsonDocument::JsonFormat::Compact ), QStringLiteral( "{\"flddbl\":2,\"fldint\":1,\"fldtxt\":\"a value\"}" ) );
|
QCOMPARE( QJsonDocument( json ).toJson( QJsonDocument::JsonFormat::Compact ), QStringLiteral( "{\"flddbl\":2,\"fldint\":1,\"fldtxt\":\"a value\"}" ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -132,7 +132,7 @@ class TestQgsJsonUtils : public QObject
|
|||||||
{
|
{
|
||||||
QBENCHMARK
|
QBENCHMARK
|
||||||
{
|
{
|
||||||
const auto json { exporter.exportFeatureV2( feature ) };
|
const auto json { exporter.exportFeatureToJsonObject( feature ) };
|
||||||
QCOMPARE( QJsonDocument( json ).toJson( QJsonDocument::JsonFormat::Compact ),
|
QCOMPARE( QJsonDocument( json ).toJson( QJsonDocument::JsonFormat::Compact ),
|
||||||
QStringLiteral( "{\"bbox\":[1.12,1.12,5.45,5.33],\"geometry\":{\"coordinates\":[[[1.12,1.34]"
|
QStringLiteral( "{\"bbox\":[1.12,1.12,5.45,5.33],\"geometry\":{\"coordinates\":[[[1.12,1.34]"
|
||||||
",[5.45,1.12],[5.34,5.33],[1.56,5.2],[1.12,1.34]],[[2,2],[3,2],[3,3],[2,3],[2,2]]],"
|
",[5.45,1.12],[5.34,5.33],[1.56,5.2],[1.12,1.34]],[[2,2],[3,2],[3,3],[2,3],[2,2]]],"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user