服务

提供以下服务:

您需要将服务添加到 services 要启用的maproxy配置的部分。有些服务需要额外的选择。::

services:
  tms:
  kml:
  wms:
    wmsoption1: xxx
    wmsoption2: xxx

Web地图服务(OGC WMS)

可以在以下位置访问WMS服务器 /service/ows/wms 它支持WMS版本1.0.0、1.1.1和1.3.0。

Inspire View服务 用于配置Inspire元数据。

WMS服务将使用所有配置的 layers .

该服务采用以下附加选项。

attribution

向所有WMS请求添加属性(版权)行。

text

属性的文本行(例如一些版权声明等)。

md

md 用于元数据。这些字段用于WMS GetCapabilities 响应。有关所有支持的键,请参见下面的示例。

1.8.1 新版功能: keyword_list

srs

这个 srs 选项定义WMS服务支持哪些SRS。::

srs: ['EPSG:4326', 'CRS:84', 'EPSG:900913']

axis order 对于WMS 1.3.0可能需要的进一步配置。

bbox_srs

1.3.0 新版功能.

这个 bbox_srs 选项控件,其中SRS在功能文档中通告bbox。它应该只包含在 srs 选择权。

您需要确保所有层扩展都对这些SRS有效。例如,如果使用全局网格而不使用 coverage .

例如,配置为:

services:
  wms:
    srs: ['EPSG:4326', 'EPSG:3857', 'EPSG:31467']
    bbox_srs: ['EPSG:4326', 'EPSG:3857', 'EPSG:31467']

将在epsg:4326、epsg:3857和epsg:31467中显示bbox。

1.7.0 新版功能: 您还可以为特定的SRS定义一个显式的bbox。此bbox将覆盖该SRS的所有层扩展。

下面的示例将显示epsg:4326和epsg:3857中每个层的实际bbox,但始终显示为epsg:31467指定的bbox::

services:
  wms:
    srs: ['EPSG:4326', 'EPSG:3857', 'EPSG:31467']
    bbox_srs:
      - 'EPSG:4326'
      - 'EPSG:3857'
      - srs: 'EPSG:31467'
        bbox: [2750000, 5000000, 4250000, 6500000]

您可以使用它提供带有SRS的全局数据集,这些SRS仅在本地区域(如UTM区域)有效。

image_formats

服务器应提供的图像mime类型列表。

featureinfo_types

服务器应提供的功能信息类型列表。可用类型包括 texthtmlxmljson . 这些类型在具有正确mime类型的功能中公布。默认为 [text, html, xml] .

featureinfo_xslt

您可以定义XSLT脚本来转换传出功能信息。可以为不同的功能信息类型定义脚本:

html

为定义脚本 INFO_FORMAT=text/html 请求。

xml

为定义脚本 INFO_FORMAT=application/vnd.ogc.gmlINFO_FORMAT=text/xml 请求。

FeatureInformation for more informaiton .

strict

某些WMS客户端不会在功能信息请求中发送所有必需的参数,除非设置了 stricttrue .

on_source_errors

配置当一个或多个源返回错误或根本没有响应(例如超时)时,maproxy应该做什么。默认值为 notify ,这会在图像响应中为每个错误的源添加一行文本,但前提是至少有一个源成功。什么时候? on_source_errors 设置为 raise ,在任何错误情况下,maproxy都将返回ogc服务异常。

max_output_pixels

1.3.0 新版功能.

WMS请求的最大输出大小(像素)。对于较大的请求,maproxy以XML格式返回WMS异常。默认为 [4000, 4000] 将最大输出大小限制为1600万像素(即仍允许使用5000x3000)。

也见 globals.cache.max_tile_limit 对于最大的切片数量,maproxy将为每个层合并在一起。

versions

1.7.0 新版功能.

映射代理应支持的WMS版本号列表。默认为 ['1.0.0', '1.1.0', '1.1.1', '1.3.0'] .

完整例子

