blog-web/source/_posts/MongoDB/3.2.1、GeoJSON.md
结发受长生 a29cff3aed 笔记迁移
2018-05-12 19:51:10 +08:00

50 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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几何对象。