1.什么是OGC
OGC全称Open Geospatial Consortium,自称是一个非盈利的、国际化的、自愿协商的标准化组织,它的主要目的就是制定与空间信息、基于位置服务相关的标准。这些标准就是OGC的“产品”,而这些标准的用处就在于使不同厂商、不同产品之间可以通过统一的接口进行互操作。
在GIS领域,OGC已经是一个比较“官方”的标准化机构了,它不但包括了ESRI、Google、Oracle等业界强势企业作为其成员,同时还和W3C、ISO、IEEE等协会或组织结成合作伙伴关系。因此,OGC的标准虽然并不带有强制性,但是因为其背景和历史的原因,它所制定的标准天然地具有一定的权威性。
2.OGC标准
OGC的标准基本上就是OGC所有的成果,而所谓的标准就是一些接口或编码的技术文档。不同的厂商、各种GIS产品都可以对照这些文档来定义开放服务的接口、空间数据存储的编码、空间操作的方法等。
除了正式发布的标准(OpenGIS® Standards ),OGC的工作成果还包括一些其它类型的文档,比如讨论稿(Discussion Papers )、抽象规范(Abstract Specification )、最佳实践文档(Best Practices Documents )、OGC参考模型(OGC Reference Model (ORM) )、白皮书(White Papers )等。在OGC的工作中,标准的制定可能由待讨论的“讨论稿”开始,在形成一定的统一意见后形成“抽象规范”,进一步具体化到“标准”,在这个过程中同时也可能形成“最佳实践文档”供印证,而“OGC参考模型”则是描述“抽象规范”、“标准”、“最佳实践文档”之间的关系。
3.WMS服务
地图web服务WMS(OpenGIS® Web Map Service)当前版本是1.3.0。WMS标准定义了一些操作,这些操作允许用户在分布式的环境下通过HTTP对空间数据进行出图等操作。
比起WFS,WMS的操作要简单的多:
1. GetCapabilities(获取服务中的要素类及支持的操作)
2. GetMap(获取地图)
3. GetFeatureInfo(根据地图上的像素点获取更详细的要素信息,类似Identify功能)
同样,这些操作并不是必须全部实现,而是实现全部或部分。根据所支持的操作不同,WMS可以分为2类:
1. Basic WMS(就是最常被提及的WMS,必须支持GetCapabilities/ GetMap操作)
2. Queryable WFS(必须在Basic WMS基础上加上GetFeatureInfo操作)
4.WMTS服务
切片地图Web服务WMTS(OpenGIS® Web Map Tile Service)当前版本是1.0.0。WMTS标准定义了一些操作,这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。
在一个WMTS服务中包括以下3个操作:
1. GetCapabilities(获取服务的元信息)
2. GetTile(获取切片)
3. GetFeatureInfo(可选,获取点选的要素信息)
可以看到这些操作和WMS的操作非常的异曲同工。
5.WFS服务
要素Web服务WFS(OpenGIS® Web Feature Service)当前版本是1.1.0。WFS标准定义了一些操作,这些操作允许用户在分布式的环境下通过HTTP对空间数据进行查询、编辑等操作。
WFS服务要求服务的接口必须由XML描述,另外数据交互必须由GML进行,数据过滤采用CQL语言。
当一个客户端想要访问WFS服务时,一般会涉及到以下的流程:
1. 通过操作获取WFS服务支持的操作和要素类(Feature Type,可以理解为WFS中的数据集)。
2. (可能)通过操作获取WFS服务支持的要素类的定义。
3. 客户端发送某个操作的请求。
4. WFS服务处理请求。
5. WFS服务返回处理的结果和状态。
上面几个步骤中所提到的“操作”包括:
1. GetCapabilities(获取服务中的要素类及支持的操作)
2. DescribeFeatureType(描述要素类的信息)
3. GetFeature(获取要素)
4. GetGmlObject(通过XLink获取GML对象)
5. Transaction(创建、更新、删除数据的事务操作)
6. LockFeature(在事务过程中锁定要素)
但是,这些操作并不是必须全部实现,而是实现全部或部分。根据所支持的操作不同,WFS可以分为3类:
- Basic WFS(就是最常被提及的WFS,必须支持GetCapabilities/ DescribeFeatureType/ GetFeature操作,在功能上意味着提供一个只读的数据服务)
- XLink WFS(必须在Basic WFS基础上加上GetGmlObject操作)
- Transaction WFS(也有称为WFS-T,必须在Basic WFS基础上加上Transaction操作以支持编辑数据,另外也可以加上GetGmlObject/LockFeature操作)
————————————————————————
相关参考:
https://blog.csdn.net/warrenwyf/article/details/5711482
https://blog.csdn.net/wildboy2001/article/details/7743350