地理包装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/R

  • metadata (可选):将层元数据链接引用的元数据嵌入到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 (必需):将包含的层的逗号分隔列表

  • stylessldsldbody 相互排斥,必须有一个
    • styles :要使用的逗号分隔样式列表

    • sld :SLD样式文件的路径

    • sldbody :内联SLD样式文件

  • format (可选):瓦片图像格式的mime类型(image/png或image/jpeg)

  • bgcolor (可选):背景色作为六位十六进制RGB值

  • transparent (可选):透明度(真或假)

  • coverage (可选)

  • minzoommaxzoomminColumnmaxColumnminRowmaxRow (全部可选):设置最小和最大缩放级别、列和行

  • 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>