24 #include "qgis_core.h"
66 , transformContext( transformContext )
98 static QgsRectangle rectangleFromGMLBox(
const QDomNode &boxNode );
101 static QgsRectangle rectangleFromGMLEnvelope(
const QDomNode &envelopeNode );
108 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
110 const QString &srsName,
111 bool invertAxisOrientation,
112 const QString &gmlIdBase,
119 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
const QString &format,
int precision = 17 );
125 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
int precision = 17 );
138 static QDomElement rectangleToGMLBox(
QgsRectangle *box, QDomDocument &doc,
139 const QString &srsName,
140 bool invertAxisOrientation,
147 static QDomElement rectangleToGMLEnvelope(
QgsRectangle *env, QDomDocument &doc,
int precision = 17 );
154 static QDomElement rectangleToGMLEnvelope(
QgsRectangle *env, QDomDocument &doc,
155 const QString &srsName,
156 bool invertAxisOrientation,
161 static QColor colorFromOgcFill(
const QDomElement &fillElement );
172 static QDomElement expressionToOgcFilter( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
201 static QDomElement expressionToOgcFilter( const
QgsExpression &exp,
204 FilterVersion filterVersion,
206 const QString &srsName,
207 bool honourAxisOrientation,
208 bool invertAxisOrientation,
209 QString *errorMessage =
nullptr )
SIP_SKIP;
216 static QDomElement expressionToOgcExpression( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
223 static QDomElement expressionToOgcExpression( const
QgsExpression &exp,
226 FilterVersion filterVersion,
228 const QString &srsName,
229 bool honourAxisOrientation,
230 bool invertAxisOrientation,
231 QString *errorMessage =
nullptr );
274 static QDomElement SQLStatementToOgcFilter(
const QgsSQLStatement &statement,
278 const QList<LayerProperties> &layerProperties,
279 bool honourAxisOrientation,
280 bool invertAxisOrientation,
281 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename,
282 QString *errorMessage =
nullptr )
SIP_SKIP;
287 static
QgsGeometry geometryFromGMLPoint( const QDomElement &geometryElement );
289 static
QgsGeometry geometryFromGMLLineString( const QDomElement &geometryElement );
291 static
QgsGeometry geometryFromGMLPolygon( const QDomElement &geometryElement );
293 static
QgsGeometry geometryFromGMLMultiPoint( const QDomElement &geometryElement );
295 static
QgsGeometry geometryFromGMLMultiLineString( const QDomElement &geometryElement );
297 static
QgsGeometry geometryFromGMLMultiPolygon( const QDomElement &geometryElement );
305 static
bool readGMLCoordinates(
QgsPolylineXY &coords, const QDomElement &elem );
315 static
bool readGMLPositions(
QgsPolylineXY &coords, const QDomElement &elem );
324 static QDomElement createGMLCoordinates( const
QgsPolylineXY &points, QDomDocument &doc );
332 static QDomElement createGMLPositions( const
QgsPolylineXY &points, QDomDocument &doc );
349 static
QgsExpressionNode *nodeIsBetweenFromOgcFilter( QDomElement &element, QString &errorMessage );
369 const QString &srsName,
370 bool honourAxisOrientation,
371 bool invertAxisOrientation );
387 const QString &mGeometryName;
388 const QString &mSrsName;
389 bool mInvertAxisOrientation;
390 QString mErrorMessage;
391 QString mFilterPrefix;
392 QString mPropertyName;
432 QString errorMessage()
const;
485 QString mErrorMessage;
486 QString mPropertyName;
502 const QList<QgsOgcUtils::LayerProperties> &layerProperties,
503 bool honourAxisOrientation,
504 bool invertAxisOrientation,
505 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename );
521 const QList<QgsOgcUtils::LayerProperties> &mLayerProperties;
522 bool mHonourAxisOrientation;
523 bool mInvertAxisOrientation;
524 QString mErrorMessage;
525 QString mFilterPrefix;
526 QString mPropertyName;
528 QString mCurrentSRSName;
529 QMap<QString, QString> mMapTableAliasToNames;
530 const QMap< QString, QString> &mMapUnprefixedTypenameToPrefixedTypename;
545 QList<QgsSQLStatement::Node *> args,
546 bool lastArgIsSRSName,
548 bool &axisInversion );
Contains information about the context in which a coordinate transform is executed.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
A binary expression operator, which operates on two values.
An expression node which takes it value from a feature's field.
An expression node for expression functions.
An expression node for value IN or NOT IN clauses.
An expression node for literal values.
A unary node is either negative as in boolean (not) or as in numbers (minus).
Abstract base class for all nodes that can appear in an expression.
Class for parsing and evaluation of expressions (formerly called "search strings").
A geometry is the spatial representation of a feature.
Base class for all map layer types.
Internal use by QgsOgcUtils.
bool GMLNamespaceUsed() const
Returns whether the gml: namespace is used.
QString errorMessage() const
Returns the error message.
Internal use by QgsOgcUtils.
Internal use by QgsOgcUtils.
bool GMLNamespaceUsed() const
Returns whether the gml: namespace is used.
QString errorMessage() const
Returns the error message.
QString mSRSName
SRS name.
LayerProperties()=default
Constructor.
QString mGeometryAttribute
Geometry attribute name.
The QgsOgcUtils class provides various utility functions for conversion between OGC (Open Geospatial ...
FilterVersion
OGC filter version.
A class to represent a 2D point.
A rectangle specified with double values.
'X BETWEEN y and z' operator
Binary logical/arithmetical operator (AND, OR, =, +, ...)
Function with a name and arguments node.
Literal value (integer, integer64, double, string)
Unary logicial/arithmetical operator ( NOT, - )
Class for parsing SQL statements.
Represents a vector layer which manages a vector based data sets.
QVector< QgsPointXY > QgsPolylineXY
Polyline as represented as a vector of two-dimensional points.
const QString & geometryName
The Context struct stores the current layer and coordinate transform context.
Context(const QgsMapLayer *layer=nullptr, const QgsCoordinateTransformContext &transformContext=QgsCoordinateTransformContext())
Constructs a Context from layer and transformContext.
QgsCoordinateTransformContext transformContext