18#ifndef QGSPOINTCLOUDDATAPROVIDER_H
19#define QGSPOINTCLOUDDATAPROVIDER_H
57 ReadLayerMetadata = 1 << 0,
58 WriteLayerMetadata = 1 << 1,
59 CreateRenderer = 1 << 2,
60 ContainSubIndexes = 1 << 3,
108 QVector<QMap<QString, QVariant>> res = sipCpp->identify( a0, *a1, *a2, a3 );
109 sipRes = PyList_New( res.size() );
110 for (
int i = 0; i < res.size(); ++i )
112 PyObject *dict = PyDict_New();
113 for ( QString key : res[i].keys() )
115 PyObject *keyObj = sipConvertFromNewType(
new QString( key ), sipType_QString, Py_None );
116 PyObject *valObj = sipConvertFromNewType(
new QVariant( res[i][key] ), sipType_QVariant, Py_None );
117 PyDict_SetItem( dict, keyObj, valObj );
119 PyList_SET_ITEM( sipRes, i, dict );
175 virtual QVector<QgsPointCloudSubIndex>
subIndexes()
SIP_SKIP {
return QVector<QgsPointCloudSubIndex>(); }
190 bool hasValidIndex()
const;
216 virtual QVariantMap originalMetadata()
const;
238 virtual
bool hasStatisticsMetadata() const;
252 virtual QVariant metadataStatistic(
const QString &attribute,
Qgis::Statistic statistic )
const;
265 SIP_PYOBJECT metadataStatistic(
const QString &attribute,
Qgis::Statistic statistic )
const;
268 const QVariant res = sipCpp->metadataStatistic( *a0, a1 );
269 if ( !res.isValid() )
271 PyErr_SetString( PyExc_ValueError, QStringLiteral(
"Statistic is not available" ).toUtf8().constData() );
276 QVariant *v =
new QVariant( res );
277 sipRes = sipConvertFromNewType( v, sipType_QVariant, Py_None );
291 virtual QVariantList metadataClasses(
const QString &attribute )
const;
306 virtual QVariant metadataClassStatistic(
const QString &attribute,
const QVariant &value,
Qgis::Statistic statistic )
const;
319 SIP_PYOBJECT metadataClassStatistic(
const QString &attribute,
const QVariant &value,
Qgis::Statistic statistic )
const;
322 const QVariant res = sipCpp->metadataClassStatistic( *a0, *a1, a2 );
323 if ( !res.isValid() )
325 PyErr_SetString( PyExc_ValueError, QStringLiteral(
"Statistic is not available" ).toUtf8().constData() );
330 QVariant *v =
new QVariant( res );
331 sipRes = sipConvertFromNewType( v, sipType_QVariant, Py_None );
346 bool setSubsetString(
const QString &subset,
bool updateFeatureCount =
false )
override;
354 static QMap< int, QString > lasClassificationCodes();
362 static QMap< int, QString > translatedLasClassificationCodes();
369 static QMap< int, QString > dataFormatIds();
376 static QMap< int, QString > translatedDataFormatIds();
Represents a indexed point cloud node in octree.
Statistic
Available generic statistics.
Abstract base class for spatial data provider implementations.
QFlags< ReadFlag > ReadFlags
virtual QString subsetString() const
Returns the subset definition string (typically sql) currently in use by the layer and used by the pr...
virtual bool setSubsetString(const QString &subset, bool updateFeatureCount=true)
Set the subset string used to create a subset of features in the layer.
QgsRange which stores a range of double values.
A geometry is the spatial representation of a feature.
Collection of point cloud attributes.
Base class for providing data for QgsPointCloudLayer.
Capability
Capabilities that providers may implement.
~QgsPointCloudDataProvider() override
virtual QgsPointCloudAttributeCollection attributes() const =0
Returns the attributes available from this data provider.
bool supportsSubsetString() const override
Returns true if the provider supports setting of subset strings.
virtual QVector< QgsPointCloudSubIndex > subIndexes()
Returns a list of sub indexes available if the provider supports multiple indexes,...
virtual void generateIndex()=0
Triggers generation of the point cloud index.
virtual void loadSubIndex(int n)
Triggers loading of the point cloud index for the n th sub index.
virtual void loadIndex()=0
Triggers loading of the point cloud index.
virtual qint64 pointCount() const =0
Returns the total number of points available in the dataset.
QString mSubsetString
String used to define a subset of the layer.
void indexGenerationStateChanged(QgsPointCloudDataProvider::PointCloudIndexGenerationState state)
Emitted when point cloud generation state is changed.
PointCloudIndexGenerationState
Point cloud index state.
virtual QgsPointCloudIndex * index() const
Returns the point cloud index associated with the provider.
QFlags< Capability > Capabilities
virtual PointCloudIndexGenerationState indexingState()=0
Gets the current index generation state.
Represents a indexed point clouds data in octree.
Abstract base class for 2d point cloud renderers.
Class used to store statistics of a point cloud dataset.
#define SIP_ENUM_BASETYPE(type)
Setting options for creating vector data providers.