这个 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或文件名。工具将添加 REQUEST 和 SERVICE 根据需要将参数设置为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文件。
覆盖分别应用于每个 services , sources , caches 和 layers 部分。例如,这意味着可以修改 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__ 键将合并到所有词典中。将添加以下覆盖 sessionid 到 req 所有选项 sources ::
sources:
__all__:
req:
sessionid: 123456789
键的值以 __extend__ 将添加到现有列表中。
要为一个源添加另一个SRS,请执行以下操作:
sources:
my_wms:
supported_srs__extend__: ['EPSG:31467']
以三个下划线开头或结尾的键的值 (___ )将与键与后缀或前缀匹配的值合并。
例如,设置 levels 对于 osm_webmercator 和 aerial_webmercator 并设置 refresh_before 对于 osm_webmercator 和 osm_utm32 ::
seeds:
____webmercator:
levels:
from: 0
to: 12
osm____:
refresh_before:
days: 5