services:
  wms:
    srs: ['EPSG:4326', 'CRS:83', 'EPSG:900913']
    versions: ['1.1.1']
    image_formats: ['image/png', 'image/jpeg']
    attribution:
      text: "© MyCompany"
    md:
      title: MapProxy WMS Proxy
      abstract: This is the fantastic MapProxy.
      online_resource: http://mapproxy.org/
      contact:
        person: Your Name Here
        position: Technical Director
        organization:
        address: Fakestreet 123
        city: Somewhere
        postcode: 12345
        state: XYZ
        country: Germany
        phone: +49(0)000-000000-0
        fax: +49(0)000-000000-0
        email: you@example.org
      access_constraints: This service is intended for private and evaluation use only.
      fees: 'None'
      keyword_list:
       - vocabulary: GEMET
         keywords:   [Orthoimagery]
       - keywords:   ["View Service", MapProxy]

WMS-C

maproxy wms服务还支持 WMS Tiling Client Recommendation 来自OSGeo。

如果添加 tiled=true 对于getCapabilities请求,maproxy将向WMS功能文档添加有关内部平铺结构的元数据。支持WMS-C的客户机可以使用此信息在确切的图块边界请求图块。maproxy可以返回这些请求的tile,其性能与tms服务相当。

tiled=true 被添加到 GetMap 如果请求与确切的图块边界不匹配,或者请求的图像大小或格式不同,则它将返回WMS服务异常。

平铺地图服务(TMS)

Maproxy支持 Tile Map Service Specification 从奥斯陆出发。TMS可在 /tms/1.0.0 .

TMS服务将使用所有配置的 layers 具有名称和单个缓存源的。任何层分组都将扁平化。

以下是TMS请求示例: /tms/1.0.0/base/EPSG900913/3/1/0.png . png 是缓存磁贴的内部格式。 base 是层的名称,并且 EPSG900913 是层的SRS。切片也可以在层名称下使用。 base_EPSG900913 什么时候? use_grid_names 是错误的或未设置的。

对…的请求 /tms/1.0.0 将以XML形式返回TMS元数据。 /tms/1.0.0/layername 将返回有关此特定层的边界框、分辨率和平铺大小的信息。

use_grid_names

1.5.0 新版功能.

当设置为 true ,maproxy使用网格的实际名称作为网格标识符,而不是SRS代码。切片将在 /tms/1.0.0/mylayer/mygrid/ 而不是 /tms/1.0.0/mylayer/EPSG1234//tms/1.0.0/mylayer_EPSG1234/ .

例子

services:
  tms:
    use_grid_names: true

OpenLayers

当您在Openlayers中使用显式 mapExtent ,它将只请求第一个(z=0)级别的单个磁贴。根据SRS的不同,TMS默认以两个或四个磁贴开始。maproxy支持不同的tms模式来支持这个用例。如果您请求,maproxy将以单个tile级别开始 /tiles 而不是 /tms .

或者,您可以使用Openlayers TMS选项 zoomOffset 补偿差额。该选项自Openlayers 2.10起可用。

以下是一个示例: the configuration-examples section 它显示了Openlayers与OpenStreetmap图块顶部的图块重叠的结合使用。

谷歌地图

TMS标准计算从平铺网格左下角开始的平铺,而谷歌地图和兼容服务则从左上角开始。这个 /tiles 服务接受 origin 相应翻转Y轴的参数。您可以将其设置为 sw (西南)、默认值,或 nw (西北方向),谷歌地图需要。

例子::

http://localhost:8080/tiles/osm_EPSG900913/1/0/1.png?origin=nw

1.5.0 新版功能: 你可以使用 origin TMS服务的选项,以更改Tiles服务的默认来源。如果设置为 nw 然后你可以离开 ?origin=nw URL中的参数。这只适用于切片服务 /tiles 不适用于TMS /tms/1.0.0/ .

例子::

services:
  tms:
    origin: 'nw'

锁孔标记语言(OGC KML)

maproxy支持kml 2.2版,以集成到Google Earth中。每一层都可以作为一个超级覆盖——当用户缩放到一个特定区域时,图像块会按需加载。初始的kml文件可在 /kml/layername/EPSG1234/0/0/0.kml . 切片也可以在层名称下使用。 layername_EPSG1234 什么时候? use_grid_names 是错误的或未设置的。

