24 #include "qgis_core.h" 70 static QgsGeometry geometryFromGML(
const QString &xmlString );
75 static QgsGeometry geometryFromGML(
const QDomNode &geometryNode );
78 static QgsRectangle rectangleFromGMLBox(
const QDomNode &boxNode );
81 static QgsRectangle rectangleFromGMLEnvelope(
const QDomNode &envelopeNode );
88 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
90 const QString &srsName,
91 bool invertAxisOrientation,
92 const QString &gmlIdBase,
99 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
const QString &format,
int precision = 17 );
105 static QDomElement geometryToGML(
const QgsGeometry &geometry, QDomDocument &doc,
int precision = 17 );
111 static QDomElement rectangleToGMLBox(
QgsRectangle *box, QDomDocument &doc,
int precision = 17 );
118 static QDomElement rectangleToGMLBox(
QgsRectangle *box, QDomDocument &doc,
119 const QString &srsName,
120 bool invertAxisOrientation,
121 int precision = 17 );
127 static QDomElement rectangleToGMLEnvelope(
QgsRectangle *env, QDomDocument &doc,
int precision = 17 );
134 static QDomElement rectangleToGMLEnvelope(
QgsRectangle *env, QDomDocument &doc,
135 const QString &srsName,
136 bool invertAxisOrientation,
137 int precision = 17 );
141 static QColor colorFromOgcFill(
const QDomElement &fillElement );
152 static QDomElement expressionToOgcFilter( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
172 static QDomElement expressionToOgcFilter(
const QgsExpression &exp,
176 const QString &geometryName,
177 const QString &srsName,
178 bool honourAxisOrientation,
179 bool invertAxisOrientation,
180 QString *errorMessage =
nullptr )
SIP_SKIP;
187 static QDomElement expressionToOgcExpression( const
QgsExpression &exp, QDomDocument &doc, QString *errorMessage =
nullptr );
194 static QDomElement expressionToOgcExpression( const
QgsExpression &exp,
198 const QString &geometryName,
199 const QString &srsName,
200 bool honourAxisOrientation,
201 bool invertAxisOrientation,
202 QString *errorMessage =
nullptr );
245 static QDomElement SQLStatementToOgcFilter(
const QgsSQLStatement &statement,
249 const QList<LayerProperties> &layerProperties,
250 bool honourAxisOrientation,
251 bool invertAxisOrientation,
252 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename,
253 QString *errorMessage =
nullptr )
SIP_SKIP;
258 static
QgsGeometry geometryFromGMLPoint( const QDomElement &geometryElement );
260 static
QgsGeometry geometryFromGMLLineString( const QDomElement &geometryElement );
262 static
QgsGeometry geometryFromGMLPolygon( const QDomElement &geometryElement );
264 static
QgsGeometry geometryFromGMLMultiPoint( const QDomElement &geometryElement );
266 static
QgsGeometry geometryFromGMLMultiLineString( const QDomElement &geometryElement );
268 static
QgsGeometry geometryFromGMLMultiPolygon( const QDomElement &geometryElement );
275 static
bool readGMLCoordinates(
QgsPolylineXY &coords, const QDomElement &elem );
284 static
bool readGMLPositions(
QgsPolylineXY &coords, const QDomElement &elem );
292 static QDomElement createGMLCoordinates( const
QgsPolylineXY &points, QDomDocument &doc );
299 static QDomElement createGMLPositions( const
QgsPolylineXY &points, QDomDocument &doc );
316 static
QgsExpressionNode *nodeIsBetweenFromOgcFilter( QDomElement &element, QString &errorMessage );
335 const QString &geometryName,
336 const QString &srsName,
337 bool honourAxisOrientation,
338 bool invertAxisOrientation );
354 const QString &mGeometryName;
355 const QString &mSrsName;
356 bool mInvertAxisOrientation;
357 QString mErrorMessage;
358 QString mFilterPrefix;
359 QString mPropertyName;
382 const QList<QgsOgcUtils::LayerProperties> &layerProperties,
383 bool honourAxisOrientation,
384 bool invertAxisOrientation,
385 const QMap< QString, QString> &mapUnprefixedTypenameToPrefixedTypename );
401 const QList<QgsOgcUtils::LayerProperties> &mLayerProperties;
402 bool mHonourAxisOrientation;
403 bool mInvertAxisOrientation;
404 QString mErrorMessage;
405 QString mFilterPrefix;
406 QString mPropertyName;
408 QString mCurrentSRSName;
409 QMap<QString, QString> mMapTableAliasToNames;
410 const QMap< QString, QString> &mMapUnprefixedTypenameToPrefixedTypename;
425 QList<QgsSQLStatement::Node *> args,
426 bool lastArgIsSRSName,
428 bool &axisInversion );
430 #endif // #ifndef SIP_RUN 432 #endif // QGSOGCUTILS_H Class for parsing and evaluation of expressions (formerly called "search strings").
A rectangle specified with double values.
Internal use by QgsOgcUtils.
Function with a name and arguments node.
A class to represent a 2D point.
QString errorMessage() const
Returns the error message.
bool GMLNamespaceUsed() const
Returns whether the gml: namespace is used.
A geometry is the spatial representation of a feature.
Binary logical/arithmetical operator (AND, OR, =, +, ...)
bool GMLNamespaceUsed() const
Returns whether the gml: namespace is used.
Class for parsing SQL statements.
An expression node for value IN or NOT IN clauses.
Literal value (integer, integer64, double, string)
QString errorMessage() const
Returns the error message.
Internal use by QgsOgcUtils.
An expression node which takes it value from a feature's field.
Unary logicial/arithmetical operator ( NOT, - )
QString mSRSName
SRS name.
Abstract base class for all nodes that can appear in an expression.
An expression node for expression functions.
FilterVersion
OGC filter version.
'X BETWEEN y and z' operator
QVector< QgsPointXY > QgsPolylineXY
Polyline as represented as a vector of two-dimensional points.
An expression node for literal values.
A unary node is either negative as in boolean (not) or as in numbers (minus).
A binary expression operator, which operates on two values.
QString mGeometryAttribute
Geometry attribute name.
Represents a vector layer which manages a vector based data sets.
'x IN (y, z)' operator
The QgsOgcUtils class provides various utility functions for conversion between OGC (Open Geospatial ...