// Type definitions for GeoJSON Format Specification // Project: http://geojson.org/ // Definitions by: Jacob Bruun // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace GeoJSON { /*** * http://geojson.org/geojson-spec.html#geojson-objects */ export interface GeoJsonObject { type: string; bbox?: number[]; crs?: CoordinateReferenceSystem; } /*** * http://geojson.org/geojson-spec.html#positions */ export type Position = number[] /*** * http://geojson.org/geojson-spec.html#geometry-objects */ export interface GeometryObject extends GeoJsonObject { coordinates: any } /*** * http://geojson.org/geojson-spec.html#point */ export interface Point extends GeometryObject { type: 'Point' coordinates: Position } /*** * http://geojson.org/geojson-spec.html#multipoint */ export interface MultiPoint extends GeometryObject { type: 'MultiPoint' coordinates: Position[] } /*** * http://geojson.org/geojson-spec.html#linestring */ export interface LineString extends GeometryObject { type: 'LineString' coordinates: Position[] } /*** * http://geojson.org/geojson-spec.html#multilinestring */ export interface MultiLineString extends GeometryObject { type: 'MultiLineString' coordinates: Position[][] } /*** * http://geojson.org/geojson-spec.html#polygon */ export interface Polygon extends GeometryObject { type: 'Polygon' coordinates: Position[][] } /*** * http://geojson.org/geojson-spec.html#multipolygon */ export interface MultiPolygon extends GeometryObject { type: 'MultiPolygon' coordinates: Position[][][] } /*** * http://geojson.org/geojson-spec.html#geometry-collection */ export interface GeometryCollection extends GeoJsonObject { type: 'GeometryCollection' geometries: GeometryObject[]; } /*** * http://geojson.org/geojson-spec.html#feature-objects */ export interface Feature extends GeoJsonObject { type: 'Feature' geometry: T; properties: any; id?: string; } /*** * http://geojson.org/geojson-spec.html#feature-collection-objects */ export interface FeatureCollection extends GeoJsonObject { type: 'FeatureCollection' features: Feature[]; } /*** * http://geojson.org/geojson-spec.html#coordinate-reference-system-objects */ export interface CoordinateReferenceSystem { type: string; properties: any; } export interface NamedCoordinateReferenceSystem extends CoordinateReferenceSystem { properties: { name: string } } export interface LinkedCoordinateReferenceSystem extends CoordinateReferenceSystem { properties: { href: string; type: string } } }