1.5.0 新版功能: 初始KML也可在 /kml/layername_EPSG1234/kml/layername/EPSG1234 .

use_grid_names

1.5.0 新版功能.

当设置为 true ,maproxy使用网格的实际名称作为网格标识符,而不是SRS代码。切片将在 /kml/mylayer/mygrid/ 而不是 /kml/mylayer/EPSG1234/ .

例子

services:
  kml:
    use_grid_names: true

Web地图平铺服务(WMT)

1.1.0 新版功能.

Mapproxy支持OGC WMTS 1.0.0规范。

WMTS服务类似于TMS服务,将使用所有配置的 layers 具有名称和单个缓存源的。任何层分组都将扁平化。

根据您使用的网格配置,有一些限制。请参考 grid.origin 更多信息。

此服务的元数据(servicecontact等)取自WMS配置。您可以添加 mdwmts 用于替换WMS元数据的配置。见 WMS metadata .

wmts定义了不同的访问方法,maproxy支持kvp和restful访问。默认情况下,两者都启用。

KVP

Maproxy支持 GetCapabilitiesGetTile KVP请求。kvp服务位于 /service/ows .

您可以使用启用或禁用kvp服务 kvp 选择权。它是默认启用的,您需要启用 restful 如果你禁用了这个。

services:
  wmts:
    kvp: false
    restful: true

RESTful

1.3.0 新版功能.

maproxy支持带有自定义URL模板的RESTful WMTS请求。RESTful服务功能可在 /wmts/1.0.0/WMTSCapabilities.xml .

您可以使用 restful 选择权。它是默认启用的,您需要启用 kvp 如果你禁用了这个。

services:
  wmts:
    restful: false
    kvp: true

URL模板

WMTS RESTful服务支持自定义URL。您可以使用配置自己的URL模板 restful_templaterestful_fi_template .

默认模板为 /{{Layer}}/{{TileMatrixSet}}/{{TileMatrix}}/{{TileCol}}/{{TileRow}}.{{Format}} 用于切片请求和 /{{Layer}}/{{TileMatrixSet}}/{{TileMatrix}}/{{TileCol}}/{{TileRow}}/{{I}}/{{J}}.{{InfoFormat}} 用于功能信息请求。所有RESTful WMT请求都以开头 /wmts 而且这个前缀不能添加到模板中。

模板变量与WMTS规范相同。 TileMatrixSet 是网格名称, TileMatrix 是缩放级别, TileColTileRow 是切片的X和Y。 InfoFormat 是请求的功能信息格式的后缀。 IJ 是所请求功能的像素列和行。

您可以在以下位置访问磁贴X=3、Y=9、Z=4: http://example.org/wmts/1.0.0/mylayer-mygrid/4-3-9/tile 配置如下:

services:
  wmts:
    restful: true
    restful_template:
        '/1.0.0/{Layer}-{TileMatrixSet}/{TileMatrix}-{TileCol}-{TileRow}/tile'
    restful_fi_template:
        '/1.0.0/{Layer}-{TileMatrixSet}/{TileMatrix}-{TileCol}-{TileRow}/{I}-{J}/{InfoFormat}'

特征信息

1.12 新版功能.

featureinfo_formats

WMTS服务应提供的功能信息格式列表。每种格式都需要完整的mimetype和文件名后缀。mimetype是 infoformat 由kvp客户端请求。后缀是 {{InfoFormat}} 由休息的客户请求。

featureinfo_formats 默认配置。

要启用GML和HTML功能信息请求:

services:
  wmts:
    featureinfo_formats:
      - mimetype: application/gml+xml; version=3.1
        suffix: gml
      - mimetype: text/html
        suffix: html

您需要启用 wms_opts.featureinfo 对于每个可查询的源。

注解

配置与WMS不同,因为较旧的WMS版本需要类似的类型 html 而不是类似于mimetype的 text/html .

Maproxy演示服务

maproxy附带一个演示服务,列出所有配置的WMS和TMS层。您可以使用一个简单的Openlayers客户机测试每个层。

服务在 /demo/ .

此服务不接受其他选项:

services:
    demo: