mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
127 lines
2.8 KiB
TypeScript
127 lines
2.8 KiB
TypeScript
// Type definitions for GeoJSON Format Specification
|
|
// Project: http://geojson.org/
|
|
// Definitions by: Jacob Bruun <https://github.com/cobster/>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
declare module 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 interface Position
|
|
{
|
|
[index: number]: 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
|
|
{
|
|
coordinates: Position
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#multipoint
|
|
*/
|
|
export interface MultiPoint extends GeometryObject
|
|
{
|
|
|
|
coordinates: Position[]
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#linestring
|
|
*/
|
|
export interface LineString extends GeometryObject
|
|
{
|
|
coordinates: Position[]
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#multilinestring
|
|
*/
|
|
export interface MultiLineString extends GeometryObject
|
|
{
|
|
coordinates: Position[][]
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#polygon
|
|
*/
|
|
export interface Polygon extends GeometryObject
|
|
{
|
|
coordinates: Position[][]
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#multipolygon
|
|
*/
|
|
export interface MultiPolygon extends GeometryObject
|
|
{
|
|
coordinates: Position[][][]
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#geometry-collection
|
|
*/
|
|
export interface GeometryCollection extends GeoJsonObject
|
|
{
|
|
geometries: GeometryObject[];
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#feature-objects
|
|
*/
|
|
export interface Feature extends GeoJsonObject
|
|
{
|
|
geometry: GeometryObject;
|
|
properties: any;
|
|
id?: string;
|
|
}
|
|
|
|
/***
|
|
* http://geojson.org/geojson-spec.html#feature-collection-objects
|
|
*/
|
|
export interface FeatureCollection extends GeoJsonObject
|
|
{
|
|
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 }
|
|
}
|
|
} |