/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ export interface IMapProjection { project(longitude: number, latitude: number, xy: [number, number]): void; unproject(x: number, y: number, lonLat: [number, number]): void; } export declare class MercatorHelper implements IMapProjection { readonly minLatitude = -85.05112878; readonly maxLatitude = 85.05112878; readonly minLongitude = -180; readonly maxLongitude = 180; readonly minX = -1; readonly minY = -1; readonly maxX = 1; readonly maxY = 1; project(longitude: number, latitude: number, xy: [number, number]): void; unproject(x: number, y: number, lonLat: [number, number]): void; } export declare class AlbersHelper implements IMapProjection { private _phi1; get standardParallel1(): number; set standardParallel1(value: number); private _phi2; get standardParallel2(): number; set standardParallel2(value: number); private _lat0; get latitudeOfOrigin(): number; set latitudeOfOrigin(value: number); private _lon0; get centralMeridian(): number; set centralMeridian(value: number); project(lon: number, lat: number, xy: [number, number]): void; unproject(x: number, y: number, lonLat: [number, number]): void; } export interface IGeoJSON { features: IGeoJSONFeature[]; } export interface IGeoJSONFeature { geometry: IGeoJSONGeometry; properties: { [key: string]: any; } | null; } export interface IGeoJSONGeometry { type: "Polygon" | "MultiPolygon"; } export interface IGeoJSONPolygon extends IGeoJSONGeometry { type: "Polygon"; coordinates: number[][][]; } export interface IGeoJSONMultiPolygon extends IGeoJSONGeometry { type: "MultiPolygon"; coordinates: number[][][][]; } export declare class GeoJSONHelper { private _lonLat; constructor(); feature(geoJSON: IGeoJSON, property: string, key: string): IGeoJSONFeature; bounds(geometry: IGeoJSONGeometry, clip: { minLon: number; maxLon: number; minLat: number; maxLat: number; }, projection: IMapProjection): { minX: number; maxX: number; minY: number; maxY: number; }; }