Class: QgsOgcUtils

Provides various utility functions for conversion between OGC (Open Geospatial Consortium) standards and QGIS internal representations.

Currently supported standards:

  • GML2 - Geography Markup Language (import, export)

Methods

expressionToOgcFilter

Creates OGC filter XML element.

Static Methods

colorFromOgcFill

Parse XML with OGC fill into QColor

elseFilterExpression

Creates an ElseFilter from doc

expressionFromOgcFilter

Parse XML with OGC filter into QGIS expression

expressionToOgcExpression

Creates an OGC expression XML element from the exp expression with default values for the geometry name, srs name, honourAsisOrientation and invertAxisOrientation.

geometryFromGML

Static method that creates geometry from GML

geometryToGML

Exports the geometry to GML

rectangleFromGMLBox

Read rectangle from GML2 Box

rectangleFromGMLEnvelope

Read rectangle from GML3 Envelope

rectangleToGMLBox

Exports the rectangle to GML2 Box

rectangleToGMLEnvelope

Exports the rectangle to GML3 Envelope

Attributes

FILTER_FES_2_0

FILTER_OGC_1_0

FILTER_OGC_1_1

GML_2_1_2

GML_3_1_0

GML_3_2_1

class qgis.core.QgsOgcUtils[source]

Bases: object

class Context

Bases: object

The Context struct stores the current layer and coordinate transform context.

Added in version 3.14.

layer
transformContext
FILTER_FES_2_0 = 2
FILTER_OGC_1_0 = 0
FILTER_OGC_1_1 = 1
class FilterVersion

Bases: int

class GMLVersion

Bases: int

GML_2_1_2 = 0
GML_3_1_0 = 1
GML_3_2_1 = 2
static colorFromOgcFill(fillElement: QDomElement) QColor[source]

Parse XML with OGC fill into QColor

Parameters:

fillElement (QDomElement)

Return type:

QColor

static elseFilterExpression(doc: QDomDocument) QDomElement[source]

Creates an ElseFilter from doc

Return type:

QDomElement

Returns:

valid OGC ElseFilter QDomElement

Added in version 3.28.

Parameters:

doc (QDomDocument)

static expressionFromOgcFilter(element: QDomElement, layer: QgsVectorLayer | None = None) QgsExpression | None[source]

Parse XML with OGC filter into QGIS expression

Parameters:
Return type:

Optional[QgsExpression]

static expressionFromOgcFilter(element: QDomElement, version: QgsOgcUtils.FilterVersion, layer: QgsVectorLayer | None = None) QgsExpression | None[source]

Returns an expression from a WFS filter embedded in a document.

Parameters:
  • element (QDomElement) – The WFS Filter

  • version (QgsOgcUtils.FilterVersion) – The WFS version

  • layer (Optional[QgsVectorLayer] = None) – Layer to use to retrieve field values from literal filters

Added in version 3.4.

Return type:

Optional[QgsExpression]

static expressionToOgcExpression(exp: QgsExpression, doc: QDomDocument, errorMessage: str | None | None = '', requiresFilterElement: bool = False) QDomElement[source]

Creates an OGC expression XML element from the exp expression with default values for the geometry name, srs name, honourAsisOrientation and invertAxisOrientation.

Return type:

QDomElement

Returns:

valid OGC expression QDomElement on success or a valid verbatim <Filter> endverbatim QDomElement when requiresFilterElement is set. otherwise null QDomElement

Parameters:
  • exp (QgsExpression)

  • doc (QDomDocument)

  • errorMessage (Optional[Optional[str]] = '')

  • requiresFilterElement (bool = False)

static expressionToOgcExpression(exp: QgsExpression, doc: QDomDocument, gmlVersion: QgsOgcUtils.GMLVersion, filterVersion: QgsOgcUtils.FilterVersion, geometryName: str | None, srsName: str | None, honourAxisOrientation: bool, invertAxisOrientation: bool, errorMessage: str | None | None = '', requiresFilterElement: bool = False, fieldNameToXPathMap: Dict[str | None, str | None] = {}, namespacePrefixToUriMap: Dict[str | None, str | None] = {}) QDomElement[source]

Creates an OGC expression XML element from the exp expression.

Return type:

QDomElement

Returns:

valid OGC expression QDomElement on success or a valid verbatim <Filter> endverbatim QDomElement when requiresFilterElement is set. otherwise null QDomElement

Parameters:
  • exp (QgsExpression)

  • doc (QDomDocument)

  • gmlVersion (QgsOgcUtils.GMLVersion)

  • filterVersion (QgsOgcUtils.FilterVersion)

  • geometryName (Optional[str])

  • srsName (Optional[str])

  • honourAxisOrientation (bool)

  • invertAxisOrientation (bool)

  • errorMessage (Optional[Optional[str]] = '')

  • requiresFilterElement (bool = False)

  • fieldNameToXPathMap (Dict[Optional[str], Optional[str]] = {})

  • namespacePrefixToUriMap (Dict[Optional[str], Optional[str]] = {})

