1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432
|
/************************************************************************
* 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() );
%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 );
%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/;
%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 *
************************************************************************/
|