50 lines
2.6 KiB
Markdown
50 lines
2.6 KiB
Markdown
---
|
||
title: 3.2.1、GeoJSON
|
||
date: 2018-5-12 19:14:34
|
||
tags:
|
||
- 数据库
|
||
- MongoDB
|
||
- 索引
|
||
categories:
|
||
- MongoDB
|
||
---
|
||
|
||
GeoJSON是一种对各种地理数据结构进行编码的格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。
|
||
<!-- more -->
|
||
特点
|
||
+ GeoJSON对象可能有任何数目成员(名/值对)。
|
||
+ GeoJSON对象必须由一个名字为`type`的成员。这个成员的值是由GeoJSON对象的类型所确定的字符串。
|
||
+ type成员的值必须是下面之一:**"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"**。这儿type成员值必须如这儿所示。
|
||
+ GeoJSON对象可能有一个可选的"crs"成员,它的值必须是一个坐标参考系统的对象。
|
||
+ GeoJSON对象可能有一个"bbox"成员,它的值必须是边界框数组
|
||
|
||
> `几何`是一种GeoJSON对象( 相当于是一个子集 ),这时type成员的值是下面字符串之一:**"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", 或者"GeometryCollection"**。
|
||
|
||
> 除了“GeometryCollection”外的其他任何类型的GeoJSON几何对象必须包含一个名字为`coordinates`的成员。coordinates成员的值总是数组。这个数组里的元素的结构由几何类型来确定。
|
||
|
||
`位置`是基本的几何结构。几何对象的"coordinates"成员由一个位置(这儿是几何点)、位置数组(线或者几何多点),位置数组的数组(面、多线)或者位置的多维数组(多面)组成。
|
||
|
||
#### 几何的类型
|
||
+ 点 ( Point )
|
||
“coordinates"成员必须是一个单独的位置。
|
||
|
||
+ 多点 ( MultiPoint )
|
||
"coordinates"成员必须是位置数组。
|
||
|
||
+ 线 ( LineString )
|
||
“coordinates"成员必须是两个或者多个位置的数组。
|
||
|
||
+ 多线 ( MultiLineString )
|
||
"coordinates"成员必须是一个线坐标数组的数组。
|
||
|
||
+ 面 ( Polygon )
|
||
"coordinates"成员必须是一个线性环坐标数组的数组。对拥有多个环的的面来说,第一个环必须是外部环,其他的必须是内部环或者孔。
|
||
|
||
+ 多面 ( MultiPlygon )
|
||
"coordinates"成员必须是面坐标数组的数组。
|
||
|
||
+ 几何集合 ( GeometryCollection )
|
||
它表示几何对象的集合。
|
||
几何集合必须有一个名字为`geometries`的成员。与"geometries"相对应的值是一个数组。这个数组中的每个元素都是一个GeoJSON几何对象。
|
||
|