gis-tools-ts
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
415 lines • 15.2 kB
TypeScript
import type { LASFormat, LASHeader, VectorPointM } from '../../../index.js';
/**
* @param input - 30bits input
* @returns - parsed to a LASpoint14 output
*/
export declare function modifyPoint14RawInput(input: DataView): DataView;
/** Base class for common data manipulation */
export declare class CopyDataView {
readonly data: DataView;
/** @param data - the data to manipulate */
constructor(data: DataView);
/**
* @param data - the data to copy from
* @param length - the length to copy
*/
copyFrom(data: DataView, length: number): void;
/**
* @param item - the data to copy to
* @param length - the length to copy
*/
copyTo(item: DataView, length: number): void;
}
/**
* Point 1.0 Internal manipulation tool
* [Reference](https://github.com/LASzip/LASzip/blob/658d03825b221fab91ddf4571439724fda930191/src/lasreaditemcompressed_v1.cpp#L44)
* The struct form:
* ```cpp
* struct LASpoint10
* {
* I32 x;
* I32 y;
* I32 z;
* U16 intensity;
* U8 return_number : 3;
* U8 number_of_returns_of_given_pulse : 3;
* U8 scan_direction_flag : 1;
* U8 edge_of_flight_line : 1;
* U8 classification;
* I8 scan_angle_rank;
* U8 user_data;
* U16 point_source_ID;
* };
* ```
*/
export declare class LASpoint10 extends CopyDataView {
/** @param data - 20 bytes */
constructor(data?: DataView);
/**
* Modify the vector point given the input data and header
* @param data - the raw data
* @param header - the las header
* @param point - the vector point to modify
*/
static rawToVectorPoint(data: DataView, header: LASHeader, point: VectorPointM<LASFormat>): void;
/** @returns the I32 at x position */
get x(): number;
/** @param value - set an I32 at x position */
set x(value: number);
/** @returns the I32 at y position */
get y(): number;
/** @param value - set an I32 at y position */
set y(value: number);
/** @returns the I32 at z position */
get z(): number;
/** @param value - set an I32 at z position */
set z(value: number);
/** @returns the U16 at intensity position */
get intensity(): number;
/** @param value - set an U16 at intensity position */
set intensity(value: number);
/** @returns the U8 at flags position */
get flags(): number;
/** @returns the return number flag */
get returnNumber(): number;
/** @returns the number of returns flag */
get numberOfReturns(): number;
/** @returns the scan direction flag */
get scanDirectionFlag(): number;
/** @returns the edge of flight line flag */
get edgeOfFlightLine(): number;
/** @param value - set an U8 at flags position */
set flags(value: number);
/** @returns the U8 at class position */
get class(): number;
/** @returns the isSynthetic flag */
get isSynthetic(): boolean;
/** @returns the isKeyPoint flag */
get isKeyPoint(): boolean;
/** @returns the isWithheld flag */
get isWithheld(): boolean;
/** @param value - set an U8 at class position */
set class(value: number);
/** @returns the I8 at scan angle rank */
get scanAngleRank(): number;
/** @param value - set an I8 at scan angle rank */
set scanAngleRank(value: number);
/** @returns the U8 at user data position */
get userData(): number;
/** @param value - set an U8 at user data position */
set userData(value: number);
/** @returns the U16 at point source ID position */
get pointSourceID(): number;
/** @param value - set an U16 at point source ID position */
set pointSourceID(value: number);
}
/** LAS 1.0 RGBA Point data. Each color channel is 2 bytes. */
export declare class LASrgba extends CopyDataView {
/** @param data - 6 bytes (2 bytes each for R, G, B) */
constructor(data?: DataView);
/**
* Modify the vector point given the input data
* @param data - the raw data
* @param point - the vector point to modify
*/
static rawToVectorPoint(data: DataView, point: VectorPointM<LASFormat>): void;
/** @returns the U16 red position */
get r(): number;
/** @param value - set an U16 red position */
set r(value: number);
/** @returns the U16 green position */
get g(): number;
/** @param value - set an U16 green position */
set g(value: number);
/** @returns the U16 blue position */
get b(): number;
/** @param value - set an U16 blue position */
set b(value: number);
}
/** LAS 1.0 RGBA Point data. Each color channel is 2 bytes. */
export declare class LASrgbaNir extends LASrgba {
/** @param data - 8 bytes (2 bytes each for R, G, B, and NIR) */
constructor(data?: DataView);
/**
* Modify the vector point given the input data
* @param data - the raw data
* @param point - the vector point to modify
*/
static rawToVectorPoint(data: DataView, point: VectorPointM<LASFormat>): void;
/** @returns the U16 blue position */
get nir(): number;
/** @param value - set an U16 blue position */
set nir(value: number);
}
/** LAS 1.0 Wave Packet. Each wave packet is 29 bytes. */
export declare class LASWavePacket13 extends CopyDataView {
/** @param data - 29 */
constructor(data?: DataView);
/**
* Modify the vector point given the input data
* @param data - the raw data
* @param point - the vector point to modify
*/
static rawToVectorPoint(data: DataView, point: VectorPointM<LASFormat>): void;
/** @returns - the index */
get index(): number;
/** @param value - set the index */
set index(value: number);
/** @returns the offset */
get offset(): number;
/** @param value - set an offset */
set offset(value: number | bigint);
/** @returns the packet size */
get packetSize(): number;
/** @param value - set an packet size */
set packetSize(value: number);
/** @returns the return point */
get returnPoint(): number;
/** @param value - set an return point */
set returnPoint(value: number);
/** @returns the x */
get x(): number;
/** @param value - set an x */
set x(value: number);
/** @returns the y */
get y(): number;
/** @param value - set an y */
set y(value: number);
/** @returns the z */
get z(): number;
/** @param value - set an z */
set z(value: number);
}
/**
* LAS Internal Temp Point Format 1.4
* The struct form:
* ```cpp
* typedef struct LAStempReadPoint14 {
* I32 X;
* I32 Y;
* I32 Z;
* U16 intensity;
* U8 return_number : 4;
* U8 number_of_returns : 4;
* U8 classification_flags : 4;
* U8 scanner_channel : 2;
* U8 scan_direction_flag : 1;
* U8 edge_of_flight_line : 1;
* U8 classification;
* U8 user_data;
* I16 scan_angle;
* U16 point_source_ID;
* };
* ```
*/
export declare class LAStempReadPoint14 extends CopyDataView {
/** @param data - 22 bytes */
constructor(data?: DataView);
/** @returns the I32 at x position */
get x(): number;
/** @returns the I32 at y position */
get y(): number;
/** @returns the I32 at z position */
get z(): number;
/** @returns the U16 at intensity position */
get intensity(): number;
/** @returns the U8 at returnNumber position */
get returnNumber(): number;
/** @returns the U8 at numberOfReturns position */
get numberOfReturns(): number;
/** @returns the U8 at classificationFlags position */
get classificationFlags(): number;
/** @returns the U8 at scannerChannel position */
get scannerChannel(): number;
/** @returns the U8 at scanDirectionFlag position */
get scanDirectionFlag(): number;
/** @returns the U8 at edgeOfFlightLine position */
get edgeOfFlightLine(): number;
/** @returns the U8 at classification position */
get classification(): number;
/** @returns the U8 at userData position */
get userData(): number;
/** @returns the I16 at scanAngle position */
get scanAngle(): number;
/** @returns the U16 at pointSourceID position */
get pointSourceID(): number;
}
/**
* LAS Internal Point Format 1.4
* The struct form:
* ```cpp
* typedef struct LASpoint14 {
* I32 X;
* I32 Y;
* I32 Z;
* U16 intensity;
* U8 legacy_return_number : 3;
* U8 legacy_number_of_returns : 3;
* U8 scan_direction_flag : 1;
* U8 edge_of_flight_line : 1;
*
* U8 legacy_classification : 5;
* U8 legacy_flags : 3;
* I8 legacy_scan_angle_rank;
* U8 user_data;
* U16 point_source_ID;
* // LAS 1.4 only
* I16 scan_angle;
* U8 legacy_point_type : 2;
* U8 scanner_channel : 2;
* U8 classification_flags : 4;
* U8 classification;
* U8 return_number : 4;
* U8 number_of_returns : 4;
* // LASlib internal use only
* U8 deleted_flag;
* // for 8 byte alignment of the GPS time
* U8 dummy[2];
* // compressed LASzip 1.4 points only
* BOOL gps_time_change;
* F64 gps_time;
* U16 rgb[4];
* LASwavepacket wavepacket;
* } LASpoint14;
* ```
*/
export declare class LASpoint14 extends CopyDataView {
/** @param data - 45 bytes */
constructor(data?: DataView);
/**
* Modify the vector point given the input data and header
* @param data - the raw data
* @param header - the las header
* @param point - the vector point to modify
*/
static rawToVectorPoint(data: DataView, header: LASHeader, point: VectorPointM<LASFormat>): void;
/** @returns the I32 at x position */
get x(): number;
/** @param value - set an I32 at x position */
set x(value: number);
/** @returns the I32 at y position */
get y(): number;
/** @param value - set an I32 at y position */
set y(value: number);
/** @returns the I32 at z position */
get z(): number;
/** @param value - set an I32 at z position */
set z(value: number);
/** @returns the U16 at intensity position */
get intensity(): number;
/** @param value - set an U16 at intensity position */
set intensity(value: number);
/** @returns the U8 at first flags position */
get flags1(): number;
/** @returns the U8 at legacy return number position */
get legacyReturnNumber(): number;
/** @param value - set an U8 at legacy return number position */
set legacyReturnNumber(value: number);
/** @returns the U8 at legacy number of returns position */
get legacyNumberOfReturns(): number;
/** @param value - set an U8 at legacy number of returns position */
set legacyNumberOfReturns(value: number);
/** @returns the U8 at scan direction flag position */
get scanDirectionFlag(): number;
/** @param value - set an U8 at scan direction flag position */
set scanDirectionFlag(value: number);
/** @returns the U8 at edge of flight line position */
get edgeOfFlightLine(): number;
/** @param value - set an U8 at edge of flight line position */
set edgeOfFlightLine(value: number);
/** @param value - set an U8 at first flags position */
set flags1(value: number);
/** @returns the U8 at second flags position */
get flags2(): number;
/** @returns the U8 at legacy classification position */
get legacyClassification(): number;
/** @returns the isSynthetic flag */
get isSynthetic(): boolean;
/** @returns the isKeyPoint flag */
get isKeyPoint(): boolean;
/** @returns the isWithheld flag */
get isWithheld(): boolean;
/** @param value - set an U8 at legacy classification position */
set legacyClassification(value: number);
/** @returns the U8 at legacy flags position */
get legacyFlags(): number;
/** @param value - set an U8 at legacy flags position */
set legacyFlags(value: number);
/** @param value - set an U8 at second flags position */
set flags2(value: number);
/** @returns the I8 at legacy scan angle rank position */
get legacyScanAngleRank(): number;
/** @param value - set an I8 at legacy scan angle rank position */
set legacyScanAngleRank(value: number);
/** @returns the U8 at user data position */
get userData(): number;
/** @param value - set an U8 at user data position */
set userData(value: number);
/** @returns the I16 at scan angle position */
get scanAngle(): number;
/** @param value - set an I16 at scan angle position */
set scanAngle(value: number);
/** @returns the U16 at point source ID position */
get pointSourceID(): number;
/** @param value - set an U16 at point source ID position */
set pointSourceID(value: number);
/** @returns the U8 at third flags position */
get flags3(): number;
/** @returns the U8 at legacy point type position */
get legacyPointType(): number;
/** @returns the U8 at scanner channel position */
get scannerChannel(): number;
/** @param value - set an U8 at scanner channel position */
set scannerChannel(value: number);
/** @returns the U8 at classification flags position */
get classificationFlags(): number;
/** @param value - set an U8 at classification flags position */
set classificationFlags(value: number);
/** @param value - set an U8 at third flags position */
set flags3(value: number);
/** @returns the U8 at classification position */
get classification(): number;
/** @param value - set an U8 at classification position */
set classification(value: number);
/** @returns the U8 at fourth flags position */
get flags4(): number;
/** @returns the U8 at return number position */
get returnNumber(): number;
/** @param value - set an U8 at return number position */
set returnNumber(value: number);
/** @returns the U8 at number of returns position */
get numberOfReturns(): number;
/** @param value - set an U8 at return number position */
set numberOfReturns(value: number);
/** @param value - set an U8 at fourth flags position */
set flags4(value: number);
/** @returns the U8 at deleted flag position */
get deletedFlag(): number;
/** @param value - set an U8 at deleted flag position */
set deletedFlag(value: number);
/** @returns the U8 at dummy position */
get dummy(): number;
/** @param value - set an U8 at dummy position */
set dummy(value: number);
/** @returns the BOOL at gps time change position */
get gpsTimeChange(): number;
/** @param value - set an BOOL at gps time change position */
set gpsTimeChange(value: number);
/** @returns the F64 at gps time position */
get gpsTime(): number;
/** @param value - set an F64 at gps time position */
set gpsTime(value: number);
/** @returns the U16 red position */
get r(): number;
/** @param value - set an U16 red position */
set r(value: number);
/** @returns the U16 green position */
get g(): number;
/** @param value - set an U16 green position */
set g(value: number);
/** @returns the U16 blue position */
get b(): number;
/** @param value - set an U16 blue position */
set b(value: number);
}
//# sourceMappingURL=items.d.ts.map