概述
GeoJSON是一种对地理数据结构进行编码的数据格式。
支持类型:点/多点、线/多线、面/多面以及几何集合。
格式要求:
- 可由任意数目个键值对组成
- 必须有一个"type"键,用以指定对象集合类型
- 可选键名"crs",用以指定坐标系,必须是一个坐标系对象
- 可选键名"bbox",用以指定几何对象边界,必须是一个边界框数组
类型参数:“type”
type对应值必须为Point/MultiPoint/LineString/MultiLineString/Polygon/MultiPolygon/GeometryCollection/Feature/FeatureCollection中一个
位置参数:“coordinates”
除GeometryCollection外,其他几何类型必须有coordinates参数,此参数值总为数组类型,至少有两个元素,顺序必须是X->Y->Z或投影坐标系的东向->北向->高度或地理坐标系的经度->纬度->高度。
坐标系参数:“crs”
可选参数,若当前对象无此参数,则继承上级对象坐标系,若顶级也无坐标系,则使用默认crs即WGS84坐标系,长度和高度都以十进制表示。
- 对应值必须为JSON对象或null
- 对应值必须有type和properties两个键值对,其中type值必须为字符串,说明crs对象是名字crs还是连接crs,properties值对应crs内容
边界框参数:“bbox”
可选参数,对应值必须为2*N维数组,所有坐标轴的最低值后面跟着最高者值,遵循几何坐标轴的顺序。
不同几何类型的位置参数
**点 :**对类型"Point"来说,“coordinates"成员必须是一个单独的位置。
**多点:**对类型"MultiPoint"来说,"coordinates"成员必须是位置数组。
**线 :**对类型"LineString"来说,“coordinates"成员必须是两个或者多个位置的数组。 线性环是具有4个或者更多位置的封闭的线。第一个和最后一个位置是相等的(它们表示相同的的点)。虽然线性环没有鲜明地作为GeoJSON几何类型,不过在面几何类型定义里有提到它。
**多线:**对类型“MultiLineString"来说,"coordinates"成员必须是一个线坐标数组的数组。
**面:**对类型"Polygon"来说,"coordinates"成员必须是一个线性环坐标数组的数组。对拥有多个环的的面来说,第一个环必须是外部环,其他的必须是内部环或者孔。
**多面:**对类型"MultiPlygon"来说,"coordinates"成员必须是面坐标数组的数组。
**几何集合:**类型为"GeometryCollection"的GeoJSON对象是一个集合对象,它表示几何对象的集合。 几何集合必须有一个名字为"geometries"的成员。与"geometries"相对应的值是一个数组。这个数组中的每个元素都是一个GeoJSON几何对象。
**特征对象:**特征对象必须由一个名字为"geometry"的成员,这个几何成员的值是上面定义的几何对象或者JSON的null值; 特征对戏那个必须有一个名字为“properties"的成员,这个属性成员的值是一个对象(任何JSON对象或者JSON的null值);如果特征是常用的标识符,那么这个标识符应当包含名字为“id”的特征对象成员。
**特征集合对象:**类型为"FeatureCollection"的GeoJSON对象是特征集合对象,类型为"FeatureCollection"的对象必须由一个名字为"features"的成员。与“features"相对应的值是一个数组。这个数组中的每个元素都是上面定义的特征对象。
最后
以上就是如意太阳为你收集整理的GeoJSON格式规范的全部内容,希望文章能够帮你解决GeoJSON格式规范所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复