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;
315 static
QgsGeometry geometryFromGMLPoint( const QDomElement &geometryElement );
317 static
QgsGeometry geometryFromGMLLineString( const QDomElement &geometryElement );
319 static
QgsGeometry geometryFromGMLPolygon( const QDomElement &geometryElement );
321 static
QgsGeometry geometryFromGMLMultiPoint( const QDomElement &geometryElement );
323 static
QgsGeometry geometryFromGMLMultiLineString( const QDomElement &geometryElement );
325 static
QgsGeometry geometryFromGMLMultiCurve( const QDomElement &geometryElement );
327 static
QgsGeometry geometryFromGMLMultiPolygon( const QDomElement &geometryElement );
329 static
QgsGeometry geometryFromGMLUsingGdal( const QDomElement &geometryElement );
335 static QDomElement filterElement(
347 static
bool readGMLCoordinates(
QgsPolyline &coords, const QDomElement &elem );
357 static
bool readGMLPositions(
QgsPolyline &coords, const QDomElement &elem );
365 static QDomElement createGMLCoordinates( const
QgsPolylineXY &points, QDomDocument &doc );
373 static QDomElement createGMLPositions( const
QgsPolylineXY &points, QDomDocument &doc );
390 static
QgsExpressionNode *nodeIsBetweenFromOgcFilter( QDomElement &element, QString &errorMessage );
411 const QString &namespacePrefix,
412 const QString &namespaceURI,
413 const QString &geometryName,
414 const QString &srsName,
415 bool honourAxisOrientation,
416 bool invertAxisOrientation,
417 const QMap<QString, QString> &fieldNameToXPathMap,
418 const QMap<QString, QString> &namespacePrefixToUriMap
432 bool mGMLUsed =
false;
435 QString mNamespacePrefix;
436 QString mNamespaceURI;
437 QString mGeometryName;
439 bool mInvertAxisOrientation;
440 QMap<QString, QString> mFieldNameToXPathMap;
441 QMap<QString, QString> mNamespacePrefixToUriMap;
442 QString mErrorMessage;
443 QString mFilterPrefix;
444 QString mPropertyName;
537 QString mErrorMessage;
538 QString mPropertyName;
554 const QList<QgsOgcUtils::LayerProperties> &layerProperties,
555 bool honourAxisOrientation,
556 bool invertAxisOrientation,
557 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename,
558 const QMap<QString, QString> &fieldNameToXPathMap,
559 const QMap<QString, QString> &namespacePrefixToUriMap );
572 bool mGMLUsed =
false;
575 const QList<QgsOgcUtils::LayerProperties> &mLayerProperties;
576 bool mHonourAxisOrientation;
577 bool mInvertAxisOrientation;
578 QString mErrorMessage;
579 QString mFilterPrefix;
580 QString mPropertyName;
582 QString mCurrentSRSName;
583 QMap<QString, QString> mMapTableAliasToNames;
584 const QMap< QString, QString> &mMapUnprefixedTypenameToPrefixedTypename;
585 const QMap<QString, QString> &mFieldNameToXPathMap;
586 const QMap<QString, QString> &mNamespacePrefixToUriMap;
601 QList<QgsSQLStatement::Node *> args,
602 bool lastArgIsSRSName,
604 bool &axisInversion );
637 static CRSFlavor parseCrsName(
const QString &crsName, QString &authority, QString &code );
Provides global constants and enumerations for use throughout the application.
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.
static Qgis::WkbType geomTypeFromPropertyType(const QString &gmlGeomType)
Returns the Qgis::WkbType corresponding to a GML geometry type.
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