GeoJSON 概述
GeoJSON 是一种基于 JSON(JavaScript Object Notation) 的开放标准,用于 编码和交换地理空间数据 的文本格式。它把空间几何对象(点、线、面等)以及与之关联的属性信息统一组织在 JSON 结构中,便于在 Web、移动端以及各种 GIS 软件之间进行互操作。
1. 发展历程
- 2008 年:首次发布的 GeoJSON 规范,奠定了基本的几何类型和 Feature/FeatureCollection 结构。
- 2016 年 8 月:RFC 7946 正式发布,取代 2008 版,统一使用 WGS‑84(EPSG:4326) 坐标系并规定十进制度为坐标单位,使规范更加简洁、易于实现。
2. 基本结构
| 元素 | 必须字段 | 说明 |
|---|---|---|
| Geometry | type, coordinates |
描述几何形状本身。type 可为 Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection。 |
| Feature | type(固定为 "Feature")、geometry、properties |
geometry 包含上述几何对象;properties 为任意键值对,用来存放属性信息(如名称、人口等)。 |
| FeatureCollection | type(固定为 "FeatureCollection")、features |
features 为 Feature 数组,表示一组空间要素的集合。 |
示例(摘自官方 RFC):
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [102.0, 0.5] },
"properties": { "name": "示例点" }
},
{
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
]
},
"properties": { "road": "示例道路" }
}
]
}
3. 关键特性
- 轻量、易读:采用纯文本 JSON,任何文本编辑器均可查看、编辑。
- 跨平台兼容:几乎所有主流编程语言(JavaScript、Python、Java 等)都有对应的解析库,且被多数 Web 地图库(Leaflet、Mapbox GL、OpenLayers)原生支持。
- 统一坐标系:默认使用 WGS‑84(经纬度十进制度),无需额外声明坐标参考系统,简化了 Web 应用的使用。
- 属性扩展:
properties字段可以存放任意非空间属性,方便在可视化时进行样式映射或属性查询。 - 开放标准:由 I‑ETF(RFC 7946)正式发布,遵循 I‑JSON 约束,保证了最大互操作性。
4. 常见应用场景
| 场景 | 说明 |
|---|---|
| Web 地图 | 前端地图框架直接加载 GeoJSON,实现点、线、面的交互式展示。 |
| 移动端离线地图 | 将 GeoJSON 打包为离线数据,配合本地渲染库使用。 |
| 空间数据交换 | 各类 GIS 系统(QGIS、ArcGIS)支持导入/导出 GeoJSON,实现数据共享。 |
| API 接口 | 许多地理信息服务(如 OpenStreetMap Overpass API、Mapbox Tileset API)返回 GeoJSON,便于前端直接消费。 |
| 属性分析 | 通过 properties 搭配数据库(如 PostgreSQL/PostGIS)进行空间查询与属性统计。 |
5. 优势与局限
优势
- 易于调试:直接阅读 JSON,快速定位错误。
- 生态丰富:大量开源库、工具(geojson.io、ogr2ogr)支持。
- 适合矢量数据:点、线、面等几何体的表达非常直观。
局限
- 仅支持矢量:不适用于栅格(影像)数据。
- 文件体积:大规模要素集合(数十万以上)会导致文件体积膨胀,需配合压缩或分块技术。
6. 参考资源
- RFC 7946 – The GeoJSON Format(官方标准)
- GeoJSON 规范说明(中文技术博客):详细介绍几何类型、Feature 结构等
- GeoJSON 入门教程(CSDN):概述、优势及使用场景
小结
GeoJSON 通过 JSON 的简洁语法,将地理空间的几何形状与属性信息统一封装,成为 Web GIS、移动地图以及数据交换的事实标准。它的轻量、跨平台特性使其在现代地理信息系统中得到广泛应用,尤其适合需要快速、可读、可编辑的矢量数据场景。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!