I. OGC
与OGC标准
· OGC
http://www.opengeospatial.org/
OGC全称Open Geospatial Consortium,自称是一个非盈利的、国际化的、自愿协商的标准化组织,它的主要目的就是制定与空间信息、基于位置服务相关的标准。这些标准就是OGC的“产品”,而这些标准的用处就在于使不同厂商、不同产品之间可以通过统一的接口进行互操作。
在GIS领域,OGC已经是一个比较“官方”的标准化机构了,它不但包括了ESRI、Google、Oracle等业界强势企业作为其成员,同时还和W3C、ISO、IEEE等协会或组织结成合作伙伴关系。因此,OGC的标准虽然并不带有强制性,但是因为其背景和历史的原因,它所制定的标准天然地具有一定的权威性。
所以,我们也可以看到,很多国内的部门或行业要进行地理空间信息的共享或发布时,言必称OGC标准,就和这个原因有关。但是,事实上我们对OGC和OGC标准并不需要盲目崇拜和迷信,从RESTful服务规范的缺失、KML的空降等可以看出来,OGC还是有一些缺失和不足的地方。
· OGC
标准
OGC的标准基本上就是OGC所有的成果,而所谓的标准就是一些接口或编码的技术文档。不同的厂商、各种GIS产品都可以对照这些文档来定义开放服务的接口、空间数据存储的编码、空间操作的方法等。
除了正式发布的标准(
OpenGIS® Standards
),OGC的工作成果还包括一些其它类型的文档,比如讨论稿(
Discussion Papers
)、抽象规范(
Abstract Specification
)、最佳实践文档(
Best Practices Documents
)、OGC参考模型(
OGC Reference Model (ORM)
)、白皮书(
White Papers
)等。在OGC的工作中,标准的制定可能由待讨论的“讨论稿”开始,在形成一定的统一意见后形成“抽象规范”,进一步具体化到“标准”,在这个过程中同时也可能形成“最佳实践文档”供印证,而“OGC参考模型”则是描述“抽象规范”、“标准”、“最佳实践文档”之间的关系。当然,其中我们最关心的还是OGC标准文档。
所以,就让我们先看看目前大概有哪些OGC标准吧:
|
|
|
|
||
|
CS |
用以发现、浏览服务器上数据、服务的元数据 |
|
用以交换城市3D模型 |
|
|
CT |
用以提供坐标系统及其转化的服务 |
|
FES |
提供XML编码的过滤表达 |
|
GML和JPEG 2000编码图像的结合 |
|
|
GOS |
通过UML和Java来描述抽象地理对象 |
|
GML |
提供XML编码的地理数据集 |
|
GeoXACML |
|
|
栅格服务 |
|
|
KML |
提供XML编码的地理数据集(从Google引入) |
|
OpenLS |
位置服务 |
|
||
|
||
|
||
|
||
|
SFS |
简单要素对象的通用描述 |
|
||
|
||
|
简单要素对象在SQL语句中的描述 |
|
|
SLD |
用以对地理数据进行符号化 |
|
SE |
对符号进行编码 |
|
TML |
|
|
WCPS |
栅格处理Web服务 |
|
WCS |
栅格Web服务 |
|
WFS |
要素Web服务 |
|
地图Web服务的组合 |
|
|
WMS |
地图Web服务 |
|
WMTS |
切片地图Web服务 |
|
WPS |
地理处理Web服务 |
|
OWS |
描述了OGC Web服务的通用规范 |
表 1 OGC标准概览
其中,一些标准存在多个历史版本,比如WMS就有1.3.0/1.1.1/1.1/1.0等版本。在这些版本中,一般需要关注的就是最新版本,历史版本一般都已经被废弃,这从OGC网站上就可以看出区别:
这些标准中,一般我们接触的都集中在数据交换和服务互操作方面,比如GML、KML和WFS、WMS等,其实这也是一些标准存在意义较大的场合。下面,就 逐个介绍一下其中的一些常用标准。