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)

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

expressionFromOgcFilter(element: QDomElement, version: QgsOgcUtils.FilterVersion, layer: Optional[QgsVectorLayer] = None) -> Optional[QgsExpression] Returns an expression from a WFS filter embedded in a document.

Parameters:
  • element (QDomElement) – The WFS Filter

  • version – 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.

Returns:

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

expressionToOgcExpression(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]] = {}) -> QDomElement 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)

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

  • requiresFilterElement (bool = False)

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

geometryFromGML(geometryNode: QDomNode, context: QgsOgcUtils.Context = QgsOgcUtils.Context()) -> QgsGeometry Static method that creates geometry from GML

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

Returns:

QDomElement

geometryToGML(geometry: QgsGeometry, doc: QDomDocument, format: Optional[str], precision: int = 17) -> QDomElement Exports the geometry to GML2 or GML3

Returns:

QDomElement

geometryToGML(geometry: QgsGeometry, doc: QDomDocument, precision: int = 17) -> QDomElement Exports the geometry to GML2

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 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

Returns:

QDomElement

rectangleToGMLBox(box: Optional[QgsRectangle], doc: QDomDocument, srsName: Optional[str], invertAxisOrientation: bool, precision: int = 17) -> QDomElement Exports the rectangle to GML2 Box

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • box (Optional[QgsRectangle])

  • doc (QDomDocument)

  • precision (int = 17)

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

Exports the rectangle to GML3 Envelope

Returns:

QDomElement

rectangleToGMLEnvelope(env: Optional[QgsRectangle], doc: QDomDocument, srsName: Optional[str], invertAxisOrientation: bool, precision: int = 17) -> QDomElement Exports the rectangle to GML3 Envelope

Return type:

QDomElement

Returns:

QDomElement

Parameters:
  • env (Optional[QgsRectangle])

  • doc (QDomDocument)

  • precision (int = 17)