expressionToOgcFilter(exp: QgsExpression, doc: QDomDocument, errorMessage: str | None | None = '') QDomElement[source]

Creates OGC filter XML element. Supports minimum standard filter according to the OGC filter specs (=,!=,<,>,<=,>=,AND,OR,NOT)

Return type:

QDomElement

Returns:

valid verbatim <Filter> endverbatim QDomElement on success, otherwise null QDomElement

Parameters:
  • exp (QgsExpression)

  • doc (QDomDocument)

  • errorMessage (Optional[Optional[str]] = '')

static geometryFromGML(xmlString: str | None, context: QgsOgcUtils.Context = QgsOgcUtils.Context()) QgsGeometry[source]

Static method that creates geometry from GML

Parameters:
  • xmlString (Optional[str]) – xml representation of the geometry. GML elements are expected to be in default namespace (verbatim {<Point>…</Point> endverbatim) or in “gml” namespace (verbatim <gml:Point>…</gml:Point> endverbatim)

  • context (QgsOgcUtils.Context = QgsOgcUtils.Context()) – QgsOgcUtils context

Return type:

QgsGeometry

static geometryFromGML(geometryNode: QDomNode, context: QgsOgcUtils.Context = QgsOgcUtils.Context()) QgsGeometry[source]

Static method that creates geometry from GML

Parameters:
  • geometryNode (QDomNode)

  • context (QgsOgcUtils.Context = QgsOgcUtils.Context())

Return type:

QgsGeometry

static geometryToGML(geometry: QgsGeometry, doc: QDomDocument, gmlVersion: QgsOgcUtils.GMLVersion, srsName: str | None, invertAxisOrientation: bool, gmlIdBase: str | None, precision: int = 17) QDomElement[source]

Exports the geometry to GML

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • geometry (QgsGeometry)

  • doc (QDomDocument)

  • gmlVersion (QgsOgcUtils.GMLVersion)

  • srsName (Optional[str])

  • invertAxisOrientation (bool)

  • gmlIdBase (Optional[str])

  • precision (int = 17)

static geometryToGML(geometry: QgsGeometry, doc: QDomDocument, format: str | None, precision: int = 17) QDomElement[source]

Exports the geometry to GML2 or GML3

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • geometry (QgsGeometry)

  • doc (QDomDocument)

  • format (Optional[str])

  • precision (int = 17)

static geometryToGML(geometry: QgsGeometry, doc: QDomDocument, precision: int = 17) QDomElement[source]

Exports the geometry to GML2

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • geometry (QgsGeometry)

  • doc (QDomDocument)

  • precision (int = 17)

static rectangleFromGMLBox(boxNode: QDomNode) QgsRectangle[source]

Read rectangle from GML2 Box

Parameters:

boxNode (QDomNode)

Return type:

QgsRectangle

static rectangleFromGMLEnvelope(envelopeNode: QDomNode) QgsRectangle[source]

Read rectangle from GML3 Envelope

Parameters:

envelopeNode (QDomNode)

Return type:

QgsRectangle

static rectangleToGMLBox(box: QgsRectangle | None, doc: QDomDocument, precision: int = 17) QDomElement[source]

Exports the rectangle to GML2 Box

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • box (Optional[QgsRectangle])

  • doc (QDomDocument)

  • precision (int = 17)

static rectangleToGMLBox(box: QgsRectangle | None, doc: QDomDocument, srsName: str | None, invertAxisOrientation: bool, precision: int = 17) QDomElement[source]

Exports the rectangle to GML2 Box

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • box (Optional[QgsRectangle])

  • doc (QDomDocument)

  • srsName (Optional[str])

  • invertAxisOrientation (bool)

  • precision (int = 17)

static rectangleToGMLEnvelope(env: QgsRectangle | None, doc: QDomDocument, precision: int = 17) QDomElement[source]

Exports the rectangle to GML3 Envelope

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • env (Optional[QgsRectangle])

  • doc (QDomDocument)

  • precision (int = 17)

static rectangleToGMLEnvelope(env: QgsRectangle | None, doc: QDomDocument, srsName: str | None, invertAxisOrientation: bool, precision: int = 17) QDomElement[source]

Exports the rectangle to GML3 Envelope

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • env (Optional[QgsRectangle])

  • doc (QDomDocument)

  • srsName (Optional[str])

  • invertAxisOrientation (bool)

  • precision (int = 17)