目录

上一个主题

1.5. V. KML-我从 Google 来

下一个主题

1.7. VII. WFS-要素 Web 服务


1.6. VI. OWS-OGC Web 服务通用标准

1.6.1. 概述

OWS(OGC Web Service Common Implementation Specification)当

前版本是 2.0.0。OWS 描述了 Web 服务通用的一些接口规范,包括请求和响应的内容、请求的参数和编码等。目前,OWS 包括 WFS、WMS、WCS,因此,

后续的《VII.WFS-要素 Web 服务》、《VIII.WMS-地图 Web 服务》、《IX.WCS-

栅格 Web 服务》都和本章节有关系。

1.6.2. 服务涉及的基本元素

1.6.2.1. 1. HTTP 请求规则

OWS 可以通过 GET 和 POST 两种方式对服务进行请求。而请求的参数编码也有两种:一种是键值对应(KVP 15 16 )、另一种是 XML 对象(XML)。它们的组合情况如下:

image0

因此,比如某 OWS 服务的 GetCapabilities 操作,可能会有以下 17 种请求方式,当然,不同种类的服务并不一定实现所有的这些组合:

image1

1.6.2.2. 2. HTTP 响应规则

服务处理完请求后,生成结果或异常信息,然后以 MIME 的方式返回客户

端。

1.6.2.2.1. 3. SOAP

在OWS服务和OWS服务之间可以采用SOAP消息进行数据交互(POST)。

SOAP 消息是符合 SOAP 规范的 XML,它需要包括 SOAP 信封、SOAP 消息头、

SOAP 消息体等组成部分:

<?xml version="1.0"?>

<soap:Envelope xmlns:soap=http://www.w3.org/2003/05/soap-envelope

soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Header>

...

...

</soap:Header>

<soap:Body>

...

...

<soap:Fault>...</soap:Fault>

</soap:Body>

</soap:Envelope>
15

Key-Value Pair

16

http://en.wikipedia.org/wiki/POST_%28HTTP%29

17

http://en.wikipedia.org/wiki/XML_and_MIME

1.6.3. GetCapabilities 操作

每个 OWS 服务都包括 GetCapabilities 操作,这个操作返回这个服务的元数据信息。GetCapabilities 包括 2 个必须的参数和若干可选参数,这些参数的取值见下表:

参数

是否必须

取值(示例)

SERVICE

WFS 或 WMS 或 WCS

REQUEST

GetCapabilities

ACCEPTVERSIONS

1.1.0,1.0.0

SECTIONS

Contents

UPDATESEQUENCE

ACCEPTFORMATS

text/xml

ACCEPTLANGUAGES

en-US,zh-CN

以下是一个 WFS 使用 KVP 格式的 GetCapabilities 操作:

http://www.someserver.com/wfs?

SERVICE=WFS&

REQUEST=GetCapabilities

以下是一个 WCS 使用 KVP 格式的 GetCapabilities 操作:

http://hostname:port/path?

SERVICE=WCS&

REQUEST=GetCapabilities&

ACCEPTVERSIONS=1.0.0 0.8.3&

SECTIONS=Contents&

UPDATESEQUENCE=XYZ123&

ACCEPTFORMATS=text/xml&

ACCEPTLANGUAGES=en-CA fr-CA

以下是一个 WCS 使用 XML 格式的 GetCapabilities 操作:

<?xml version="1.0" encoding="UTF-8"?>
<GetCapabilities xmlns="http://www.opengis.net/ows/2.0"
xmlns:ows="http://www.opengis.net/ows/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/ows/2.0 fragmentGetCapabilitiesRequest.xsd"
service="WCS" updateSequence="XYZ123" >
<AcceptVersions>
<Version>1.0.0</Version>
<Version>0.8.3</Version>
</AcceptVersions>
<Sections>
<Section>Contents</Section>
</Sections>
<AcceptFormats>
<OutputFormat>text/xml</OutputFormat>
</AcceptFormats>
<AcceptLanguages>
<Language>en-CA</Language>
<Language>fr-CA</Language>
</AcceptLanguages>
</GetCapabilities>

1.6.4. 其它一般操作

除了 GetCapabilities,不同的 OWS还包括其它不同操作以实现各自的功能,这些操作都包括以下 3 个必选参数和其它可选参数。当然,不同的操作还包括自身功能有关的其它必选参数和可选参数。

参数

是否必须

取值(示例)

SERVICE

WFS 或 WMS 或 WCS

REQUEST

GetMap

VERSION

1.3.0

ACCEPTLANGUAGES

en-US,zh-CN

以下是一个 WCS 使用 KVP 格式的 GetCoverage 操作:

http://hostname:port/path?
SERVICE=WCS&
REQUEST=GetCoverage&
VERSION=1.0.0&
AcceptLanguages=en fr