12 #ifndef __LIDAR_METADATA_H__
13 #define __LIDAR_METADATA_H__
19 LT_BEGIN_LIDAR_NAMESPACE
24 #define METADATA_KEY_FileSourceID "FileSourceID"
25 #define METADATA_KEY_ProjectID "ProjectID"
26 #define METADATA_KEY_SystemID "SystemID"
27 #define METADATA_KEY_GeneratingSoftware "GeneratingSoftware"
28 #define METADATA_KEY_FileCreationDate "FileCreationDate"
29 #define METADATA_KEY_PointRecordsByReturnCount "PointRecordsByReturnCount"
30 #define METADATA_KEY_PreCompressionPointCount "PreCompressionPointCount"
31 #define METADATA_KEY_LASBBox "LAS_BoundingBox"
86 bool has(
const char *key)
const;
101 void get(
size_t idx,
const char *&key,
const char *&description,
103 const void *&value,
size_t &length)
const;
118 bool get(
const char *key,
const char *&description,
120 const void *&value,
size_t &length)
const;
137 const char *
getKey(
size_t idx)
const;
161 const void *
getValue(
size_t idx)
const;
184 void add(
const char *key,
const char *description,
186 const void *value,
size_t length);
210 void remove(
size_t idx);
219 void remove(
const char *key);
249 void dump(FILE *file)
const;
258 LT_END_LIDAR_NAMESPACE
259 #endif // __LIDAR_METADATA_H__
void read(StreamReader &stream)
Wirte metadata to a stream.
Metadata is a container for storing metadata about the point cloud.
MetadataDataType getDataType(size_t idx) const
Get the datatype for the given index.
A string including the terminating null.
void add(const char *key, const char *description, MetadataDataType datatype, const void *value, size_t length)
Add a key-value pair.
void dump(FILE *file) const
Write the metadata in a human readable format.
size_t getValueLength(size_t idx) const
Get the data buffer length for the given index.
const char * getKey(size_t idx) const
Get the key name for the given index.
size_t getKeyIndex(const char *key) const
Find the index of the key-value pair with the given key.
bool has(const char *key) const
Determine if there is a key-value pair with a given key.
StreamWriter implements buffered writes to IO objects.
void write(StreamWriter &stream) const
Read metadata from a stream.
const void * getValue(size_t idx) const
Get the data buffer for the given index.
MetadataDataType
Metdata data types.
const char * getDescription(size_t idx) const
Get the description for the given index.
size_t getNumRecords(void) const
Get the number of key-value pairs.
void sort(void)
Sort the pairs.
StreamReader implements buffered reads from IO objects.