/// import { CircularString, CompoundCurve, Curve, CurvePolygon, Geometry, GeometryCollection, GeometryFilter, GeometryType, LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon, PolyhedralSurface, TIN, Triangle } from "@ngageoint/simple-features-js"; import { ByteReader } from "./ByteReader"; import { GeometryTypeInfo } from "./GeometryTypeInfo"; /** * Well Known Binary reader */ export declare class GeometryReader { /** * 2.5D bit */ private static readonly WKB25D; /** * Byte Reader */ private reader; constructor(reader: ByteReader); constructor(buffer: Buffer); /** * Get the byte reader * @return byte reader */ getByteReader(): ByteReader; /** * Read a geometry from the byte reader * * @param filter geometry filter * @param containingType containing geometry type * @return geometry */ read(filter: GeometryFilter, containingType?: GeometryType): Geometry; /** * Read the geometry type info * @return geometry type info */ readGeometryType(): GeometryTypeInfo; /** * Read a Point * @param hasZ has z flag * @param hasM has m flag * @return point */ readPoint(hasZ: boolean, hasM: boolean): Point; /** * Read a Line String * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return line string */ readLineString(filter: GeometryFilter, hasZ: boolean, hasM: boolean): LineString; /** * Read a Polygon * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return polygon */ readPolygon(filter: GeometryFilter, hasZ: boolean, hasM: boolean): Polygon; /** * Read a Multi Point * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return multi point */ readMultiPoint(filter: GeometryFilter, hasZ: boolean, hasM: boolean): MultiPoint; /** * Read a Multi Line String * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return multi line string */ readMultiLineString(filter: GeometryFilter, hasZ: boolean, hasM: boolean): MultiLineString; /** * Read a Multi Polygon * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return multi polygon */ readMultiPolygon(filter: GeometryFilter, hasZ: boolean, hasM: boolean): MultiPolygon; /** * Read a Geometry Collection * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return geometry collection */ readGeometryCollection(filter: GeometryFilter, hasZ: boolean, hasM: boolean): GeometryCollection; /** * Read a Circular String * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return circular string */ readCircularString(filter: GeometryFilter, hasZ: boolean, hasM: boolean): CircularString; /** * Read a Compound Curve * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return compound curve */ readCompoundCurve(filter: GeometryFilter, hasZ: boolean, hasM: boolean): CompoundCurve; /** * Read a Curve Polygon * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return curve polygon */ readCurvePolygon(filter: GeometryFilter, hasZ: boolean, hasM: boolean): CurvePolygon; /** * Read a Polyhedral Surface * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return polyhedral surface */ readPolyhedralSurface(filter: GeometryFilter, hasZ: boolean, hasM: boolean): PolyhedralSurface; /** * Read a TIN * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return TIN */ readTIN(filter: GeometryFilter, hasZ: boolean, hasM: boolean): TIN; /** * Read a Triangle * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return triangle */ readTriangle(filter: GeometryFilter, hasZ: boolean, hasM: boolean): Triangle; /** * Read a geometry from the byte reader * @param buffer buffer * @param filter geometry filter * @param containingType containing geometry type * @return geometry */ static readGeometry(buffer: Buffer, filter?: GeometryFilter, containingType?: GeometryType): Geometry; /** * Read a geometry from the byte reader * @param reader byte reader * @param filter geometry filter * @param containingType containing geometry type * @return geometry */ static readGeometryWithByteReader(reader: ByteReader, filter?: GeometryFilter, containingType?: GeometryType): Geometry; /** * Read the geometry type info * @param reader byte reader * @return geometry type info */ static readGeometryType(reader: ByteReader): GeometryTypeInfo; /** * Read a Point * @param reader byte reader * @param hasZ has z flag * @param hasM has m flag * @return point */ static readPoint(reader: ByteReader, hasZ: boolean, hasM: boolean): Point; /** * Read a Line String * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return line string */ static readLineString(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): LineString; /** * Read a Polygon * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return polygon */ static readPolygon(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): Polygon; /** * Read a Multi Point * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return multi point */ static readMultiPoint(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): MultiPoint; /** * Read a Multi Line String * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return multi line string */ static readMultiLineString(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): MultiLineString; /** * Read a Multi Polygon * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return multi polygon */ static readMultiPolygon(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): MultiPolygon; /** * Read a Geometry Collection * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return geometry collection */ static readGeometryCollection(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): GeometryCollection; /** * Read a Circular String * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return circular string */ static readCircularString(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): CircularString; /** * Read a Compound Curve * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return compound curve */ static readCompoundCurve(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): CompoundCurve; /** * Read a Curve Polygon * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return curve polygon */ static readCurvePolygon(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): CurvePolygon; /** * Read a Polyhedral Surface * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return polyhedral surface */ static readPolyhedralSurface(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): PolyhedralSurface; /** * Read a TIN * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return TIN */ static readTIN(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): TIN; /** * Read a Triangle * @param reader byte reader * @param filter geometry filter * @param hasZ has z flag * @param hasM has m flag * @return triangle */ static readTriangle(reader: ByteReader, filter: GeometryFilter, hasZ: boolean, hasM: boolean): Triangle; /** * Filter the geometry * * @param filter geometry filter or null * @param containingType containing geometry type * @param geometry geometry or null * @return true if passes filter */ private static filter; }