QGIS/python/core/auto_generated/qgsjsonutils.sip.in

408 lines
12 KiB
Plaintext

/************************************************************************
* 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<QVariant> &attributeWidgetCaches = QVector<QVariant>() );
%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 *
************************************************************************/