QGIS API Documentation
3.22.4-Białowieża (ce8e65e95e)
|
Represents a indexed point clouds data in octree. More...
#include <qgspointcloudindex.h>
Public Types | |
enum | AccessType { Local , Remote } |
The access type of the data, local is for local files and remote for remote files (over HTTP) More... | |
Public Member Functions | |
QgsPointCloudIndex () | |
Constructs index. More... | |
~QgsPointCloudIndex () | |
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 server either synchronously or asynchronously If the access type is local, the data is stored locally as a file and will only be fetch synchronously ( blocking request with nodeData only ) More... | |
virtual QgsPointCloudBlockRequest * | asyncNodeData (const IndexedPointCloudNode &n, const QgsPointCloudRequest &request)=0 |
Returns a handle responsible for loading a node data block. More... | |
QgsPointCloudAttributeCollection | attributes () const |
Returns all attributes that are stored in the file. More... | |
virtual QgsCoordinateReferenceSystem | crs () const =0 |
Returns the coordinate reference system of the point cloud index. More... | |
QgsRectangle | extent () const |
Returns extent of the data. More... | |
virtual bool | hasNode (const IndexedPointCloudNode &n) const |
Returns whether the octree contain given node. More... | |
virtual bool | isValid () const =0 |
Returns whether index is loaded and valid. More... | |
virtual void | load (const QString &fileName)=0 |
Loads the index from the file. More... | |
virtual QVariantList | metadataClasses (const QString &attribute) const =0 |
Returns the classes of attribute. More... | |
virtual QVariant | metadataClassStatistic (const QString &attribute, const QVariant &value, QgsStatisticalSummary::Statistic statistic) const =0 |
Returns the statistic statistic of the class value of the attribute attribute. More... | |
virtual QVariant | metadataStatistic (const QString &attribute, QgsStatisticalSummary::Statistic statistic) const =0 |
Returns the statistic statistic of attribute. More... | |
QgsPointCloudDataBounds | nodeBounds (const IndexedPointCloudNode &node) const |
Returns bounds of particular node. More... | |
virtual QList< IndexedPointCloudNode > | nodeChildren (const IndexedPointCloudNode &n) const |
Returns all children of node. More... | |
virtual QgsPointCloudBlock * | nodeData (const IndexedPointCloudNode &n, const QgsPointCloudRequest &request)=0 |
Returns node data block. More... | |
float | nodeError (const IndexedPointCloudNode &n) const |
Returns node's error in map units (used to determine in whether the node has enough detail for the current view) More... | |
QgsRectangle | nodeMapExtent (const IndexedPointCloudNode &node) const |
Returns the extent of a node in map coordinates. More... | |
int | nodePointCount (const IndexedPointCloudNode &n) |
Returns the number of poiny of indexed point cloud node n. More... | |
QgsDoubleRange | nodeZRange (const IndexedPointCloudNode &node) const |
Returns the z range of a node. More... | |
QgsVector3D | offset () const |
Returns offset. More... | |
virtual QVariantMap | originalMetadata () const =0 |
Returns the original metadata map. More... | |
virtual qint64 | pointCount () const =0 |
Returns the number of points in the point cloud. More... | |
IndexedPointCloudNode | root () |
Returns root node of the index. More... | |
QgsVector3D | scale () const |
Returns scale. More... | |
int | span () const |
Returns the number of points in one direction in a single node. More... | |
double | zMax () const |
Returns z max. More... | |
double | zMin () const |
Returns z min. More... | |
Protected Member Functions | |
void | setAttributes (const QgsPointCloudAttributeCollection &attributes) |
Sets native attributes of the data. More... | |
Protected Attributes | |
QgsPointCloudAttributeCollection | mAttributes |
QgsRectangle | mExtent |
2D extent of data More... | |
QHash< IndexedPointCloudNode, int > | mHierarchy |
Data hierarchy. More... | |
QMutex | mHierarchyMutex |
QgsVector3D | mOffset |
Offset of our int32 coordinates compared to CRS coords. More... | |
QgsPointCloudDataBounds | mRootBounds |
Bounds of the root node's cube (in int32 coordinates) More... | |
QgsVector3D | mScale |
Scale of our int32 coordinates compared to CRS coords. More... | |
int | mSpan |
All native attributes stored in the file. More... | |
double | mZMax = 0 |
Vertical extent of data. More... | |
double | mZMin = 0 |
Represents a indexed point clouds data in octree.
Definition at line 160 of file qgspointcloudindex.h.
The access type of the data, local is for local files and remote for remote files (over HTTP)
Enumerator | |
---|---|
Local | |
Remote | Local means the source is a local file on the machine. Remote means it's loaded through a protocol like HTTP |
Definition at line 165 of file qgspointcloudindex.h.
|
explicitdefault |
Constructs index.
|
default |
|
pure virtual |
Returns the access type of the data If the access type is Remote, data will be fetched from an HTTP server either synchronously or asynchronously If the access type is local, the data is stored locally as a file and will only be fetch synchronously ( blocking request with nodeData only )
|
pure virtual |
Returns a handle responsible for loading a node data block.
e.g. positions (needs to be scaled and offset applied to get coordinates) or classification, intensity or custom attributes
It is caller responsibility to free the handle and the block issued by the handle if the loading succeeds.
May return nullptr in case the node is not present or any other problem with loading
QgsPointCloudAttributeCollection QgsPointCloudIndex::attributes | ( | ) | const |
Returns all attributes that are stored in the file.
Definition at line 188 of file qgspointcloudindex.cpp.
|
pure virtual |
Returns the coordinate reference system of the point cloud index.
|
inline |
Returns extent of the data.
Definition at line 239 of file qgspointcloudindex.h.
|
virtual |
Returns whether the octree contain given node.
Definition at line 159 of file qgspointcloudindex.cpp.
|
pure virtual |
Returns whether index is loaded and valid.
|
pure virtual |
Loads the index from the file.
|
pure virtual |
Returns the classes of attribute.
|
pure virtual |
Returns the statistic statistic of the class value of the attribute attribute.
|
pure virtual |
Returns the statistic statistic of attribute.
QgsPointCloudDataBounds QgsPointCloudIndex::nodeBounds | ( | const IndexedPointCloudNode & | node | ) | const |
Returns bounds of particular node.
Definition at line 193 of file qgspointcloudindex.cpp.
|
virtual |
Returns all children of node.
Definition at line 167 of file qgspointcloudindex.cpp.
|
pure virtual |
Returns node data block.
e.g. positions (needs to be scaled and offset applied to get coordinates) or classification, intensity or custom attributes
It is caller responsibility to free the block.
May return nullptr in case the node is not present or any other problem with loading
float QgsPointCloudIndex::nodeError | ( | const IndexedPointCloudNode & | n | ) | const |
Returns node's error in map units (used to determine in whether the node has enough detail for the current view)
Definition at line 222 of file qgspointcloudindex.cpp.
QgsRectangle QgsPointCloudIndex::nodeMapExtent | ( | const IndexedPointCloudNode & | node | ) | const |
Returns the extent of a node in map coordinates.
Definition at line 212 of file qgspointcloudindex.cpp.
int QgsPointCloudIndex::nodePointCount | ( | const IndexedPointCloudNode & | n | ) |
Returns the number of poiny of indexed point cloud node n.
Definition at line 248 of file qgspointcloudindex.cpp.
QgsDoubleRange QgsPointCloudIndex::nodeZRange | ( | const IndexedPointCloudNode & | node | ) | const |
Returns the z range of a node.
Definition at line 217 of file qgspointcloudindex.cpp.
QgsVector3D QgsPointCloudIndex::offset | ( | ) | const |
Returns offset.
Definition at line 233 of file qgspointcloudindex.cpp.
|
pure virtual |
Returns the original metadata map.
|
pure virtual |
Returns the number of points in the point cloud.
|
inline |
Returns root node of the index.
Definition at line 203 of file qgspointcloudindex.h.
QgsVector3D QgsPointCloudIndex::scale | ( | ) | const |
Returns scale.
Definition at line 228 of file qgspointcloudindex.cpp.
|
protected |
Sets native attributes of the data.
Definition at line 238 of file qgspointcloudindex.cpp.
int QgsPointCloudIndex::span | ( | ) | const |
Returns the number of points in one direction in a single node.
Definition at line 243 of file qgspointcloudindex.cpp.
|
inline |
Returns z max.
Definition at line 244 of file qgspointcloudindex.h.
|
inline |
Returns z min.
Definition at line 242 of file qgspointcloudindex.h.
|
protected |
Definition at line 294 of file qgspointcloudindex.h.
|
protected |
2D extent of data
Definition at line 286 of file qgspointcloudindex.h.
|
mutableprotected |
Data hierarchy.
Definition at line 290 of file qgspointcloudindex.h.
|
mutableprotected |
Definition at line 289 of file qgspointcloudindex.h.
|
protected |
Offset of our int32 coordinates compared to CRS coords.
Definition at line 292 of file qgspointcloudindex.h.
|
protected |
Bounds of the root node's cube (in int32 coordinates)
Definition at line 293 of file qgspointcloudindex.h.
|
protected |
Scale of our int32 coordinates compared to CRS coords.
Definition at line 291 of file qgspointcloudindex.h.
|
protected |
All native attributes stored in the file.
Number of points in one direction in a single node
Definition at line 295 of file qgspointcloudindex.h.
|
protected |
Vertical extent of data.
Definition at line 287 of file qgspointcloudindex.h.
|
protected |
Definition at line 287 of file qgspointcloudindex.h.