Zoo服务配置文件¶
zoo服务配置文件(.zcfg)描述了WPS服务。它提供特定WPS服务的元数据信息,并且在 DescribeProcess 和 执行 请求已发送。
Zoo服务配置文件分为三个不同的部分:
主要元数据信息
输入元数据信息列表(可选自 rev. 469 )
输出元数据信息列表
警告
Zoo服务配置文件区分大小写。
备注
中有许多示例zcfg文件 cgi-env
directory of the ZOO-Project svn .
备注
可以使用zcfg2yaml命令行工具将zcfg文件转换为yaml语法。
主要部分¶
Zoo服务配置文件的第一部分是 main
部分,其中包含有关相关WPS服务的常规元数据信息。
请注意,第一行括号之间的“服务名称”必须与服务提供商代码中定义的函数完全相同。在大多数情况下,此名称也是不带“.zcfg`”扩展名的zcfg文件的名称。
一个例子 main
以下章节作为参考。
1[Name of WPS Service]
2Title = Title of the WPS Service
3Abstract = Description of the WPS Service
4processVersion = Version number of the WPS Service
5storeSupported = true/false
6statusSupported = true/false
7serviceType = Pprogramming language used to implement the service (C|Fortran|Python|Java|PHP|Ruby|Javascript)
8serviceProvider = Name of the Services provider (shared library|Python Module|Java Class|PHP Script|JavaScript Script)
9<MetaData>
10 title = Metadata title of the WPS Service
11</MetaData>
警告
“WPS服务的名称”必须与WPS服务源代码中定义的函数完全相同。
备注
安 extend
parameter may be used for the Process profile registry .
输入列表¶
Zoo服务配置文件的第二部分是 <DataInputs>
列出支持的输入的部分。每个输入定义为:
名称(括号之间,表示之前的服务名称)
各种Medata属性 (
Title
,Abstract
,minOccurs
,maxOccurs
如果是完整的数据,可选maximumMegabytes
)
典型的输入列表 (<DataInputs>
)如下所示:
1<DataInputs>
2 [Name of the first input]
3 Title = Title of the first input
4 Abstract = Abstract describing the first input
5 minOccurs = Minimum occurence of the first input
6 maxOccurs = Maximum occurence of the first input
7 <Type Of Data Node />
8 [Name of the second input]
9 Title = Title of the second input
10 Abstract = Abstract describing the second input
11 minOccurs = Minimum occurence of the second input
12 maxOccurs = Maximum occurence of the second input
13 <Type Of Data Node />
14</DataInputs>
备注
A <MetaData>
也可以添加节点,如在主元数据信息中一样。
输出列表¶
Zoo服务配置文件的第三部分是 <DataOutputs>
部分,列出了支持的输出,与输入列表非常相似。
典型输出列表 (<DataOutputs>
)如下所示:
1<DataOutputs>
2 [Name of the output]
3 Title = Title of the output
4 Abstract = Description of the output
5 <Type Of Data Node />
6</DataOutputs>
数据节点类型¶
这个 数据节点类型 描述输入和输出的数据类型。本节介绍了三种不同的类型。
警告
每个 BoundingBoxData 和 ComplexData 必须至少有一个
<Default>
节点(甚至是空的<Default />
)警告
在WPS 2.0.0版本中,可以定义 nested inputs and outputs .所以,从修订版开始 790 ,您可以在此处使用新的输入/输出定义。
LiteralData节点¶
A <LiteralData>
节点包含:
一个(可选)
AllowedValues
包含此输入允许的所有值的键一个(可选)
range
包含范围的属性 ([
,]
)one (optional)
rangeMin
(rangeMax
) properties containing the minimum (maximum) value of this range一个(可选)
rangeSpacing
包含此范围内值之间的常规距离或间距的属性一个(可选)
rangeClosure
包含闭包类型的属性 (c
,o
,oc
,co
)一
<Default>
节点,零或更多
<Supported>
节点取决于支持的度量单位(UOM)的存在或数量,以及一
dataType
property. ThedataType
property defines the type of literal data, such as a string, an interger and so on (consult the complete list 支持的数据类型)。
<Default>
和 <Supported>
节点可以包含 uom
属性定义此输入值必须使用的计量单位。
输入 <LiteralData>
节点,可以添加 value
的属性 <Default>
用于定义此输入的默认值的节点。这意味着,在运行服务时,即使没有定义输入,也会将此默认值设置为此输入的当前值。
典型 <LiteralData>
节点,定义 float
使用米或度作为计量单位的数据类型如下:
1<LiteralData>
2 dataType = float
3 <Default>
4 uom = meters
5 </Default>
6 <Supported>
7 uom = feet
8 </Supported>
9</LiteralData>
典型 <LiteralData>
节点,定义 float
应采用中包含的值的数据类型 [0.0,100.0]
,如下所示:
1<LiteralData>
2 dataType = float
3 rangeMin = 0.0
4 rangeMax = 100.0
5 rangeClosure = c
6 <Default />
7</LiteralData>
或者更简单地说:
1<LiteralData>
2 dataType = float
3 range = [0.0,100.0]
4 <Default />
5</LiteralData>
典型 <LiteralData>
节点,定义 string
支持值的数据类型 hillshade
, slope
, aspect
, TRI
, TPI
和 roughness
,如下所示:
1<LiteralData>
2 dataType = string
3 AllowedValues = hillshade,slope,aspect,TRI,TPI,roughness
4 <Default />
5</LiteralData>
属性 AllowedValues
和 range*
可与两者结合 <Default>
和 <Supported>
相同的节点与 <LiteralData>
节点。例如,支持以下功能:
1<LiteralData>
2 dataType = int
3 <Default>
4 value = 11
5 AllowedValues = -10,-8,-7,-5,-1
6 rangeMin = 0
7 rangeMax = 100
8 rangeClosure = co
9 </Default>
10 <Supported>
11 rangeMin = 200
12 rangeMax = 600
13 rangeClosure = co
14 </Supported>
15 <Supported>
16 rangeMin = 750
17 rangeMax = 990
18 rangeClosure = co
19 rangeSpacing = 10
20 </Supported>
21</LiteralData>
边界框数据节点¶
A <BoundingBoxData>
节点包含:
一
<Default>
具有定义默认坐标参考系(CRS)的CRS属性的节点,以及一个或多个
<Supported>
节点取决于您的服务支持的CRS数量(请注意,您也可以使用单个<Supported>
以逗号分隔的受支持CRS列表的节点)。
典型 <BoundingBoxData>
node, for two supported CRS (EPSG:4326 和 EPSG:3785 ,如下所示:
1<BoundingBoxData>
2 <Default>
3 CRS = urn:ogc:def:crs:EPSG:6.6:4326
4 </Default>
5 <Supported>
6 CRS = urn:ogc:def:crs:EPSG:6.6:4326
7 </Supported>
8 <Supported>
9 CRS = urn:ogc:def:crs:EPSG:6.6:3785
10 </Supported>
11</BoundingBoxData>
完整数据节点¶
complexData节点包含:
一
<Default>
节点和一个或多个
<Supported>
节点取决于支持的格式的数量。格式由这组属性组成:mimeType
,encoding
和可选的schema
.
对于输出完整数据节点,可以添加 extension
属性来定义在存储结果时用于命名文件的扩展名。很明显,你必须加上 extension
属性设置为每个支持的格式(对于 <Default>
和 <Supported>
节点)。
您也可以添加 asReference
的属性 <Default>
节点,用于定义默认情况下是否应将输出存储在服务器端。
备注
客户端始终可以通过设置 asReference
属性到 true
或 false
对于请求中的这个输出 ResponseDocument
参数。
您可以在下面看到默认情况下的示例complexdata节点 application/json
和 text/xml
(以utf-8或base64编码)mimetype支持:
1<ComplexData>
2 <Default>
3 mimeType = application/json
4 encoding = UTF-8
5 </Default>
6 <Supported>
7 mimeType = text/xml
8 encoding = base64
9 schema = http://fooa/gml/3.1.0/polygon.xsd
10 </Supported>
11 <Supported>
12 mimeType = text/xml
13 encoding = UTF-8
14 schema = http://fooa/gml/3.1.0/polygon.xsd
15 </Supported>
16</ComplexData>