103 static QgsRectangle rectangleFromGMLBox(
const QDomNode &boxNode );
106 static QgsRectangle rectangleFromGMLEnvelope(
const QDomNode &envelopeNode );
112 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
114 const QString &srsName,
115 bool invertAxisOrientation,
116 const QString &gmlIdBase,
117 int precision = 17 );
123 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
const QString &format,
int precision = 17 );
129 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
int precision = 17 );
135 static QDomElement rectangleToGMLBox(
const QgsRectangle *box, QDomDocument &doc,
int precision = 17 );
141 static QDomElement rectangleToGMLBox(
const QgsRectangle *box, QDomDocument &doc,
142 const QString &srsName,
143 bool invertAxisOrientation,
144 int precision = 17 );
150 static QDomElement rectangleToGMLEnvelope(
const QgsRectangle *env, QDomDocument &doc,
int precision = 17 );
156 static QDomElement rectangleToGMLEnvelope(
const QgsRectangle *env, QDomDocument &doc,
157 const QString &srsName,
158 bool invertAxisOrientation,
159 int precision = 17 );
163 static QColor colorFromOgcFill(
const QDomElement &fillElement );
174 static QDomElement expressionToOgcFilter( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
202 static QDomElement expressionToOgcFilter( const
QgsExpression &exp,
205 FilterVersion filterVersion,
206 const QString &namespacePrefix,
207 const QString &namespaceURI,
208 const QString &geometryName,
209 const QString &srsName,
210 bool honourAxisOrientation,
211 bool invertAxisOrientation,
212 QString *errorMessage =
nullptr,
213 const QMap<QString, QString> &fieldNameToXPathMap = QMap<QString, QString>(),
214 const QMap<QString, QString> &namespacePrefixToUriMap = QMap<QString, QString>() )
SIP_SKIP;
222 static QDomElement expressionToOgcExpression( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr,
223 bool requiresFilterElement = false );
230 static QDomElement elseFilterExpression( QDomDocument &doc );
237 static QDomElement expressionToOgcExpression( const
QgsExpression &exp,
240 FilterVersion filterVersion,
241 const QString &geometryName,
242 const QString &srsName,
243 bool honourAxisOrientation,
244 bool invertAxisOrientation,
245 QString *errorMessage =
nullptr,
246 bool requiresFilterElement = false,
247 const QMap<QString, QString> &fieldNameToXPathMap = QMap<QString, QString>(),
248 const QMap<QString, QString> &namespacePrefixToUriMap = QMap<QString, QString>() );
296 const QList<LayerProperties> &layerProperties,
297 bool honourAxisOrientation,
298 bool invertAxisOrientation,
299 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename,
300 QString *errorMessage =
nullptr,
301 const QMap<QString, QString> &fieldNameToXPathMap = QMap<QString, QString>(),
302 const QMap<QString, QString> &namespacePrefixToUriMap = QMap<QString, QString>() )
SIP_SKIP;
307 static
QgsGeometry geometryFromGMLPoint( const QDomElement &geometryElement );
309 static
QgsGeometry geometryFromGMLLineString( const QDomElement &geometryElement );
311 static
QgsGeometry geometryFromGMLPolygon( const QDomElement &geometryElement );
313 static
QgsGeometry geometryFromGMLMultiPoint( const QDomElement &geometryElement );
315 static
QgsGeometry geometryFromGMLMultiLineString( const QDomElement &geometryElement );
317 static
QgsGeometry geometryFromGMLMultiCurve( const QDomElement &geometryElement );
319 static
QgsGeometry geometryFromGMLMultiPolygon( const QDomElement &geometryElement );
321 static
QgsGeometry geometryFromGMLUsingGdal( const QDomElement &geometryElement );
327 static QDomElement filterElement(
339 static
bool readGMLCoordinates(
QgsPolyline &coords, const QDomElement &elem );
349 static
bool readGMLPositions(
QgsPolyline &coords, const QDomElement &elem );
357 static QDomElement createGMLCoordinates( const
QgsPolylineXY &points, QDomDocument &doc );
365 static QDomElement createGMLPositions( const
QgsPolylineXY &points, QDomDocument &doc );
382 static
QgsExpressionNode *nodeIsBetweenFromOgcFilter( QDomElement &element, QString &errorMessage );
403 const QString &namespacePrefix,
404 const QString &namespaceURI,
405 const QString &geometryName,
406 const QString &srsName,
407 bool honourAxisOrientation,
408 bool invertAxisOrientation,
409 const QMap<QString, QString> &fieldNameToXPathMap,
410 const QMap<QString, QString> &namespacePrefixToUriMap
427 QString mNamespacePrefix;
428 QString mNamespaceURI;
429 QString mGeometryName;
431 bool mInvertAxisOrientation;
432 QMap<QString, QString> mFieldNameToXPathMap;
433 QMap<QString, QString> mNamespacePrefixToUriMap;
434 QString mErrorMessage;
435 QString mFilterPrefix;
436 QString mPropertyName;
529 QString mErrorMessage;
530 QString mPropertyName;
546 const QList<QgsOgcUtils::LayerProperties> &layerProperties,
547 bool honourAxisOrientation,
548 bool invertAxisOrientation,
549 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename,
550 const QMap<QString, QString> &fieldNameToXPathMap,
551 const QMap<QString, QString> &namespacePrefixToUriMap );
567 const QList<QgsOgcUtils::LayerProperties> &mLayerProperties;
568 bool mHonourAxisOrientation;
569 bool mInvertAxisOrientation;
570 QString mErrorMessage;
571 QString mFilterPrefix;
572 QString mPropertyName;
574 QString mCurrentSRSName;
575 QMap<QString, QString> mMapTableAliasToNames;
576 const QMap< QString, QString> &mMapUnprefixedTypenameToPrefixedTypename;
577 const QMap<QString, QString> &mFieldNameToXPathMap;
578 const QMap<QString, QString> &mNamespacePrefixToUriMap;
593 QList<QgsSQLStatement::Node *> args,
594 bool lastArgIsSRSName,
596 bool &axisInversion );
629 static CRSFlavor parseCrsName(
const QString &crsName, QString &authority, QString &code );
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 its 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.
Handles 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.
Utilities related to OGC CRS encodings.
QgsOgcUtilsExprToFilter(QDomDocument &doc, QgsOgcUtils::GMLVersion gmlVersion, QgsOgcUtils::FilterVersion filterVersion, const QString &namespacePrefix, const QString &namespaceURI, const QString &geometryName, const QString &srsName, bool honourAxisOrientation, bool invertAxisOrientation, const QMap< QString, QString > &fieldNameToXPathMap, const QMap< QString, QString > &namespacePrefixToUriMap)
Constructor.
bool GMLNamespaceUsed() const
Returns whether the gml: namespace is used.
QDomElement expressionNodeToOgcFilter(const QgsExpressionNode *node, QgsExpression *expression, const QgsExpressionContext *context)
Convert an expression to a OGC filter.
QString errorMessage() const
Returns the error message.
QgsExpressionNodeFunction * nodeSpatialOperatorFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with spatial operators.
QgsExpressionNodeUnaryOperator * nodeNotFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with Not operator.
QgsExpressionNodeColumnRef * nodeColumnRefFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with column references.
QgsExpressionNode * nodeIsBetweenFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with boundaries operator.
QgsOgcUtilsExpressionFromFilter(QgsOgcUtils::FilterVersion version=QgsOgcUtils::FILTER_OGC_1_0, const QgsVectorLayer *layer=nullptr)
Constructor for QgsOgcUtilsExpressionFromFilter.
QgsExpressionNodeBinaryOperator * nodeBinaryOperatorFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with binary operators.
QgsExpressionNodeFunction * nodeFunctionFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with functions.
QgsExpressionNode * nodeFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document element.
QgsExpressionNodeBinaryOperator * nodePropertyIsNullFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with IsNull operator.
QString errorMessage() const
Returns the underlying error message, or an empty string in case of no error.
QgsExpressionNode * nodeLiteralFromOgcFilter(const QDomElement &element)
Returns an expression node from a WFS filter embedded in a document with literal tag.
QgsOgcUtilsSQLStatementToFilter(QDomDocument &doc, QgsOgcUtils::GMLVersion gmlVersion, QgsOgcUtils::FilterVersion filterVersion, const QList< QgsOgcUtils::LayerProperties > &layerProperties, bool honourAxisOrientation, bool invertAxisOrientation, const QMap< QString, QString > &mapUnprefixedTypenameToPrefixedTypename, const QMap< QString, QString > &fieldNameToXPathMap, const QMap< QString, QString > &namespacePrefixToUriMap)
Constructor.
QDomElement toOgcFilter(const QgsSQLStatement::Node *node)
Convert a SQL statement to a OGC filter.
bool GMLNamespaceUsed() const
Returns whether the gml: namespace is used.
QString errorMessage() const
Returns the error message.
QString mSRSName
SRS name.
LayerProperties()=default
QString mNamespaceURI
Namespace URI.
QString mNamespacePrefix
Namespace prefix.
QString mGeometryAttribute
Geometry attribute name.
Provides various utility functions for conversion between OGC (Open Geospatial Consortium) standards ...
FilterVersion
OGC filter version.
static QDomElement SQLStatementToOgcFilter(const QgsSQLStatement &statement, QDomDocument &doc, QgsOgcUtils::GMLVersion gmlVersion, FilterVersion filterVersion, const QList< LayerProperties > &layerProperties, bool honourAxisOrientation, bool invertAxisOrientation, const QMap< QString, QString > &mapUnprefixedTypenameToPrefixedTypename, QString *errorMessage=nullptr, const QMap< QString, QString > &fieldNameToXPathMap=QMap< QString, QString >(), const QMap< QString, QString > &namespacePrefixToUriMap=QMap< QString, QString >())
Creates OGC filter XML element from the WHERE and JOIN clauses of a SQL statement.
A rectangle specified with double values.
An 'X BETWEEN y and z' operator.
Binary logical/arithmetical operator (AND, OR, =, +, ...).
Function with a name and arguments node.
An 'x IN (y, z)' operator.
Literal value (integer, integer64, double, string).
Unary logical/arithmetical operator ( NOT, - ).
Abstract node class for SQL statement nodes.
Represents a vector layer which manages a vector based dataset.
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
QVector< QgsPointXY > QgsPolylineXY
Polyline as represented as a vector of two-dimensional points.
QgsPointSequence QgsPolyline
Polyline as represented as a vector of points.
The Context struct stores the current layer and coordinate transform context.
const QgsMapLayer * layer
Context(const QgsMapLayer *layer=nullptr, const QgsCoordinateTransformContext &transformContext=QgsCoordinateTransformContext())
Constructs a Context from layer and transformContext.
QgsCoordinateTransformContext transformContext