Open Geospatial Consortium (OGC)开放地理空间信息联盟,他们在全球范围内合作建立地理信息技术的开放标准和最佳实践,为地理信息交换的便捷提供技术支持。
完整标准列表参考这里,我们目前接触的标准主要有:
1. KML Encoding Standard (KML) 地理注记
KML 是一种文件格式,用于在Google 地球、Google 地图中显示地理数据。是一种用于地理信息可视化的 XML 语法。参考google示例
2. OGC SensorThings
OGC SensorThings API为物联网中的所有设备提供了开放且统一的连接方式,也给这些设备的观测(Observations)提供了可供运用与分析的接口。
SensorThings API的基础是对系统中的实体(entities)在现实世界中的相互关系进行模型化。这些实体之间的自然关系使得任何垂直产业中的物联网传感器设备都可被模型化。比如,一个物联网设备(device)或者一个物联网系统(system)可模型化为一个物体(Thing),一个物体(Thing)既含有位置(Location),也含有一个或多个数据流(Datastreams)。每个数据流(Datastream)都是通过一个传感器(Sensor)观测一个观测属性(ObservedProperty)而获得的,且这个传感器(Sensor)可能存在多个观测(Observations)。传感器(Sensor)观测(Observation)的是一个特定的被观测物(FeatureOfInterest)。综合以上,这些相互关系就可灵活且标准化地描述和模拟各种传感系统,SensorThings借助这些相互关系从而实现了为任何组织的异构设备提供了单数据交换的功能
需要注意的是,标准定义的请求通过HTTP协议中不同请求方式来区分接口,而不是我们常用的通过API接口名来区分。比如针对某个Thing,对他的查询/更新/删除操作,在标准中请求接口都是/v1.0/Things(id),而通过HTTP的请求方式GET/PATCH/DELETE来区分。而我们平时变成中可能就会这样:/v1.0/getThings(id),/v1.0/updateThings(id), /v1.0/deleteThings(id)。
开源实现参考FROST-Server, 此应用实现了上述标准,底层使用postgis。
3. Web Map Service (WMS) 网络地图服务
能够根据用户的请求,返回地图(包括PNG,GIF,JPEG等栅格形式或者是SVG和WEB CGM等矢量形式)。提供的主要接口有:
操作 | 描述 |
---|---|
GetCapabilities | 返回服务级元数据。包括支持的操作和参数列表,以及当前能够渲染的图层列表 |
GetMap | 返回一个地图影像。 |
GetFeatureinfo | 返回地图上的某像素点处地理数据的要素信息,包括属性 |
示例:
4. Web Feature Service (WFS) 网络地理要素服务
网络地理要素服务支持对地理要素的插入,更新,删除,检索和发现服务。WFS通过OGC Filter构造查询条件,支持基于空间、基于属性域的查询,以GML格式返回。
|操作| 描述|
|:---|:----|
|GetCapabilities|返回服务级元数据|
|DescribeFeatureType|返回要素结构,以便客户端进行查询和其他操作|
|GetFeature | 可根据查询要求返回一个符合GML规范的数据文档。GetFeature是最重要的接口。|
示例来自massgis:
- GetFeature获取要素总数:其中“resultType=hits”表示请求的是要素个数,(massgis:GISDATA.SCHOOLS_PT)表示的是请求的数据图层,要素个数上限是25,000。
- GetFeature获取某数据图层所有数据, 返回结果中包括数据图层所有的属性字段值以及空间位置数据,如果数量大,返回的XML将很长,可以通过查询条件过滤。
- 通过CQL(Common Query Language)过滤查询: 示例返回图层massgis:GISDATA.TOWNS_POLY 中(POP2000 > 100000 )的记录,并过滤掉NAME 和 POP2000以外的所有属性字段。
- 空间查询,获取某条线穿越过的多边形
5. Web Processing Service (WPS) 网络地理信息处理服务
上面提到的WFS查询返回的矢量数据都是原始的数据,不能返回修改后的数据,WPS可以在服务端对数据进行处理,最后返回处理后的数据。比如缓冲区, 重投影, 数据简化等操作
示例:
6. 其他标准
OGC 指定的标准很多,以上几个经常用到,简单介绍了下,下面这些暂未深入:
- Web Coverage Service (WCS) 网络地理场数据服务:标准定义了一套标准接口和操作用于提供和获取可共用的网络地理场数据服务。“Grid coverages”栅格数据通常指卫星图片、数字航摄图片、数字高程模型及其它使用各个点的数值模型表达的信息
- Catalogue Service for the Web (CSW) 网络地理数据编录服务:标准规定了一套用于发布和发现地理信息数据集元数据和服务的服务开发规范。数据提供者使用空间位置和主题区分不同的数据集,使得客户端可以有效地获取所需数据。
- Filter Encoding (FE) 过滤器编码
- Geography Markup Language (GML) 地理注记:是一种 XML 语法,用于表述地理要素。它既是 GIS 系统的数据类型,也是网络中公开交换地理信息的媒介。它不仅包含了传统的矢量信息,也包含了观测信息的某些成分,具有很高的通用性。
- Sensor Model Language (SensorML) 传感器描述语言
- Style Layer Descriptor (SLD) 图层样式注记
- Sensor Observation Service (SOS) 传感器数据传输标准
- Sensor Planning Service (SPS) 传感器使用规划
- Web Terrain Service (WTS) 网络地形数据服务
- Grid Coverage Service 地理格网系统
- Coordinate Transformation Service 坐标转换
- Web Coverage Processing Service (WCPS) 网络地理编录处理
- Web Map Tile Service (WMTS) 网络地图切片
- Simple Features (SF) 简单地理要素
- Sensor Web Enablement (SWE) 网络传感器控制
- XML for Image and Map Annotation (XIMA) 用于图像和地图注记的 XML 文档
- CityGML 城市地理信息标注语言
- GeosciML 地学信息标注语言
- GML in JPEG 2000 地理编码(用于 JPEG 2000 图像)
- Observations and Measurements (O&M) 观测和测量
- Symbology Encoding 图形符号编码
- Transducer Markup Language (TML) 传感器标注语言