mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-16 00:05:45 -04:00
263 lines
7.7 KiB
Plaintext
263 lines
7.7 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/pointcloud/qgspointclouddataprovider.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
class QgsPointCloudDataProvider: QgsDataProvider
|
|
{
|
|
%Docstring(signature="appended")
|
|
Base class for providing data for :py:class:`QgsPointCloudLayer`.
|
|
|
|
Responsible for reading native point cloud data and returning the
|
|
indexed data.
|
|
|
|
.. note::
|
|
|
|
The API is considered EXPERIMENTAL and can be changed without a notice
|
|
|
|
.. versionadded:: 3.18
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgspointclouddataprovider.h"
|
|
%End
|
|
public:
|
|
|
|
enum Capability
|
|
{
|
|
NoCapabilities,
|
|
ReadLayerMetadata,
|
|
WriteLayerMetadata,
|
|
CreateRenderer,
|
|
ContainSubIndexes,
|
|
ChangeAttributeValues,
|
|
};
|
|
|
|
typedef QFlags<QgsPointCloudDataProvider::Capability> Capabilities;
|
|
|
|
|
|
enum PointCloudIndexGenerationState
|
|
{
|
|
NotIndexed,
|
|
Indexing,
|
|
Indexed
|
|
};
|
|
|
|
QgsPointCloudDataProvider( const QString &uri,
|
|
const QgsDataProvider::ProviderOptions &providerOptions,
|
|
Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() );
|
|
%Docstring
|
|
Ctor
|
|
%End
|
|
|
|
~QgsPointCloudDataProvider();
|
|
|
|
|
|
SIP_PYLIST identify( float maxErrorInMapCoords, QgsGeometry extentGeometry, const QgsDoubleRange extentZRange = QgsDoubleRange(), int pointsLimit = 1000 );
|
|
%Docstring
|
|
Returns the list of points of the point cloud according to a zoom level
|
|
defined by ``maxError`` (in layer coordinates), an extent ``geometry``
|
|
in the 2D plane and a range ``extentZRange`` for z values. The function
|
|
will try to limit the number of points returned to ``pointsLimit``
|
|
points
|
|
|
|
.. note::
|
|
|
|
this function does not handle elevation properties and you need to
|
|
change elevation coordinates yourself after returning from the function
|
|
%End
|
|
%MethodCode
|
|
{
|
|
QVector<QMap<QString, QVariant>> res = sipCpp->identify( a0, *a1, *a2, a3 );
|
|
sipRes = PyList_New( res.size() );
|
|
for ( int i = 0; i < res.size(); ++i )
|
|
{
|
|
PyObject *dict = PyDict_New();
|
|
for ( QString key : res[i].keys() )
|
|
{
|
|
PyObject *keyObj = sipConvertFromNewType( new QString( key ), sipType_QString, Py_None );
|
|
PyObject *valObj = sipConvertFromNewType( new QVariant( res[i][key] ), sipType_QVariant, Py_None );
|
|
PyDict_SetItem( dict, keyObj, valObj );
|
|
}
|
|
PyList_SET_ITEM( sipRes, i, dict );
|
|
}
|
|
}
|
|
%End
|
|
|
|
virtual QgsPointCloudDataProvider::Capabilities capabilities() const;
|
|
%Docstring
|
|
Returns flags containing the supported capabilities for the data
|
|
provider.
|
|
%End
|
|
|
|
virtual QgsPointCloudAttributeCollection attributes() const = 0;
|
|
%Docstring
|
|
Returns the attributes available from this data provider. May return
|
|
empty collection until
|
|
:py:func:`~QgsPointCloudDataProvider.pointCloudIndexLoaded` is emitted
|
|
%End
|
|
|
|
virtual void loadIndex( ) = 0;
|
|
%Docstring
|
|
Triggers loading of the point cloud index
|
|
|
|
.. seealso:: :py:func:`index`
|
|
%End
|
|
|
|
virtual void generateIndex( ) = 0;
|
|
%Docstring
|
|
Triggers generation of the point cloud index
|
|
|
|
emits :py:func:`~QgsPointCloudDataProvider.indexGenerationStateChanged`
|
|
|
|
.. seealso:: :py:func:`index`
|
|
%End
|
|
|
|
|
|
virtual PointCloudIndexGenerationState indexingState( ) = 0;
|
|
%Docstring
|
|
Gets the current index generation state
|
|
%End
|
|
|
|
virtual QgsPointCloudIndex index() const;
|
|
%Docstring
|
|
Returns the point cloud index associated with the provider.
|
|
|
|
Can be None (e.g. the index is being created)
|
|
%End
|
|
|
|
|
|
|
|
bool hasValidIndex() const;
|
|
%Docstring
|
|
Returns whether provider has index which is valid
|
|
%End
|
|
|
|
virtual qint64 pointCount() const = 0;
|
|
%Docstring
|
|
Returns the total number of points available in the dataset.
|
|
%End
|
|
|
|
virtual QgsGeometry polygonBounds() const;
|
|
%Docstring
|
|
Returns the polygon bounds of the layer. The CRS of the returned
|
|
geometry will match the provider's
|
|
:py:func:`~QgsPointCloudDataProvider.crs`.
|
|
|
|
This method will return the best approximation for the actual bounds of
|
|
points contained in the dataset available from the provider's metadata.
|
|
This may match the bounding box rectangle returned by
|
|
:py:func:`~QgsPointCloudDataProvider.extent`, or for some datasets a
|
|
"convex hull" style polygon representing a more precise bounds will be
|
|
returned.
|
|
|
|
This method will not attempt to calculate the data bounds, rather it
|
|
will return only whatever precomputed bounds are included in the data
|
|
source's metadata.
|
|
%End
|
|
|
|
virtual QVariantMap originalMetadata() const;
|
|
%Docstring
|
|
Returns a representation of the original metadata included in a point
|
|
cloud dataset.
|
|
|
|
This is a free-form dictionary of values, the contents and structure of
|
|
which will vary by provider and dataset.
|
|
%End
|
|
|
|
virtual QgsPointCloudRenderer *createRenderer( const QVariantMap &configuration = QVariantMap() ) const /Factory/;
|
|
%Docstring
|
|
Creates a new 2D point cloud renderer, using provider backend specific
|
|
information.
|
|
|
|
The ``configuration`` map can be used to pass provider-specific
|
|
configuration maps to the provider to allow customization of the
|
|
returned renderer. Support and format of ``configuration`` varies by
|
|
provider.
|
|
|
|
When called with an empty ``configuration`` map the provider's default
|
|
renderer will be returned.
|
|
|
|
This method returns a new renderer and the caller takes ownership of the
|
|
returned object.
|
|
|
|
Only providers which report the CreateRenderer capability will return a
|
|
2D renderer. Other providers will return ``None``.
|
|
%End
|
|
|
|
QgsPointCloudStatistics metadataStatistics();
|
|
%Docstring
|
|
Returns the object containing the statistics metadata extracted from the
|
|
dataset
|
|
|
|
.. versionadded:: 3.26
|
|
%End
|
|
|
|
virtual bool supportsSubsetString() const;
|
|
|
|
virtual QString subsetStringDialect() const;
|
|
|
|
virtual QString subsetStringHelpUrl() const;
|
|
|
|
virtual QString subsetString() const;
|
|
|
|
virtual bool setSubsetString( const QString &subset, bool updateFeatureCount = false );
|
|
|
|
|
|
static QMap< int, QString > lasClassificationCodes();
|
|
%Docstring
|
|
Returns the map of LAS classification code to untranslated string value,
|
|
corresponding to the ASPRS Standard Lidar Point Classes.
|
|
|
|
.. seealso:: :py:func:`translatedLasClassificationCodes`
|
|
%End
|
|
|
|
static QMap< int, QString > translatedLasClassificationCodes();
|
|
%Docstring
|
|
Returns the map of LAS classification code to translated string value,
|
|
corresponding to the ASPRS Standard Lidar Point Classes.
|
|
|
|
.. seealso:: :py:func:`lasClassificationCodes`
|
|
%End
|
|
|
|
static QMap< int, QString > dataFormatIds();
|
|
%Docstring
|
|
Returns the map of LAS data format ID to untranslated string value.
|
|
|
|
.. seealso:: :py:func:`translatedDataFormatIds`
|
|
%End
|
|
|
|
static QMap< int, QString > translatedDataFormatIds();
|
|
%Docstring
|
|
Returns the map of LAS data format ID to translated string value.
|
|
|
|
.. seealso:: :py:func:`dataFormatIds`
|
|
%End
|
|
|
|
signals:
|
|
|
|
void indexGenerationStateChanged( QgsPointCloudDataProvider::PointCloudIndexGenerationState state );
|
|
%Docstring
|
|
Emitted when point cloud generation state is changed
|
|
%End
|
|
|
|
protected:
|
|
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/pointcloud/qgspointclouddataprovider.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|