/** * Calculates surface penetrations * @module AirspaceCalculator */ import ElevationQueryResponse from "usgs-ned/ElevationQueryResult"; import SurfacePenetrationInfo from "./SurfacePenetrationInfo"; /** * Result of the Airspace Calculator. */ export interface AirspaceCalculatorResult { /** Surface penetration information */ surfacePenetration: SurfacePenetrationInfo; /** Terrain Information */ terrainInfo: ElevationQueryResponse; /** An array containing two number elements: X and Y values. */ xy: [number, number]; } /** * Calculates surface penetrations */ export default class AirspaceCalculator { imageServiceUrl: string; elevationServiceUrl?: string | undefined; /** * Performs calculation * @param x - X coordinate of a point * @param y - Y coordinate of a point * @param agl - Height above ground level (AGL) in feet. * @param imageServiceUrl - E.g., * https://example.com/arcgis/rest/services/Airport/Airport_Surfaces_40ft_Int/ImageServer * @param [elevationServiceUrl] - Override the default URL to the USGS National Map Elevation service, * in case they move the service in the future. */ static calculateSurfacePenetration(x: number, y: number, agl: number, imageServiceUrl: string, elevationServiceUrl?: string): Promise; /** * @param imageServiceUrl - E.g., * https://example.com/arcgis/rest/services/Airport/Airport_Surfaces_40ft_Int/ImageServer * @param [elevationServiceUrl] - Override the default URL to the USGS National Map Elevation service, * in case they move the service in the future. */ constructor(imageServiceUrl: string, elevationServiceUrl?: string | undefined); /** * Performs calculation * @param {number} x - The X coordinate * @param {number} y - The Y coordinate * @param {number} agl - Height above ground level (AGL) in feet. * @returns {Promise} */ calculate(x: number, y: number, agl: number): Promise; }