/************************************************************************ * This file has been generated automatically from * * * * src/core/qgsjsonutils.h * * * * Do not edit manually ! Edit header and run scripts/sipify.py again * ************************************************************************/ class QgsJsonExporter { %Docstring(signature="appended") Handles exporting :py:class:`QgsFeature` features to GeoJSON features. Note that geometries will be automatically reprojected to WGS84 to match GeoJSON spec if either the source vector layer or source CRS is set. %End %TypeHeaderCode #include "qgsjsonutils.h" %End public: QgsJsonExporter( QgsVectorLayer *vectorLayer = 0, int precision = 6 ); %Docstring Constructor for QgsJsonExporter. :param vectorLayer: associated vector layer (required for related attribute export) :param precision: maximum number of decimal places to use for geometry coordinates, the RFC 7946 GeoJSON specification recommends limiting coordinate precision to 6 %End void setPrecision( int precision ); %Docstring Sets the maximum number of decimal places to use in geometry coordinates. The RFC 7946 GeoJSON specification recommends limiting coordinate precision to 6 :param precision: number of decimal places .. seealso:: :py:func:`precision` %End int precision() const; %Docstring Returns the maximum number of decimal places to use in geometry coordinates. .. seealso:: :py:func:`setPrecision` %End void setIncludeGeometry( bool includeGeometry ); %Docstring Sets whether to include geometry in the JSON exports. :param includeGeometry: set to ``False`` to prevent geometry inclusion .. seealso:: :py:func:`includeGeometry` %End bool includeGeometry() const; %Docstring Returns whether geometry will be included in the JSON exports. .. seealso:: :py:func:`setIncludeGeometry` %End void setIncludeAttributes( bool includeAttributes ); %Docstring Sets whether to include attributes in the JSON exports. :param includeAttributes: set to ``False`` to prevent attribute inclusion .. seealso:: :py:func:`includeAttributes` %End bool includeAttributes() const; %Docstring Returns whether attributes will be included in the JSON exports. .. seealso:: :py:func:`setIncludeAttributes` %End void setIncludeRelated( bool includeRelated ); %Docstring Sets whether to include attributes of features linked via references in the JSON exports. :param includeRelated: set to ``True`` to include attributes for any related child features within the exported properties element. .. note:: associated vector layer must be set with :py:func:`~QgsJsonExporter.setVectorLayer` .. seealso:: :py:func:`includeRelated` %End bool includeRelated() const; %Docstring Returns whether attributes of related (child) features will be included in the JSON exports. .. seealso:: :py:func:`setIncludeRelated` %End void setAttributeDisplayName( bool displayName ); %Docstring Sets whether to print original names of attributes or aliases if defined. .. versionadded:: 3.6 %End bool attributeDisplayName() const; %Docstring Returns whether original names of attributes or aliases are printed. .. versionadded:: 3.6 %End void setVectorLayer( QgsVectorLayer *vectorLayer ); %Docstring Sets the associated vector layer (required for related attribute export). This will automatically update the :py:func:`~QgsJsonExporter.sourceCrs` to match. :param vectorLayer: vector layer .. seealso:: :py:func:`vectorLayer` %End QgsVectorLayer *vectorLayer() const; %Docstring Returns the associated vector layer, if set. .. seealso:: :py:func:`setVectorLayer` %End void setSourceCrs( const QgsCoordinateReferenceSystem &crs ); %Docstring Sets the source CRS for feature geometries. The source CRS must be set if geometries are to be correctly automatically reprojected to WGS 84, to match GeoJSON specifications. :param crs: source CRS for input feature geometries .. note:: the source CRS will be overwritten when a vector layer is specified via :py:func:`~QgsJsonExporter.setVectorLayer` .. seealso:: :py:func:`sourceCrs` %End QgsCoordinateReferenceSystem sourceCrs() const; %Docstring Returns the source CRS for feature geometries. The source CRS must be set if geometries are to be correctly automatically reprojected to WGS 84, to match GeoJSON specifications. .. seealso:: :py:func:`setSourceCrs` %End void setTransformGeometries( bool activate ); %Docstring Sets whether geometries should be transformed in EPSG 4326 (default behavior) or just keep as it is. .. versionadded:: 3.12 %End void setAttributes( const QgsAttributeList &attributes ); %Docstring Sets the list of attributes to include in the JSON exports. :param attributes: list of attribute indexes, or an empty list to include all attributes .. seealso:: :py:func:`attributes` .. seealso:: :py:func:`setExcludedAttributes` .. note:: Attributes excluded via :py:func:`~QgsJsonExporter.setExcludedAttributes` take precedence over attributes specified by this method. %End QgsAttributeList attributes() const; %Docstring Returns the list of attributes which will be included in the JSON exports, or an empty list if all attributes will be included. .. seealso:: :py:func:`setAttributes` .. seealso:: :py:func:`excludedAttributes` .. note:: Attributes excluded via :py:func:`~QgsJsonExporter.excludedAttributes` take precedence over attributes returned by this method. %End void setExcludedAttributes( const QgsAttributeList &attributes ); %Docstring Sets a list of attributes to specifically exclude from the JSON exports. Excluded attributes take precedence over attributes included via :py:func:`~QgsJsonExporter.setAttributes`. :param attributes: list of attribute indexes to exclude .. seealso:: :py:func:`excludedAttributes` .. seealso:: :py:func:`setAttributes` %End QgsAttributeList excludedAttributes() const; %Docstring Returns a list of attributes which will be specifically excluded from the JSON exports. Excluded attributes take precedence over attributes included via :py:func:`~QgsJsonExporter.attributes`. .. seealso:: :py:func:`setExcludedAttributes` .. seealso:: :py:func:`attributes` %End void setUseFieldFormatters( bool useFieldFormatters ); %Docstring Sets whether field formatters (of type KeyValue, List, ValueRelation, ValueMap) are used to export raw values as displayed values. The default is true. .. versionadded:: 3.40 %End bool useFieldFormatters() const; %Docstring Returned whether field formatters (of type KeyValue, List, ValueRelation, ValueMap) are used to export raw values as displayed values. .. versionadded:: 3.40 %End QString exportFeature( const QgsFeature &feature, const QVariantMap &extraProperties = QVariantMap(), const QVariant &id = QVariant(), int indent = -1 ) const; %Docstring Returns a GeoJSON string representation of a feature. :param feature: feature to convert :param extraProperties: map of extra attributes to include in feature's properties :param id: optional ID to use as GeoJSON feature's ID instead of input feature's ID. If omitted, feature's ID is used. :param indent: number of indentation spaces for generated JSON (defaults to none) :return: GeoJSON string .. seealso:: :py:func:`exportFeatures` .. seealso:: :py:func:`exportFeatureToJsonObject` %End QString exportFeatures( const QgsFeatureList &features, int indent = -1 ) const; %Docstring Returns a GeoJSON string representation of a list of features (feature collection). :param features: features to convert :param indent: number of indentation spaces for generated JSON (defaults to none) :return: GeoJSON string .. seealso:: :py:func:`exportFeature` %End void setDestinationCrs( const QgsCoordinateReferenceSystem &destinationCrs ); %Docstring Set the destination CRS for feature geometry transformation to ``destinationCrs``, this defaults to EPSG:4326 and it is only effective when the automatic geometry transformation is active (it is by default). .. seealso:: :py:func:`setTransformGeometries` .. seealso:: :py:func:`setSourceCrs` .. versionadded:: 3.30 %End }; class QgsJsonUtils { %Docstring(signature="appended") Helper utilities for working with JSON and GeoJSON conversions. %End %TypeHeaderCode #include "qgsjsonutils.h" %End public: static const QMetaObject staticMetaObject; public: static QgsFeatureList stringToFeatureList( const QString &string, const QgsFields &fields = QgsFields(), QTextCodec *encoding = 0 ); %Docstring Attempts to parse a GeoJSON ``string`` to a collection of features. It is possible to specify ``fields`` to parse specific fields, if not provided, no fields will be included. An ``encoding`` can be specified which defaults to UTF-8 if it is `None`. :return: a list of parsed features, or an empty list if no features could be parsed .. seealso:: :py:func:`stringToFields` .. note:: this function is a wrapper around :py:func:`QgsOgrUtils.stringToFeatureList()` %End static QgsFields stringToFields( const QString &string, QTextCodec *encoding = 0 ); %Docstring Attempts to retrieve the fields from a GeoJSON ``string`` representing a collection of features. An ``encoding`` can be specified which defaults to UTF-8 if it is `None`. :return: retrieved fields collection, or an empty list if no fields could be determined from the string .. seealso:: :py:func:`stringToFeatureList` .. note:: this function is a wrapper around :py:func:`QgsOgrUtils.stringToFields()` %End static QString encodeValue( const QVariant &value ); %Docstring Encodes a value to a JSON string representation, adding appropriate quotations and escaping where required. :param value: value to encode :return: encoded value %End static QString exportAttributes( const QgsFeature &feature, QgsVectorLayer *layer = 0, const QVector &attributeWidgetCaches = QVector() ); %Docstring Exports all attributes from a :py:class:`QgsFeature` as a JSON map type. :param feature: feature to export :param layer: optional associated vector layer. If specified, this allows richer export utilising settings like the layer's fields widget configuration. :param attributeWidgetCaches: optional widget configuration cache. Can be used to speed up exporting the attributes for multiple features from the same layer. %End static QVariantList parseArray( const QString &json, QMetaType::Type type = QMetaType::Type::UnknownType ); %Docstring Parse a simple array (depth=1) :param json: the JSON to parse :param type: optional variant type of the elements, if specified (and not Invalid), the array items will be converted to the type, and discarded if the conversion is not possible. %End static QVariantList parseArray( const QString &json, QVariant::Type type ) /Deprecated="Since 3.38. Use the method with a QMetaType.Type argument instead."/; %Docstring Parse a simple array (depth=1) :param json: the JSON to parse :param type: optional variant type of the elements, if specified (and not Invalid), the array items will be converted to the type, and discarded if the conversion is not possible. .. deprecated:: 3.38 Use the method with a QMetaType.Type argument instead. %End static QgsGeometry geometryFromGeoJson( const QString &geometry ); %Docstring Parses a GeoJSON "geometry" value to a :py:class:`QgsGeometry` object. Returns a null geometry if the geometry could not be parsed. .. versionadded:: 3.36 %End }; /************************************************************************ * This file has been generated automatically from * * * * src/core/qgsjsonutils.h * * * * Do not edit manually ! Edit header and run scripts/sipify.py again * ************************************************************************/