18#ifndef QGSEPTPOINTCLOUDINDEX_H
19#define QGSEPTPOINTCLOUDINDEX_H
42 explicit QgsEptPointCloudIndex();
43 ~QgsEptPointCloudIndex();
45 std::unique_ptr<QgsPointCloudIndex>
clone()
const override;
47 void load(
const QString &fileName )
override;
56 QVariantList
metadataClasses(
const QString &attribute )
const override;
70 bool loadSchema(
const QByteArray &dataJson );
71 void loadManifest(
const QByteArray &manifestJson );
72 bool loadSchema( QFile &f );
75 bool mIsValid =
false;
80 qint64 mPointCount = 0;
82 struct AttributeStatistics
87 double mean = std::numeric_limits< double >::quiet_NaN();
88 double stDev = std::numeric_limits< double >::quiet_NaN();
89 double variance = std::numeric_limits< double >::quiet_NaN();
92 QMap< QString, AttributeStatistics > mMetadataStats;
94 QMap< QString, QMap< int, int > > mAttributeClasses;
95 QVariantMap mOriginalMetadata;
Represents a indexed point cloud node in octree.
Statistic
Available generic statistics.
This class represents a coordinate reference system (CRS).
Base class for handling loading QgsPointCloudBlock asynchronously.
Represents a indexed point clouds data in octree.
virtual QgsPointCloudBlockRequest * asyncNodeData(const IndexedPointCloudNode &n, const QgsPointCloudRequest &request)=0
Returns a handle responsible for loading a node data block.
AccessType
The access type of the data, local is for local files and remote for remote files (over HTTP)
@ Local
Local means the source is a local file on the machine.
virtual qint64 pointCount() const =0
Returns the number of points in the point cloud.
virtual QVariantList metadataClasses(const QString &attribute) const
Returns the classes of attribute.
void copyCommonProperties(QgsPointCloudIndex *destination) const
Copies common properties to the destination index.
virtual AccessType accessType() const =0
Returns the access type of the data If the access type is Remote, data will be fetched from an HTTP s...
virtual std::unique_ptr< QgsPointCloudIndex > clone() const =0
Returns a clone of the current point cloud index object.
virtual bool isValid() const =0
Returns whether index is loaded and valid.
virtual QgsCoordinateReferenceSystem crs() const =0
Returns the coordinate reference system of the point cloud index.
virtual void load(const QString &fileName)=0
Loads the index from the file.
virtual bool hasStatisticsMetadata() const =0
Returns whether the dataset contains metadata of statistics.
virtual QVariant metadataStatistic(const QString &attribute, Qgis::Statistic statistic) const
Returns the statistic statistic of attribute.
virtual std::unique_ptr< QgsPointCloudBlock > nodeData(const IndexedPointCloudNode &n, const QgsPointCloudRequest &request)=0
Returns node data block.
virtual QVariant metadataClassStatistic(const QString &attribute, const QVariant &value, Qgis::Statistic statistic) const
Returns the statistic statistic of the class value of the attribute attribute.
virtual QVariantMap originalMetadata() const =0
Returns the original metadata map.
Point cloud data request.