这个 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