24 #include "qgis_core.h"
67 , transformContext( transformContext )
99 static QgsRectangle rectangleFromGMLBox(
const QDomNode &boxNode );
102 static QgsRectangle rectangleFromGMLEnvelope(
const QDomNode &envelopeNode );
109 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
112 bool invertAxisOrientation,
113 const QString &gmlIdBase,
120 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
const QString &format,
int precision = 17 );
126 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
int precision = 17 );
139 static QDomElement rectangleToGMLBox(
QgsRectangle *box, QDomDocument &doc,
141 bool invertAxisOrientation,
148 static QDomElement rectangleToGMLEnvelope(
QgsRectangle *env, QDomDocument &doc,
int precision = 17 );
155 static QDomElement rectangleToGMLEnvelope(
QgsRectangle *env, QDomDocument &doc,
157 bool invertAxisOrientation,
162 static QColor colorFromOgcFill(
const QDomElement &fillElement );
173 static QDomElement expressionToOgcFilter( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
202 static QDomElement expressionToOgcFilter( const
QgsExpression &exp,
205 FilterVersion filterVersion,
208 bool honourAxisOrientation,
209 bool invertAxisOrientation,
210 QString *errorMessage =
nullptr )
SIP_SKIP;
217 static QDomElement expressionToOgcExpression( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
224 static QDomElement expressionToOgcExpression( const
QgsExpression &exp,
227 FilterVersion filterVersion,
230 bool honourAxisOrientation,
231 bool invertAxisOrientation,
232 QString *errorMessage =
nullptr );
279 static QDomElement SQLStatementToOgcFilter(
const QgsSQLStatement &statement,
283 const QList<LayerProperties> &layerProperties,
284 bool honourAxisOrientation,
285 bool invertAxisOrientation,
286 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename,
287 QString *errorMessage =
nullptr )
SIP_SKIP;
292 static
QgsGeometry geometryFromGMLPoint( const QDomElement &geometryElement );
294 static
QgsGeometry geometryFromGMLLineString( const QDomElement &geometryElement );
296 static
QgsGeometry geometryFromGMLPolygon( const QDomElement &geometryElement );
298 static
QgsGeometry geometryFromGMLMultiPoint( const QDomElement &geometryElement );
300 static
QgsGeometry geometryFromGMLMultiLineString( const QDomElement &geometryElement );
302 static
QgsGeometry geometryFromGMLMultiPolygon( const QDomElement &geometryElement );
310 static
bool readGMLCoordinates(
QgsPolylineXY &coords, const QDomElement &elem );
320 static
bool readGMLPositions(
QgsPolylineXY &coords, const QDomElement &elem );
329 static QDomElement createGMLCoordinates( const
QgsPolylineXY &points, QDomDocument &doc );
337 static QDomElement createGMLPositions( const
QgsPolylineXY &points, QDomDocument &doc );
354 static
QgsExpressionNode *nodeIsBetweenFromOgcFilter( QDomElement &element, QString &errorMessage );
375 bool honourAxisOrientation,
376 bool invertAxisOrientation );
392 const QString &mGeometryName;
393 const QString &mSrsName;
394 bool mInvertAxisOrientation;
395 QString mErrorMessage;
396 QString mFilterPrefix;
397 QString mPropertyName;
437 QString errorMessage()
const;
490 QString mErrorMessage;
491 QString mPropertyName;
507 const QList<QgsOgcUtils::LayerProperties> &layerProperties,
508 bool honourAxisOrientation,
509 bool invertAxisOrientation,
510 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename );
526 const QList<QgsOgcUtils::LayerProperties> &mLayerProperties;
527 bool mHonourAxisOrientation;
528 bool mInvertAxisOrientation;
529 QString mErrorMessage;
530 QString mFilterPrefix;
531 QString mPropertyName;
533 QString mCurrentSRSName;
534 QMap<QString, QString> mMapTableAliasToNames;
535 const QMap< QString, QString> &mMapUnprefixedTypenameToPrefixedTypename;
550 QList<QgsSQLStatement::Node *> args,
551 bool lastArgIsSRSName,
553 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 mNamespaceURI
Namespace URI.
QString mNamespacePrefix
Namespace prefix.
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