import { Bounds, Point } from '@ngageoint/grid-js'; import { MGRS } from '../MGRS'; import { BandLetterRange } from './BandLetterRange'; import { GridRange } from './GridRange'; import { GridZone } from './GridZone'; import { LatitudeBand } from './LatitudeBand'; import { LongitudinalStrip } from './LongitudinalStrip'; import { ZoneNumberRange } from './ZoneNumberRange'; /** * Grid Zones, Longitudinal Strips, and Latitude Bands */ export declare class GridZones { /** * Longitudinal Strips */ static readonly strips: Map; /** * Latitude Bands */ static readonly bands: Map; /** * Grid Zones */ static readonly gridZones: Map>; /** * Get the longitudinal strip by zone number * * @param zoneNumber * zone number * @return longitudinal strip */ static getLongitudinalStrip(zoneNumber: number): LongitudinalStrip; /** * Get the west longitude in degrees of the zone number * * @param zoneNumber * zone number * @return longitude in degrees */ static getWestLongitude(zoneNumber: number): number; /** * Get the east longitude in degrees of the zone number * * @param zoneNumber * zone number * @return longitude in degrees */ static getEastLongitude(zoneNumber: number): number; /** * Get the latitude band by band letter * * @param bandLetter * band letter * @return latitude band */ static getLatitudeBand(bandLetter: string): LatitudeBand; /** * Get the south latitude in degrees of the band letter * * @param bandLetter * band letter * @return latitude in degrees */ static getSouthLatitude(bandLetter: string): number; /** * Get the north latitude in degrees of the band letter * * @param bandLetter * band letter * @return latitude in degrees */ static getNorthLatitude(bandLetter: string): number; /** * Get the zones within the bounds * * @param bounds * bounds * @return grid zones */ static getZones(bounds: Bounds): GridZone[]; /** * Get the grid zone by zone number and band letter * * @param zoneNumber * zone number * @param bandLetter * band letter * @return grid zone */ static getGridZone(zoneNumber: number, bandLetter: string): GridZone; /** * Get the grid zone by MGRS * * @param mgrs * mgrs coordinate * @return grid zone */ static getGridZoneFromMGRS(mgrs: MGRS): GridZone; /** * Get a grid range from the bounds * * @param bounds * bounds * @return grid range */ static getGridRange(bounds: Bounds): GridRange; /** * Get a zone number range between the western and eastern bounds * * @param bounds * bounds * @return zone number range */ static getZoneNumberRangeFromBounds(bounds: Bounds): ZoneNumberRange; /** * Get a zone number range between the western and eastern longitudes * * @param west * western longitude in degrees * @param east * eastern longitude in degrees * @return zone number range */ static getZoneNumberRange(west: number, east: number): ZoneNumberRange; /** * Get the zone number of the point * * @param point * point * @return zone number */ static getZoneNumberFromPoint(point: Point): number; /** * Get the zone number of the longitude and latitude * * @param longitude * longitude * @param latitude * latitude * @return zone number */ static getZoneNumber(longitude: number, latitude: number): number; /** * Get the zone number of the longitude (degrees between * {@link MGRSConstants#MIN_LON} and {@link MGRSConstants#MAX_LON}) * * @param longitude * longitude in degrees * @param eastern * true for eastern number on edges, false for western * @return zone number */ static getZoneNumberFromLongitude(longitude: number, eastern?: boolean): number; /** * Get a band letter range between the southern and northern bounds * * @param bounds * bounds * @return band letter range */ static getBandLetterRangeFromBounds(bounds: Bounds): BandLetterRange; /** * Get a band letter range between the southern and northern latitudes in * degrees * * @param south * southern latitude in degrees * @param north * northern latitude in degrees * @return band letter range */ static getBandLetterRange(south: number, north: number): BandLetterRange; /** * Get the band letter of the latitude (degrees between * {@link MGRSConstants#MIN_LAT} and {@link MGRSConstants#MAX_LAT}) * * @param latitude * latitude in degrees * @param northern * true for northern band on edges, false for southern * @return band letter */ static getBandLetterFromLatitude(latitude: number, northern?: boolean): string; /** * Is the zone number and band letter a Svalbard GZD (31X - 37X) * * @param zoneNumber * zone number * @param bandLetter * band letter * @return true if a Svalbard GZD */ static isSvalbard(zoneNumber: number, bandLetter: string): boolean; /** * Is the band letter a Svalbard GZD (X) * * @param bandLetter * band letter * @return true if a Svalbard GZD */ static isSvalbardLetter(bandLetter: string): boolean; /** * Is the zone number a Svalbard GZD (31 - 37) * * @param zoneNumber * zone number * @return true if a Svalbard GZD */ static isSvalbardZone(zoneNumber: number): boolean; /** * Get the Svalbard longitudinal strip from the strip * * @param strip * longitudinal strip * @return Svalbard strip or null for empty strips */ private static getSvalbardStrip; /** * Get the Svalbard zone number from the longitude * * @param longitude * longitude * @return zone number */ private static getSvalbardZone; /** * Is the zone number and band letter a Norway GZD (31V or 32V) * * @param zoneNumber * zone number * @param bandLetter * band letter * @return true if a Norway GZD */ private static isNorway; /** * Is the band letter a Norway GZD (V) * * @param bandLetter * band letter * @return true if a Norway GZD band letter */ private static isNorwayLetter; /** * Is the zone number a Norway GZD (31 or 32) * * @param zoneNumber * zone number * @return true if a Norway GZD zone number */ private static isNorwayZone; /** * Get the Norway longitudinal strip from the strip * * @param strip * longitudinal strip * @return Norway strip */ private static getNorwayStrip; /** * Get the Norway zone number from the longitude * * @param longitude * longitude * @return zone number */ private static getNorwayZone; } //# sourceMappingURL=GridZones.d.ts.map