UNPKG

5.03 kBTypeScriptView Raw
1/// <reference types='geojson' />
2
3export type Id = string|number
4export type Points = GeoJSON.FeatureCollection<GeoJSON.Point>;
5export type Point = GeoJSON.Feature<GeoJSON.Point>;
6export type MultiPoints = GeoJSON.FeatureCollection<GeoJSON.MultiPoint>;
7export type MultiPoint = GeoJSON.Feature<GeoJSON.MultiPoint>;
8export type LineStrings = GeoJSON.FeatureCollection<GeoJSON.LineString>;
9export type LineString = GeoJSON.Feature<GeoJSON.LineString>;
10export type MultiLineStrings = GeoJSON.FeatureCollection<GeoJSON.MultiLineString>;
11export type MultiLineString = GeoJSON.Feature<GeoJSON.MultiLineString>;
12export type Polygons = GeoJSON.FeatureCollection<GeoJSON.Polygon>;
13export type Polygon = GeoJSON.Feature<GeoJSON.Polygon>;
14export type MultiPolygons = GeoJSON.FeatureCollection<GeoJSON.MultiPolygon>;
15export type MultiPolygon = GeoJSON.Feature<GeoJSON.MultiPolygon>;
16export type Position = GeoJSON.Position;
17export type LineStringFeatures = LineString | LineStrings | MultiLineString | MultiLineStrings | GeoJSON.LineString | GeoJSON.MultiLineString
18export type PolygonFeatures = Polygon | Polygons | MultiPolygon | MultiPolygons | GeoJSON.Polygon | GeoJSON.MultiPolygon
19export type Features<Geom extends GeometryObject> = GeoJSON.FeatureCollection<Geom>;
20export type Feature<Geom extends GeometryObject> = GeoJSON.Feature<Geom>;
21export type Units = 'miles' | 'nauticalmiles' | 'degrees' | 'radians' | 'inches' | 'yards' | 'meters' | 'metres' | 'kilometers' | 'kilometres';
22export type BBox = [number, number, number, number];
23export type GeometryObject = GeoJSON.GeometryObject;
24export type GeometryCollection = GeoJSON.GeometryCollection;
25export type Geoms = GeoJSON.Point | GeoJSON.LineString | GeoJSON.Polygon | GeoJSON.MultiPoint | GeoJSON.MultiLineString | GeoJSON.MultiPolygon;
26export type GeometryTypes = 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon';
27
28export interface FeatureGeometryCollection extends GeoJSON.Feature<any> {
29 geometry: GeometryCollection
30}
31
32export interface FeatureCollection {
33 <Geom extends Geoms>(features: Feature<Geom>[], bbox?: BBox, id?: Id): Features<Geom>;
34 (features: Feature<any>[], bbox?: BBox, id?: Id): Features<any>;
35}
36
37export interface Properties {
38 [key: string]: any
39}
40
41/**
42 * http://turfjs.org/docs/#feature
43 */
44export function feature<Geom extends GeometryObject>(geometry: Geom, properties?: Properties, bbox?: BBox, id?: Id): Feature<Geom>;
45
46/**
47 * http://turfjs.org/docs/#geometry
48 */
49export function geometry(type: GeometryTypes, coordinates: any[], bbox?: BBox): GeometryObject;
50
51/**
52 * http://turfjs.org/docs/#point
53 */
54export function point(coordinates: Position, properties?: Properties, bbox?: BBox, id?: Id): Point;
55
56/**
57 * http://turfjs.org/docs/#polygon
58 */
59export function polygon(coordinates: Position[][], properties?: Properties, bbox?: BBox, id?: Id): Polygon;
60
61/**
62 * http://turfjs.org/docs/#linestring
63 */
64export function lineString(coordinates: Position[], properties?: Properties, bbox?: BBox, id?: Id): LineString;
65
66/**
67 * http://turfjs.org/docs/#featurecollection
68 */
69export const featureCollection: FeatureCollection;
70
71/**
72 * http://turfjs.org/docs/#multilinestring
73 */
74export function multiLineString(coordinates: Position[][], properties?: Properties, bbox?: BBox, id?: Id): MultiLineString;
75
76/**
77 * http://turfjs.org/docs/#multipoint
78 */
79export function multiPoint(coordinates: Position[], properties?: Properties, bbox?: BBox, id?: Id): MultiPoint;
80
81/**
82 * http://turfjs.org/docs/#multipolygon
83 */
84export function multiPolygon(coordinates: Position[][][], properties?: Properties, bbox?: BBox, id?: Id): MultiPolygon;
85
86/**
87 * http://turfjs.org/docs/#geometrycollection
88 */
89export function geometryCollection(geometries: GeometryObject[], properties?: Properties, bbox?: BBox, id?: Id): FeatureGeometryCollection;
90
91/**
92 * http://turfjs.org/docs/#radianstodistance
93 */
94export function radiansToDistance(radians: number, units?: Units): number
95
96/**
97 * http://turfjs.org/docs/#distancetoradians
98 */
99export function distanceToRadians(distance: number, units?: Units): number
100
101/**
102 * http://turfjs.org/docs/#distancetodegrees
103 */
104export function distanceToDegrees(distance: number, units?: Units): number
105
106/**
107 * http://turfjs.org/docs/#bearingtoangle
108 */
109export function bearingToAngle(bearing: number): number
110
111/**
112 * http://turfjs.org/docs/#radians2degrees
113 */
114export function radians2degrees(radians: number): number
115
116/**
117 * http://turfjs.org/docs/#degrees2radians
118 */
119export function degrees2radians(degrees: number): number
120
121/**
122 * http://turfjs.org/docs/#round
123 */
124export function round(num: number, precision?: number): number
125
126/**
127 * http://turfjs.org/docs/#convertdistance
128 */
129export function convertDistance(distance: number, originalUnit: Units, finalUnit?: Units): number
130
131/**
132 * http://turfjs.org/docs/#convertarea
133 */
134export function convertArea(area: number, originalUnit?: Units, finalUnit?: Units): number
135
136/**
137 * http://turfjs.org/docs/#isnumber
138 */
139export function isNumber(num: any): boolean
140
\No newline at end of file