UNPKG

@esri/arcgis-rest-request

Version:

Common methods and utilities for @esri/arcgis-rest-js packages.

202 lines (201 loc) 4.85 kB
/** * `IHasZM` can also be imported from the following packages: * * ```js * import { IHasZM } from "@esri/arcgis-rest-feature-service"; * ``` */ export interface IHasZM { hasZ?: boolean; hasM?: boolean; } /** * Spatial reference systems define mathematical transformations and coordinate systems for displaying spatial information in 2D and 3D. * * `ISpatialReference` can also be imported from the following packages: * * ```js * import { ISpatialReference } from "@esri/arcgis-rest-geocoding"; * import { ISpatialReference } from "@esri/arcgis-rest-feature-service"; * ``` */ export interface ISpatialReference { wkid?: number; latestWkid?: number; vcsWkid?: number; latestVcsWkid?: number; wkt?: string; latestWkt?: string; } /** * a building block for discrete geometries * * `IGeometry` can also be imported from the following packages: * * ```js * import { IGeometry } from "@esri/arcgis-rest-feature-service"; * ``` */ export interface IGeometry { spatialReference?: ISpatialReference; } /** * A simple point geometry, with spatial reference defined. * * `IPoint` can also be imported from the following packages: * * ```js * import { IPoint } from "@esri/arcgis-rest-routing"; * import { IPoint } from "@esri/arcgis-rest-geocoding"; * ``` */ export interface IPoint extends IHasZM, IGeometry { x: number; y: number; z?: number; } /** * `ILocation` can also be imported from the following packages: * * ```js * import { ILocation } from "@esri/arcgis-rest-routing"; * import { ILocation } from "@esri/arcgis-rest-geocoding"; * ``` */ export interface ILocation { latitude?: number; longitude?: number; lat?: number; long?: number; z?: number; } /** * A polyline geometry. * * `IPolyLine` can also be imported from the following packages: * * ``` * import { IPolyLine } from "@esri/arcgis-rest-routing"; * ``` */ export interface IPolyline extends IHasZM, IGeometry { paths: Position[][]; } /** * */ export interface IPolylineWithCurves extends IHasZM, IGeometry { curvePaths: Array<Array<Position | JsonCurve>>; } /** * */ export interface IPolygon extends IHasZM, IGeometry { rings: Position[][]; } /** * */ export interface IPolygonWithCurves extends IHasZM, IGeometry { curveRings: Array<Array<Position | JsonCurve>>; } /** * */ export declare type Position = Position2D | [number, number, number] | [number, number, number, number]; /** * `Position2D` can also be imported from the following packages: * * ``` * import { Position2D } from "@esri/arcgis-rest-routing"; * ``` */ export declare type Position2D = [number, number]; /** * An arc can be represented as a JSON curve object */ export interface IArc { a: [ Position, Position2D, number, number, number, number, number ]; } /** * a bezier curve can be represented as a JSON curve object */ export interface IBezierCurve { b: [Position, Position2D, Position2D]; } /** * a circular arc can be represented as a JSON curve object */ export interface ICircularArc { c: [Position, Position2D]; } /** * */ export declare type ElipticArc = IArc; /** * `GeometryType` can also be imported from the following packages: * * ```js * import { GeometryType } from "@esri/arcgis-rest-feature-service"; * ``` */ export declare type GeometryType = "esriGeometryPoint" | "esriGeometryMultipoint" | "esriGeometryPolyline" | "esriGeometryPolygon" | "esriGeometryEnvelope" | "esriGeometryMultiPatch"; /** * Extents are used to define rectangles and bounding boxes. * * `IExtent` can also be imported from the following packages: * * ```js * import { IExtent } from "@esri/arcgis-rest-demographics"; * import { IExtent } from "@esri/arcgis-rest-feature-service"; * import { IExtent } from "@esri/arcgis-rest-geocoding"; * import { IExtent } from "@esri/arcgis-rest-service-admin"; * ``` */ export interface IExtent { xmin: number; ymin: number; zmin?: number; xmax: number; ymax: number; zmax?: number; spatialReference?: ISpatialReference; } /** * */ export declare type JsonCurve = ICircularArc | IArc | IOldCircularArc | IBezierCurve; /** * */ export interface IOldCircularArc { a: [ Position, Position2D, number, number ]; } /** * A multipoint contains an array of points. */ export interface IMultipoint extends IHasZM, IGeometry { points: Position[]; } /** * `Units` can also be imported from the following packages: * * ```js * import { Units } from "@esri/arcgis-rest-feature-service"; * ``` */ export declare type Units = "esriSRUnit_Meter" | "esriSRUnit_StatuteMile" | "esriSRUnit_Foot" | "esriSRUnit_Kilometer" | "esriSRUnit_NauticalMile" | "esriSRUnit_USNauticalMile";