maproxy-util自动配置

这个 autoconfig 子命令 mapproxy-util 基于现有的WMS功能文档创建maproxy和maproxy种子设定配置。

它创造了一个 source 对于每个可用层。源将包括层范围的bbox覆盖, legendurl 对于图例图形, featureinfo 对于可查询的层,比例提示和所有检测到的 supported_srs . 它会将层树复制到 layers 映射代理配置的部分,包括名称、标题和摘要。

该工具将为每个源层创建一个缓存,并 supported_srs _if_ 您的 --base 该SRS的配置。

maproxy层将在可用时使用缓存,否则将直接使用源(级联WMS)。

注解

该工具可以帮助您创建新的配置,但它无法预测您将如何使用maproxy服务。生成的配置可能非常低效,尤其是在同时请求具有单独缓存的多个层时。请确保您了解配置,并查看文档以了解对您的用例有用的更多选项。

选项

--capabilities <url|filename>

WMS功能文档的URL或文件名。工具将添加 REQUESTSERVICE 根据需要将参数设置为URL。

--output <filename>

创建的maproxy配置的文件名。

--output-seed <filename>

创建的maproxy种子设定配置的文件名。

--force

用相同的输出文件名覆盖任何现有配置。

--base <filename>

应包含在 --output 文件与 base 选择权。

--overwrite <filename>
--overwrite-seed <filename>

在生成的配置被写入之前覆盖配置opotin的yaml配置 --output/--output-seed .

例子

控制台上的打印配置:

mapproxy-util autoconfig \
    --capabilities http://osm.omniscale.net/proxy/service

将maproxy和maproxy种子设定配置写入文件::

mapproxy-util autoconfig \
    --capabilities http://osm.omniscale.net/proxy/service \
    --output mapproxy.yaml \
    --output-seed seed.yaml

使用网格缓存从中写入maproxy配置 base.yaml ::

mapproxy-util autoconfig \
    --capabilities http://osm.omniscale.net/proxy/service \
    --output mapproxy.yaml \
    --base base.yaml

重写

您可能需要调整创建的配置,例如定义另一个覆盖范围、禁用FeatureInfo等。当然,您可以通过编辑输出文件来完成此操作,或者通过定义对覆盖文件的所有更改来修改输出。每次调用时都应用覆盖文件 mapproxy-util autoconfig .

覆盖是将与创建的配置文件合并的yaml文件。

覆盖分别应用于每个 servicessourcescacheslayers 部分。例如,这意味着可以修改 supported_srs 和工具将使用更新的SRS列表来决定将为该源配置哪些缓存。

例子

创建的配置:

sources:
  mysource_wms:
    type: wms
    req:
        url: http://example.org
        layers: a

覆盖文件:

sources:
  mysource_wms:
    supported_srs: ['EPSG:4326'] # add new value for mysource_wms
    req:
        layers: a,b  # overwrite existing value
        custom_param: 42  #  new value

实际配置写入 --output ::

sources:
  mysource_wms:
    type: wms
    supported_srs: ['EPSG:4326']
    req:
        url: http://example.org
        layers: a,b
        custom_param: 42

特殊键

在覆盖文件中可以使用一些特殊的键。

所有

的值 __all__ 键将合并到所有词典中。将添加以下覆盖 sessionidreq 所有选项 sources ::

sources:
  __all__:
    req:
      sessionid: 123456789

延伸

键的值以 __extend__ 将添加到现有列表中。

要为一个源添加另一个SRS,请执行以下操作:

sources:
    my_wms:
      supported_srs__extend__: ['EPSG:31467']

通配符

以三个下划线开头或结尾的键的值 (___ )将与键与后缀或前缀匹配的值合并。

例如,设置 levels 对于 osm_webmercatoraerial_webmercator 并设置 refresh_before 对于 osm_webmercatorosm_utm32 ::

seeds:
    ____webmercator:
        levels:
          from: 0
          to: 12

    osm____:
        refresh_before:
            days: 5