渲染的地图/动画下载过程

这些过程允许下载大型地图和动画。

呈现的下载过程

地图和动画下载使用一组通用参数:

  • bbox :地理参考边界框,控制输出区域和所需投影

  • decoration :要添加到地图顶部的装饰布局的名称

  • time :一个WMS time 用于驱动跨地图层的时间选择和控制动画中帧生成的规范

  • widthheight :输出贴图/动画的大小(与边界框结合,还控制输出贴图比例)

  • layer :从客户端角度看的层规范列表(因此,一个层可以由多个服务器端层组成)。当使用dwn:DecorationName层选项时,它允许定义在将装饰应用于层时将使用的特定布局。当声明了多个图层时,它允许在结果图像上渲染多个图例。

  • headerheight :在渲染贴图顶部分配的标头空间的高度大小。这是一个可选参数,强制缩小贴图视图高度,以避免将标题重叠在贴图上。与层规范选项的使用相结合,允许在结果图像的顶部对装饰器进行分组。

层规格

层规范是由三部分组成的XML结构:

  • 名称:以逗号分隔的层名称列表(最终只有一个)

  • 功能:链接到功能文档(可选,在瞄准远程WMS层时使用)

  • 参数(key,value):要添加到该层表示的WMS请求中的额外参数(例如。, elevationCQL_FILTERenv

例如:

<wps:ComplexData xmlns:dwn="http://geoserver.org/wps/download">
  <dwn:Layer>
    <dwn:Capabilities>http://demo.geo-solutions.it/geoserver/ows?service=wms&amp;version=1.1.1&amp;request=GetCapabilities</dwn:Name>
    <dwn:Name>topp:states</dwn:Name>
    <dwn:Parameter key="CQL_FILTER"><![CDATA[PERSONS > 1000000]]></dwn:Parameter>
  </dwn:Layer>
</wps:ComplexData>

下载地图请求示例

地图下载过程只有上面描述的基本输入,即 time 参数是可选的。地图下载过程使用WMS机器生成输出,但不受WMS服务限制(使用WPS进程安全性可以限制此过程中的宽度和高度)。

针对一组本地层发布的下载地图可以如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<wps:Execute version="1.0.0" service="WPS"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
             xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
             xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
             xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
             xmlns:xlink="http://www.w3.org/1999/xlink"
             xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
  <ows:Identifier>gs:DownloadMap</ows:Identifier>
  <wps:DataInputs>
    <wps:Input>
      <ows:Identifier>bbox</ows:Identifier>
      <wps:Data>
        <wps:BoundingBoxData crs="EPSG:4326">
          <ows:LowerCorner>0.237 40.562</ows:LowerCorner>
          <ows:UpperCorner>14.593 44.55</ows:UpperCorner>
        </wps:BoundingBoxData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>time</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>2008-10-31T00:00:00.000Z</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>width</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>200</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>height</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>80</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>layer</ows:Identifier>
      <wps:Data>
        <wps:ComplexData xmlns:dwn="http://geoserver.org/wps/download">
          <dwn:Layer>
            <dwn:Name>giantPolygon</dwn:Name>
            <dwn:Parameter key="featureId">giantPolygon.0</dwn:Parameter>
          </dwn:Layer>
        </wps:ComplexData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>layer</ows:Identifier>
      <wps:Data>
        <wps:ComplexData xmlns:dwn="http://geoserver.org/wps/download">
          <dwn:Layer>
            <dwn:Name>watertemp</dwn:Name>
          </dwn:Layer>
        </wps:ComplexData>
      </wps:Data>
    </wps:Input>
  </wps:DataInputs>
  <wps:ResponseForm>
    <wps:RawDataOutput mimeType="image/png">
      <ows:Identifier>result</ows:Identifier>
    </wps:RawDataOutput>
  </wps:ResponseForm>
</wps:Execute>

在这个例子中,层可以是一个单独的层,“name”等于“giantpolygon,watertermp”。

下载动画请求示例

下载动画包含所有基本参数和以下变量/添加:

  • 时间:时间参数是必需的,可以作为周期性的范围提供。 start/stop/period ,或作为逗号分隔的时间列表,t1,t2,…,tn

  • fps:帧/秒(默认为1)

示例动画请求可以如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<wps:Execute version="1.0.0" service="WPS"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
             xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
             xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
             xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
             xmlns:xlink="http://www.w3.org/1999/xlink"
             xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
  <ows:Identifier>gs:DownloadAnimation</ows:Identifier>
  <wps:DataInputs>
    <wps:Input>
      <ows:Identifier>bbox</ows:Identifier>
      <wps:Data>
        <wps:BoundingBoxData crs="EPSG:4326">
          <ows:LowerCorner>-180 -90</ows:LowerCorner>
          <ows:UpperCorner>180 90</ows:UpperCorner>
        </wps:BoundingBoxData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>decoration</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>formattedTimestamper</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>time</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>2004-02-01,2004-03-01,2004-04-01,2004-05-01</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>width</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>271</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>height</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>136</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>fps</ows:Identifier>
      <wps:Data>
        <wps:LiteralData>0.5</wps:LiteralData>
      </wps:Data>
    </wps:Input>
    <wps:Input>
      <ows:Identifier>layer</ows:Identifier>
      <wps:Data>
        <wps:ComplexData xmlns:dwn="http://geoserver.org/wps/download">
          <dwn:Layer>
            <dwn:Name>sf:bmtime</dwn:Name>
          </dwn:Layer>
        </wps:ComplexData>
      </wps:Data>
    </wps:Input>
  </wps:DataInputs>
  <wps:ResponseForm>
    <wps:RawDataOutput mimeType="video/mp4">
      <ows:Identifier>result</ows:Identifier>
    </wps:RawDataOutput>
  </wps:ResponseForm>
</wps:Execute>

这个 formattedTimestamper 装饰确保帧时间包含在输出动画中,如下所示:

<layout>
  <decoration type="text" affinity="bottom,right" offset="6,6" size="auto">
    <option name="message"><![CDATA[
<#setting datetime_format="yyyy-MM-dd'T'HH:mm:ss.SSSX">
<#setting locale="en_US">
<#if time??>
${time?datetime?string["dd-MM-yyyy"]}
</#if>]]></option>
    <option name="font-family" value="Bitstream Vera Sans"/>
    <option name="font-size" value="12"/>
    <option name="halo-radius" value="2"/>
  </decoration>
</layout>

装饰布置图

这个 decoration 参数指定用于修饰地图的布局的文件名(不带扩展名)。
布局是应该在请求的图像上绘制的装饰器列表。
装饰器一个接一个地绘制图像,因此布局文件中装饰器的顺序很重要:第一个装饰器输出将显示在另一个文件下。
WMS装饰 部分。