地理数据¶
地理数据是对现实世界的地理空间实体、现象以及它们之间相互关系的认知和理解的抽象表达,用于在计算机中进行处理和分析。这些数据表达方式主要分为两大类:矢量数据和栅格数据
矢量数据:矢量数据通过记录实体的 坐标 及其关系,尽可能精确的表示点、线、面等地理实体。
栅格数据:栅格数据以规则网格表示空间对象,每个网格单元的数值表示空间对象的 属性 特征,即栅格中每个单元的行列号确定位置,属性值表示空间对象的类型、等级等特征。栅格数据结构适用于表达连续分布的空间对象。
矢量数据¶
GeoJSON¶
GeoJSON1 是一种基于 JavaScript Object Notation(JSON)的地理空间数据交换格式。GeoJSON 支持 Point
,MultiPoint
,LineString
,MultiLineString
,Polygon
,MultiPolygon
和 GeometryCollection
几何类型,带有属性 (properties
) 的几何对象称为要素 (Feature
),要素集 (FeatureCollection
) 包含一系列要素 (Feature
)。如:
有关 GeoJSON 的 JavaScript 库请查阅:GeoJSON
除 GeometryCollection
外的其他类型的 GeoJSON 几何对象必须有坐标 (coordinates
) 属性,其值总是数组,这个数组里的元素的结构由几何类型来确定。
Position¶
位置 (Position
) 是基本的几何结构,由其组成几何对象的坐标属性。位置是一个长度为 2 或 3 的数值类型数组,前 2 个元素分别为经度和纬度(地理坐标系)或东向和北向(投影坐标系),如:[125.6, 10.1]
。如果需要表示海拔或高度,可由第 3 个元素表示,如:[125.6, 10.1, 1000]
。
Point¶
MultiPoint¶
LineString¶
MultiLineString¶
Ploygon¶
描述多边形 (Ploygon
) 之前,需要先了解组成多边形的线性环 (linear ring
):
- 线性环是一个至少 4 个位置的闭合线;
- 首尾位置必须相同;
- 线性环是面的边界或面中孔的边界;
- 必须遵循右手规则,即外环为逆时针方向,孔为顺时针方向。
多边形 | |
---|---|
有孔的多边形 | |
---|---|
MultiPolygon¶
Shapefile¶
Shapefile2 是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。Shapefile 由多个特定文件扩展名的文件共同构成,其中 .shp .shx 和 .dbf 是必需的。
- .shp - 用于存储要素几何的主文件;必需文件。
- .shx - 用于存储要素几何索引的索引文件;必需文件。
- .dbf - 用于存储要素属性信息的 dBASE 表;必需文件。 几何与属性是一对一关系,这种关系基于记录编号。dBASE 文件中的属性记录必须与主文件中的记录采用相同的顺序。
- .prj - 用于存储坐标系信息的文件。
- .cpg - 可选文件,指定用于标识要使用的字符集。
WKT & WKB¶
WKT(well-known text)3 是一种用于表示矢量几何对象的文本标记语言,它的二进制表示方式即 WKB(well-known binary)。
栅格数据¶
JPEG¶
基于 JPEG 的栅格数据格式。
GeoTIFF¶
GeoTIFF4 是基于 TIFF 的扩展格式,增加了描述和使用地理图像数据所需的元数据。云优化 GeoTIFF (COG)5 是一个常规的 GeoTIFF 文件,旨在托管文件服务器上,其内部组织可以在云上实现更高效的工作流。
-
GeoJSON:https://geojson.org/ ↩
-
Shapefile:什么是 shapefile? ↩
-
Cloud Optimized GeoTIFF (COG):https://www.cogeo.org/ ↩