|
Quantum GIS API Documentation
master-693a1fe
|
The QgsOgcUtils class provides various utility functions for conversion between OGC (Open Geospatial Consortium) standards and QGIS internal representations. More...
#include <qgsogcutils.h>
Static Public Member Functions | |
| static QgsExpression * | expressionFromOgcFilter (const QDomElement &element) |
| Parse XML with OGC filter into QGIS expression. | |
| static QDomElement | expressionToOgcFilter (const QgsExpression &exp, QDomDocument &doc, QString *errorMessage=0) |
| Creates OGC filter XML element. | |
| static QgsGeometry * | geometryFromGML (const QString &xmlString) |
| static method that creates geometry from GML | |
| static QgsGeometry * | geometryFromGML (const QDomNode &geometryNode) |
| static method that creates geometry from GML | |
| static QDomElement | geometryToGML (QgsGeometry *geometry, QDomDocument &doc, QString format) |
| Exports the geometry to GML2 or GML3. | |
| static QDomElement | geometryToGML (QgsGeometry *geometry, QDomDocument &doc) |
| Exports the geometry to GML2. | |
| static QgsRectangle | rectangleFromGMLBox (const QDomNode &boxNode) |
| read rectangle from GML2 Box | |
| static QgsRectangle | rectangleFromGMLEnvelope (const QDomNode &envelopeNode) |
| read rectangle from GML3 Envelope | |
| static QDomElement | rectangleToGMLBox (QgsRectangle *box, QDomDocument &doc) |
| Exports the rectangle to GML2 Box. | |
| static QDomElement | rectangleToGMLEnvelope (QgsRectangle *env, QDomDocument &doc) |
| Exports the rectangle to GML2 Envelope. | |
Static Private Member Functions | |
| static QDomElement | createGMLCoordinates (const QVector< QgsPoint > points, QDomDocument &doc) |
| Create a GML coordinates element from a point list. | |
| static QDomElement | createGMLPositions (const QVector< QgsPoint > points, QDomDocument &doc) |
| Create a GML pos or posList element from a point list. | |
| static QDomElement | expressionBinaryOperatorToOgcFilter (const QgsExpression::NodeBinaryOperator *node, QDomDocument &doc, QString &errorMessage) |
| static QDomElement | expressionColumnRefToOgcFilter (const QgsExpression::NodeColumnRef *node, QDomDocument &doc, QString &errorMessage) |
| static QDomElement | expressionFunctionToOgcFilter (const QgsExpression::NodeFunction *node, QDomDocument &doc, QString &errorMessage) |
| static QDomElement | expressionInOperatorToOgcFilter (const QgsExpression::NodeInOperator *node, QDomDocument &doc, QString &errorMessage) |
| static QDomElement | expressionLiteralToOgcFilter (const QgsExpression::NodeLiteral *node, QDomDocument &doc, QString &errorMessage) |
| static QDomElement | expressionNodeToOgcFilter (const QgsExpression::Node *node, QDomDocument &doc, QString &errorMessage) |
| static QDomElement | expressionUnaryOperatorToOgcFilter (const QgsExpression::NodeUnaryOperator *node, QDomDocument &doc, QString &errorMessage) |
| static QgsGeometry * | geometryFromGMLLineString (const QDomElement &geometryElement) |
| static method that creates geometry from GML LineString | |
| static QgsGeometry * | geometryFromGMLMultiLineString (const QDomElement &geometryElement) |
| static method that creates geometry from GML MultiLineString | |
| static QgsGeometry * | geometryFromGMLMultiPoint (const QDomElement &geometryElement) |
| static method that creates geometry from GML MultiPoint | |
| static QgsGeometry * | geometryFromGMLMultiPolygon (const QDomElement &geometryElement) |
| static method that creates geometry from GML MultiPolygon | |
| static QgsGeometry * | geometryFromGMLPoint (const QDomElement &geometryElement) |
| static method that creates geometry from GML Point | |
| static QgsGeometry * | geometryFromGMLPolygon (const QDomElement &geometryElement) |
| static method that creates geometry from GML Polygon | |
| static QgsExpression::NodeBinaryOperator * | nodeBinaryOperatorFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handle a generic binary operator | |
| static QgsExpression::NodeColumnRef * | nodeColumnRefFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handles | |
| static QgsExpression::Node * | nodeFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handle a generic sub-expression | |
| static QgsExpression::NodeFunction * | nodeFunctionFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handles | |
| static QgsExpression::Node * | nodeIsBetweenFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handles | |
| static QgsExpression::Node * | nodeLiteralFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handles | |
| static QgsExpression::NodeUnaryOperator * | nodeNotFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handle | |
| static QgsExpression::NodeBinaryOperator * | nodePropertyIsNullFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handles | |
| static QgsExpression::NodeFunction * | nodeSpatialOperatorFromOgcFilter (QDomElement &element, QString &errorMessage) |
| handles various spatial operation tags ( | |
| static bool | readGMLCoordinates (std::list< QgsPoint > &coords, const QDomElement elem) |
| Reads the. | |
| static bool | readGMLPositions (std::list< QgsPoint > &coords, const QDomElement elem) |
| Reads the. | |
The QgsOgcUtils class provides various utility functions for conversion between OGC (Open Geospatial Consortium) standards and QGIS internal representations.
Currently supported standards:
Definition at line 28 of file qgsogcutils.h.
| QDomElement QgsOgcUtils::createGMLCoordinates | ( | const QVector< QgsPoint > | points, |
| QDomDocument & | doc | ||
| ) | [static, private] |
Create a GML coordinates element from a point list.
| points | list of data points |
| doc | the GML document |
Definition at line 1365 of file qgsogcutils.cpp.
| QDomElement QgsOgcUtils::createGMLPositions | ( | const QVector< QgsPoint > | points, |
| QDomDocument & | doc | ||
| ) | [static, private] |
Create a GML pos or posList element from a point list.
| points | list of data points |
| doc | the GML document |
Definition at line 1389 of file qgsogcutils.cpp.
| QDomElement QgsOgcUtils::expressionBinaryOperatorToOgcFilter | ( | const QgsExpression::NodeBinaryOperator * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 1917 of file qgsogcutils.cpp.
References QgsExpression::BinaryOperatorText, binaryOperatorToTagName(), QgsExpression::boEQ, QgsExpression::boILike, QgsExpression::boIs, QgsExpression::boIsNot, QgsExpression::boLike, QgsExpression::boNE, expressionNodeToOgcFilter(), QgsExpression::Node::nodeType(), QgsExpression::ntLiteral, QgsExpression::NodeBinaryOperator::op(), QgsExpression::NodeBinaryOperator::opLeft(), QgsExpression::NodeBinaryOperator::opRight(), and QgsExpression::NodeLiteral::value().
Referenced by expressionNodeToOgcFilter().
| QDomElement QgsOgcUtils::expressionColumnRefToOgcFilter | ( | const QgsExpression::NodeColumnRef * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 2012 of file qgsogcutils.cpp.
References QgsExpression::NodeColumnRef::name().
Referenced by expressionNodeToOgcFilter().
| QgsExpression * QgsOgcUtils::expressionFromOgcFilter | ( | const QDomElement & | element | ) | [static] |
Parse XML with OGC filter into QGIS expression.
Definition at line 1419 of file qgsogcutils.cpp.
References QgsExpression::boConcat, QgsExpression::mParserErrorString, QgsExpression::mRootNode, and nodeFromOgcFilter().
Referenced by QgsRuleBasedRendererV2::Rule::createFromSld(), and QgsSymbolLayerV2Utils::functionFromSldElement().
| QDomElement QgsOgcUtils::expressionFunctionToOgcFilter | ( | const QgsExpression::NodeFunction * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 2081 of file qgsogcutils.cpp.
References QgsExpression::NodeFunction::args(), expressionNodeToOgcFilter(), QgsExpression::NodeFunction::fnIndex(), QgsGeometry::fromWkt(), QgsExpression::Functions(), geometryToGML(), isBinarySpatialOperator(), isGeometryColumn(), QgsExpression::NodeList::list(), QgsExpression::Function::name(), QgsExpression::Node::nodeType(), QgsExpression::ntFunction, QgsExpression::ntLiteral, QgsExpression::Function::params(), and tagNameForSpatialOperator().
Referenced by expressionNodeToOgcFilter().
| QDomElement QgsOgcUtils::expressionInOperatorToOgcFilter | ( | const QgsExpression::NodeInOperator * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 2021 of file qgsogcutils.cpp.
References expressionNodeToOgcFilter(), QgsExpression::NodeList::list(), QgsExpression::NodeInOperator::list(), and QgsExpression::NodeInOperator::node().
Referenced by expressionNodeToOgcFilter().
| QDomElement QgsOgcUtils::expressionLiteralToOgcFilter | ( | const QgsExpression::NodeLiteral * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 1986 of file qgsogcutils.cpp.
References QgsExpression::NodeLiteral::value().
Referenced by expressionNodeToOgcFilter().
| QDomElement QgsOgcUtils::expressionNodeToOgcFilter | ( | const QgsExpression::Node * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 1866 of file qgsogcutils.cpp.
References expressionBinaryOperatorToOgcFilter(), expressionColumnRefToOgcFilter(), expressionFunctionToOgcFilter(), expressionInOperatorToOgcFilter(), expressionLiteralToOgcFilter(), expressionUnaryOperatorToOgcFilter(), QgsExpression::Node::nodeType(), QgsExpression::ntBinaryOperator, QgsExpression::ntColumnRef, QgsExpression::ntFunction, QgsExpression::ntInOperator, QgsExpression::ntLiteral, and QgsExpression::ntUnaryOperator.
Referenced by expressionBinaryOperatorToOgcFilter(), expressionFunctionToOgcFilter(), expressionInOperatorToOgcFilter(), expressionToOgcFilter(), and expressionUnaryOperatorToOgcFilter().
| QDomElement QgsOgcUtils::expressionToOgcFilter | ( | const QgsExpression & | exp, |
| QDomDocument & | doc, | ||
| QString * | errorMessage = 0 |
||
| ) | [static] |
Creates OGC filter XML element.
Supports minimum standard filter according to the OGC filter specs (=,!=,<,>,<=,>=,AND,OR,NOT)
<Filter>
Definition at line 1847 of file qgsogcutils.cpp.
References expressionNodeToOgcFilter(), and QgsExpression::rootNode().
Referenced by QgsSymbolLayerV2Utils::createFunctionElement().
| QDomElement QgsOgcUtils::expressionUnaryOperatorToOgcFilter | ( | const QgsExpression::NodeUnaryOperator * | node, |
| QDomDocument & | doc, | ||
| QString & | errorMessage | ||
| ) | [static, private] |
Definition at line 1890 of file qgsogcutils.cpp.
References expressionNodeToOgcFilter(), QgsExpression::NodeUnaryOperator::op(), QgsExpression::NodeUnaryOperator::operand(), QgsExpression::UnaryOperatorText, QgsExpression::uoMinus, and QgsExpression::uoNot.
Referenced by expressionNodeToOgcFilter().
| QgsGeometry * QgsOgcUtils::geometryFromGML | ( | const QString & | xmlString | ) | [static] |
static method that creates geometry from GML
| xmlString | xml representation of the geometry. GML elements are expected to be in default namespace ( {<Point>...</Point> <gml:Point>...</gml:Point> |
Definition at line 75 of file qgsogcutils.cpp.
References GML_NAMESPACE.
Referenced by fcnGeomFromGML().
| QgsGeometry * QgsOgcUtils::geometryFromGML | ( | const QDomNode & | geometryNode | ) | [static] |
static method that creates geometry from GML
Definition at line 18 of file qgsogcutils.cpp.
References QgsGeometry::fromRect(), geometryFromGMLLineString(), geometryFromGMLMultiLineString(), geometryFromGMLMultiPoint(), geometryFromGMLMultiPolygon(), geometryFromGMLPoint(), geometryFromGMLPolygon(), rectangleFromGMLBox(), and rectangleFromGMLEnvelope().
| QgsGeometry * QgsOgcUtils::geometryFromGMLLineString | ( | const QDomElement & | geometryElement | ) | [static, private] |
static method that creates geometry from GML LineString
Definition at line 143 of file qgsogcutils.cpp.
References QgsGeometry::fromWkb(), GML_NAMESPACE, readGMLCoordinates(), readGMLPositions(), size, and QGis::WKBLineString.
Referenced by geometryFromGML().
| QgsGeometry * QgsOgcUtils::geometryFromGMLMultiLineString | ( | const QDomElement & | geometryElement | ) | [static, private] |
static method that creates geometry from GML MultiLineString
Definition at line 430 of file qgsogcutils.cpp.
References QgsGeometry::fromWkb(), GML_NAMESPACE, readGMLCoordinates(), readGMLPositions(), size, and QGis::WKBMultiLineString.
Referenced by geometryFromGML().
| QgsGeometry * QgsOgcUtils::geometryFromGMLMultiPoint | ( | const QDomElement & | geometryElement | ) | [static, private] |
static method that creates geometry from GML MultiPoint
Definition at line 332 of file qgsogcutils.cpp.
References QgsGeometry::fromWkb(), GML_NAMESPACE, readGMLCoordinates(), readGMLPositions(), size, and QGis::WKBMultiPoint.
Referenced by geometryFromGML().
| QgsGeometry * QgsOgcUtils::geometryFromGMLMultiPolygon | ( | const QDomElement & | geometryElement | ) | [static, private] |
static method that creates geometry from GML MultiPolygon
Definition at line 578 of file qgsogcutils.cpp.
References QgsGeometry::fromWkb(), GML_NAMESPACE, readGMLCoordinates(), readGMLPositions(), size, QGis::WKBMultiPolygon, and QGis::WKBPolygon.
Referenced by geometryFromGML().
| QgsGeometry * QgsOgcUtils::geometryFromGMLPoint | ( | const QDomElement & | geometryElement | ) | [static, private] |
static method that creates geometry from GML Point
Definition at line 87 of file qgsogcutils.cpp.
References QgsGeometry::fromWkb(), GML_NAMESPACE, readGMLCoordinates(), readGMLPositions(), size, and QGis::WKBPoint.
Referenced by geometryFromGML().
| QgsGeometry * QgsOgcUtils::geometryFromGMLPolygon | ( | const QDomElement & | geometryElement | ) | [static, private] |
static method that creates geometry from GML Polygon
Definition at line 205 of file qgsogcutils.cpp.
References QgsGeometry::fromWkb(), GML_NAMESPACE, readGMLCoordinates(), readGMLPositions(), size, and QGis::WKBPolygon.
Referenced by geometryFromGML().
| QDomElement QgsOgcUtils::geometryToGML | ( | QgsGeometry * | geometry, |
| QDomDocument & | doc, | ||
| QString | format | ||
| ) | [static] |
Exports the geometry to GML2 or GML3.
Definition at line 1051 of file qgsogcutils.cpp.
References QgsGeometry::asWkb(), QGis::WKBLineString, QGis::WKBLineString25D, QGis::WKBMultiLineString, QGis::WKBMultiLineString25D, QGis::WKBMultiPoint, QGis::WKBMultiPoint25D, QGis::WKBMultiPolygon, QGis::WKBMultiPolygon25D, QGis::WKBPoint, QGis::WKBPoint25D, QGis::WKBPolygon, QGis::WKBPolygon25D, and QgsGeometry::wkbType().
Referenced by expressionFunctionToOgcFilter(), and geometryToGML().
| QDomElement QgsOgcUtils::geometryToGML | ( | QgsGeometry * | geometry, |
| QDomDocument & | doc | ||
| ) | [static] |
Exports the geometry to GML2.
Definition at line 1360 of file qgsogcutils.cpp.
References geometryToGML().
| QgsExpression::NodeBinaryOperator * QgsOgcUtils::nodeBinaryOperatorFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handle a generic binary operator
Definition at line 1561 of file qgsogcutils.cpp.
References binaryOperatorFromTagName(), and nodeFromOgcFilter().
Referenced by nodeFromOgcFilter().
| QgsExpression::NodeColumnRef * QgsOgcUtils::nodeColumnRefFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handles
<PropertyName>
tag
Definition at line 1756 of file qgsogcutils.cpp.
Referenced by nodeFromOgcFilter().
| QgsExpression::Node * QgsOgcUtils::nodeFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handle a generic sub-expression
Definition at line 1511 of file qgsogcutils.cpp.
References isBinaryOperator(), isSpatialOperator(), nodeBinaryOperatorFromOgcFilter(), nodeColumnRefFromOgcFilter(), nodeFunctionFromOgcFilter(), nodeIsBetweenFromOgcFilter(), nodeLiteralFromOgcFilter(), nodeNotFromOgcFilter(), nodePropertyIsNullFromOgcFilter(), and nodeSpatialOperatorFromOgcFilter().
Referenced by expressionFromOgcFilter(), nodeBinaryOperatorFromOgcFilter(), nodeFunctionFromOgcFilter(), nodeIsBetweenFromOgcFilter(), nodeLiteralFromOgcFilter(), nodeNotFromOgcFilter(), and nodePropertyIsNullFromOgcFilter().
| QgsExpression::NodeFunction * QgsOgcUtils::nodeFunctionFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handles
<Function>
tag
Definition at line 1650 of file qgsogcutils.cpp.
References QgsExpression::NodeList::append(), QgsExpression::Functions(), QgsExpression::Function::name(), and nodeFromOgcFilter().
Referenced by nodeFromOgcFilter().
| QgsExpression::Node * QgsOgcUtils::nodeIsBetweenFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handles
<PropertyIsBetween>
tag
Definition at line 1768 of file qgsogcutils.cpp.
References QgsExpression::boAnd, QgsExpression::boGE, QgsExpression::boLE, and nodeFromOgcFilter().
Referenced by nodeFromOgcFilter().
| QgsExpression::Node * QgsOgcUtils::nodeLiteralFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handles
<Literal>
tag
Definition at line 1689 of file qgsogcutils.cpp.
References QgsExpression::boConcat, and nodeFromOgcFilter().
Referenced by nodeFromOgcFilter().
| QgsExpression::NodeUnaryOperator * QgsOgcUtils::nodeNotFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handle
<Not>
tag
Definition at line 1632 of file qgsogcutils.cpp.
References nodeFromOgcFilter(), and QgsExpression::uoNot.
Referenced by nodeFromOgcFilter().
| QgsExpression::NodeBinaryOperator * QgsOgcUtils::nodePropertyIsNullFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handles
<PropertyIsNull>
tag
Definition at line 1824 of file qgsogcutils.cpp.
References QgsExpression::boIs, and nodeFromOgcFilter().
Referenced by nodeFromOgcFilter().
| QgsExpression::NodeFunction * QgsOgcUtils::nodeSpatialOperatorFromOgcFilter | ( | QDomElement & | element, |
| QString & | errorMessage | ||
| ) | [static, private] |
handles various spatial operation tags (
<Intersects>
,
<Touches>
etc.)
Definition at line 1597 of file qgsogcutils.cpp.
References QgsExpression::NodeList::append(), and QgsExpression::functionIndex().
Referenced by nodeFromOgcFilter().
| bool QgsOgcUtils::readGMLCoordinates | ( | std::list< QgsPoint > & | coords, |
| const QDomElement | elem | ||
| ) | [static, private] |
Reads the.
<gml:coordinates>
element and extracts the coordinates as points
| coords | list where the found coordinates are appended |
| elem | the <gml:coordinates> |
Definition at line 783 of file qgsogcutils.cpp.
Referenced by geometryFromGMLLineString(), geometryFromGMLMultiLineString(), geometryFromGMLMultiPoint(), geometryFromGMLMultiPolygon(), geometryFromGMLPoint(), and geometryFromGMLPolygon().
| bool QgsOgcUtils::readGMLPositions | ( | std::list< QgsPoint > & | coords, |
| const QDomElement | elem | ||
| ) | [static, private] |
Reads the.
<gml:pos>
or
<gml:posList>
and extracts the coordinates as points
| coords | list where the found coordinates are appended |
| elem | the <gml:pos> <gml:posList> |
Definition at line 864 of file qgsogcutils.cpp.
Referenced by geometryFromGMLLineString(), geometryFromGMLMultiLineString(), geometryFromGMLMultiPoint(), geometryFromGMLMultiPolygon(), geometryFromGMLPoint(), and geometryFromGMLPolygon().
| QgsRectangle QgsOgcUtils::rectangleFromGMLBox | ( | const QDomNode & | boxNode | ) | [static] |
read rectangle from GML2 Box
Definition at line 828 of file qgsogcutils.cpp.
References QgsRectangle::normalize().
Referenced by geometryFromGML().
| QgsRectangle QgsOgcUtils::rectangleFromGMLEnvelope | ( | const QDomNode & | envelopeNode | ) | [static] |
read rectangle from GML3 Envelope
Definition at line 915 of file qgsogcutils.cpp.
References GML_NAMESPACE, and QgsRectangle::normalize().
Referenced by geometryFromGML().
| QDomElement QgsOgcUtils::rectangleToGMLBox | ( | QgsRectangle * | box, |
| QDomDocument & | doc | ||
| ) | [static] |
Exports the rectangle to GML2 Box.
Definition at line 994 of file qgsogcutils.cpp.
References QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
| QDomElement QgsOgcUtils::rectangleToGMLEnvelope | ( | QgsRectangle * | env, |
| QDomDocument & | doc | ||
| ) | [static] |
Exports the rectangle to GML2 Envelope.
Definition at line 1022 of file qgsogcutils.cpp.
References QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().