import { GeometryEnvelope } from '@ngageoint/simple-features-js'; import { Unit } from './Unit'; import { Point } from './Point'; import { Line } from './Line'; import { GridTile } from '../tile/GridTile'; import { PixelRange } from '../tile/PixelRange'; /** * Grid Bounds */ export declare class Bounds extends GeometryEnvelope { /** * Unit */ private unit?; /** * Create bounds * * @param minLongitude * min longitude * @param minLatitude * min latitude * @param maxLongitude * max longitude * @param maxLatitude * max latitude * @param unit * unit * @return bounds */ static bounds(minLongitude: number, minLatitude: number, maxLongitude: number, maxLatitude: number, unit: Unit): Bounds; /** * Create bounds in degrees * * @param minLongitude * min longitude * @param minLatitude * min latitude * @param maxLongitude * max longitude * @param maxLatitude * max latitude * @return bounds */ static degrees(minLongitude: number, minLatitude: number, maxLongitude: number, maxLatitude: number): Bounds; /** * Create bounds in meters * * @param minLongitude * min longitude * @param minLatitude * min latitude * @param maxLongitude * max longitude * @param maxLatitude * max latitude * @return bounds */ static meters(minLongitude: number, minLatitude: number, maxLongitude: number, maxLatitude: number): Bounds; /** * Create bounds * * @param southwest * southwest corner * @param northeast * northeast corner * @return bounds */ static boundsFromCorners(southwest: Point, northeast: Point): Bounds; /** * Copy bounds * * @param bounds * bounds to copy * @return bounds */ static boundsFromBounds(bounds: Bounds): Bounds; /** * Create bounds * * @param envelope * geometry envelope * @param unit * unit * @return bounds */ static boundsFromEnvelope(envelope: GeometryEnvelope, unit?: Unit): Bounds; /** * Get the min longitude * * @return min longitude */ getMinLongitude(): number; /** * Set the min longitude * * @param minLongitude * min longitude */ setMinLongitude(minLongitude: number): void; /** * Get the min latitude * * @return min latitude */ getMinLatitude(): number; /** * Set the min latitude * * @param minLatitude * min latitude */ setMinLatitude(minLatitude: number): void; /** * Get the max longitude * * @return max longitude */ getMaxLongitude(): number; /** * Set the max longitude * * @param maxLongitude * max longitude */ setMaxLongitude(maxLongitude: number): void; /** * Get the max latitude * * @return max latitude */ getMaxLatitude(): number; /** * Set the max latitude * * @param maxLatitude * max latitude */ setMaxLatitude(maxLatitude: number): void; /** * Get the western longitude * * @return western longitude */ getWest(): number; /** * Set the western longitude * * @param west * western longitude */ setWest(west: number): void; /** * Get the southern latitude * * @return southern latitude */ getSouth(): number; /** * Set the southern latitude * * @param south * southern latitude */ setSouth(south: number): void; /** * Get the eastern longitude * * @return eastern longitude */ getEast(): number; /** * Set the eastern longitude * * @param east * eastern longitude */ setEast(east: number): void; /** * Get the northern latitude * * @return northern latitude */ getNorth(): number; /** * Set the northern latitude * * @param north * northern latitude */ setNorth(north: number): void; /** * Get the unit * * @return unit */ getUnit(): Unit | undefined; /** * Set the unit * * @param unit * unit */ setUnit(unit: Unit): void; /** * Is in the provided unit type * * @param unit * unit * @return true if in the unit */ isUnit(unit: Unit): boolean; /** * Are bounds in degrees * * @return true if degrees */ isDegrees(): boolean; /** * Are bounds in meters * * @return true if meters */ isMeters(): boolean; /** * Convert to the unit * * @param unit * unit * @return bounds in units, same bounds if equal units */ toUnit(unit: Unit): Bounds; /** * Convert to degrees * * @return bounds in degrees, same bounds if already in degrees */ toDegrees(): Bounds; /** * Convert to meters * * @return bounds in meters, same bounds if already in meters */ toMeters(): Bounds; /** * Get the centroid longitude * * @return centroid longitude */ getCentroidLongitude(): number; /** * Get the centroid latitude * * @return centroid latitude */ getCentroidLatitude(): number; /** * {@inheritDoc} */ getCentroid(): Point; /** * Get the width * * @return width */ getWidth(): number; /** * Get the height * * @return height */ getHeight(): number; /** * Get the southwest coordinate * * @return southwest coordinate */ getSouthwest(): Point; /** * Get the northwest coordinate * * @return northwest coordinate */ getNorthwest(): Point; /** * Get the southeast coordinate * * @return southeast coordinate */ getSoutheast(): Point; /** * Get the northeast coordinate * * @return northeast coordinate */ getNortheast(): Point; /** * Create a new bounds as the overlapping between this bounds and the * provided * * @param bounds * bounds * @return overlap bounds */ overlap(bounds: Bounds): GeometryEnvelope; /** * Create a new bounds as the union between this bounds and the provided * * @param bounds * bounds * @return union bounds */ union(bounds: Bounds): GeometryEnvelope; /** * Get the western line * * @return west line */ getWestLine(): Line; /** * Get the southern line * * @return south line */ getSouthLine(): Line; /** * Get the eastern line * * @return east line */ getEastLine(): Line; /** * Get the northern line * * @return north line */ getNorthLine(): Line; /** * Convert the bounds to be precision accurate minimally containing the * bounds. Each bound is equal to or larger by the precision degree amount. * * @param precision * precision in degrees * @return precision bounds */ toPrecision(precision: number): Bounds; /** * Get the pixel range where the bounds fit into the tile * * @param tile * tile * @return pixel range */ getPixelRangeFromTile(tile: GridTile): PixelRange; /** * Get the pixel range where the bounds fit into the provided bounds * * @param width * width * @param height * height * @param bounds * bounds * @return pixel range */ getPixelRange(width: number, height: number, bounds: Bounds): PixelRange; /** * Get the four line bounds in meters * * @return lines */ getLines(): Line[]; /** * Copy the bounds * * @return bounds copy */ copy(): Bounds; /** * {@inheritDoc} */ equals(other: GeometryEnvelope): boolean; } //# sourceMappingURL=Bounds.d.ts.map