地理包装WPS流程¶
使用 GeoPackage
WPS过程(见 工艺食谱 )
警告
虽然该过程会生成兼容的GeoPackage,但概化、样式和部分元数据导出等功能基于中讨论的非官方扩展 Testbed 16 GeoPackage engineering report 。
WPS进程接受一个参数: contents
它是表示所需输出的XML模式。
概述了一项 contents
方案:
<geopackage name="mygeopackage" xmlns="http://www.opengis.net/gpkg">
<features name="myfeaturelayer" identifier="L01">
<description>describe the layer</description>
<srs>EPSG:4216</srs>
<bbox>
<minx>-180</minx>
<miny>-90</miny>
<maxx>180</maxx>
<maxy>90</maxy>
</bbox>
<!-- ... -->
</features>
<tiles name="mytileslayer" identifier="L02">
<description>describe the layer</description>
<srs>..</srs>
<bbox>..</bbox>
<!-- ... -->
</tiles>
</geopackage>
每个地理包都必须 name
,它将是文件的名称(添加了扩展名.gpkg)。每个图层(要素或分幅)具有以下特性:
name
(必需):地质包中的层的名称;
identifier
(可选):层的标识符;
description
(可选):层的描述;
srs
(对于瓦片是必需的,对于要素是可选的):坐标参考系;对于要素,默认值是要素类型的SRS;
bbox
(对于瓦片是必需的,对于要素是可选的):边界框;对于要素,默认值是要素类型的边界框。
Feature图层的轮廓:
<features name="myfeaturelayer" identifier="L01">
<description>..</description>
<srs>..</srs>
<bbox>..</bbox>
<featuretype>myfeaturetype</featuretype>
<propertynames>property1, property2</propertynames>
<filter>..</filter>
<indexed>true</indexed>
<styles>true</styles>
<metadata>true</metadata>
<overviews>...</overviews>
<sort xmlns:fes="http://www.opengis.net/fes/2.0">
<fes:SortProperty>
<fes:ValueReference>theGeom</fes:ValueReference>
</fes:SortProperty>
</sort>
</features>
- 每个要素图层都具有以下属性:
featuretype
(必需):要素类型propertynames
(可选):要包含的要素类型中属性的逗号分隔名称列表(默认为“所有属性”)filter
(可选):输出前将应用于功能的任何OGC筛选器indexed
(可选):在输出中包含空间索引(true/false)styles
(optional): include styles in the output (true/false). The exported structure uses the portrayal and semantic annotation extensions, as described in Testbed 16 E/Rmetadata
(可选):将层元数据链接引用的元数据嵌入到GeoPackage中(True/False)。基本元数据表由内容填充,而语义注释可用于添加有关元数据本身的额外信息。overviews
(optional): adds overview tables that can speed up rendering. See more at 创建通用表sort
(可选):一个过滤器编码fes:SortByType
其允许根据一个或多个属性对表内容进行排序。如果所选属性是几何,则表将根据其GeoHash进行排序, improving access locality 使用空间索引时。
瓷砖层的轮廓:
<tiles name="mytileslayer" identifier="L02">
<description>...</description>
<srs>..</srs>
<bbox>..</bbox>
<layers>layer1, layer2</styles>
<styles>style1, style2</styles>
<sld>path/to/file.sld</sld>
<sldBody>..</sldBody>
<format>mime/type</format>
<bgcolor>ffffff</bgcolor>
<transparent>true</transparent>
<coverage>
<minZoom>5</minZoom>
<maxZoom>50</maxZoom>
<minColumn>6</minColumn>
<maxColumn>60</maxColumn>
<minRow>7</minRow>
<maxRow>70</maxRow>
</coverage>
<gridset>
...
</gridset>
<parameters>
<parameter name="...">value</parameter>
<parameters>
</tiles>
- 每个瓦片层具有以下特性:
layers
(必需):将包含的层的逗号分隔列表styles
,sld
和sldbody
相互排斥,必须有一个styles
:要使用的逗号分隔样式列表sld
:SLD样式文件的路径sldbody
:内联SLD样式文件
format
(可选):瓦片图像格式的mime类型(image/png或image/jpeg)bgcolor
(可选):背景色作为六位十六进制RGB值transparent
(可选):透明度(真或假)coverage
(可选)minzoom
,maxzoom
,minColumn
,maxColumn
,minRow
,maxRow
(全部可选):设置最小和最大缩放级别、列和行gridset
(可选):见下文parameters
(可选):可在GetMap中用于生成切片的其他参数列表(对所有Geoserver供应商参数开放)
网格集可以采用两种可能的(互斥的)形式:
<gridset>
<name>mygridset</name>
</gridset>
凡. name
指定已知网格集的;或可按如下方式定义自定义网格集:
<gridset>
<grids>
<grid>
<zoomlevel>1</zoomlevel>
<tileWidth>256</tileWidth>
<tileHeight>256</tileHeight>
<matrixWidth>4</matrixWidth>
<matrixHeight>4</matrixHeight>
<pixelXSize>0.17</pixelXSize>
<pixelYSize>0.17</pixelYSize>
</grid>
<grid>...</grid>
<!-- ... -->
</grids>
</gridset>
创建通用表¶
该过程可以创建通用表,如中所述 Testbed 16 generalized tables extension 。
泛化表是侧表,通常比原始表包含更少的记录,还可以选择泛化它们的几何结构。这些是通过添加以下列表创建的 overview
要素图层描述中的指令,每个指令包含:
name
(必选):通用表名称
distance
(可选):创建简化几何图形的综合距离
scaleDenominator
:开始使用表的刻度分母,优先于原始表以及具有较低刻度分母值的其他表
filter
(可选):OGC过滤器移除不应以目标比例分母渲染的要素
下面是一个例子:
<features name="woodland" identifier="woodland">
<description>woodland</description>
<srs>EPSG:27700</srs>
<featuretype>oszoom:woodland</featuretype>
<indexed>true</indexed>
<styles>true</styles>
<overviews>
<overview>
<name>woodland_g1</name>
<scaleDenominator>80000</scaleDenominator>
<filter xmlns:fes="http://www.opengis.net/fes/2.0">
<fes:Or>
<fes:PropertyIsEqualTo>
<fes:ValueReference>type</fes:ValueReference>
<fes:Literal>National</fes:Literal>
</fes:PropertyIsEqualTo>
<fes:PropertyIsEqualTo>
<fes:ValueReference>type</fes:ValueReference>
<fes:Literal>Regional</fes:Literal>
</fes:PropertyIsEqualTo>
</fes:Or>
</filter>
</overview>
<overview>
<name>woodland_g2</name>
<scaleDenominator>320000</scaleDenominator>
<filter xmlns:fes="http://www.opengis.net/fes/2.0">
<fes:PropertyIsEqualTo>
<fes:ValueReference>type</fes:ValueReference>
<fes:Literal>National</fes:Literal>
</fes:PropertyIsEqualTo>
</filter>
</overview>
</overviews>
</features>