来源

maproxy支持以下源:

您需要为每个配置的源选择一个唯一的名称。此名称将用于引用 cacheslayers 配置。

源部分如下所示:

sources:
  mysource1:
    type: xxx
    type_dependend_option1: a
    type_dependend_option2: b
  mysource2:
    type: yyy
    type_dependend_option3: c

有关每项服务的详细说明,请参见下文。

WMS

使用类型 wms 对于WMS服务器。

req

这描述了WMS源。唯一需要的选项是 urllayers . 你需要设置 transparenttrue 如果要将此源用作覆盖。::

req:
  url: http://example.org/service?
  layers: base,roads
  transparent: true

所有其他选项都将添加到请求的查询字符串中。::

req:
  url: http://example.org/service?
  layers: roads
  styles: simple
  map: /path/to/mapfile

您还可以配置 sldsld_body 参数,在这种情况下,可以省略 layers . sld 也可以指向 file:// -网址。maproxy将读取此文件并将内容用作 sld_body . 见 sources with SLD 更多信息。

如果使用 标记的源名称 .

wms_opts

此选项会影响mapproxy向源WMS服务器发送的请求。

version

用于请求的WMS版本号(支持:1.0.0、1.1.0、1.1.1、1.3.0)。默认为1.1.1。

legendgraphic

如果设置为 true ,Mapproxy将从此源请求图例图形。每个包含一个或多个带有图例图形的源的maproxy wms层将具有legendrl。

legendurl

配置应作为此源的图例返回的图像的URL。局部URL (file:// )也支持。

map

如果设置为 false ,Mapproxy将不从该源请求图像。您可以将此选项与 featureinfo: true 创建仅用于功能信息请求的源。

featureinfo

如果设置为 true ,maproxy将层标记为可查询和传入 GetFeatureInfo 请求将转发到源服务器。

featureinfo_format

这个 INFO_FORMAT 对于FeatureInfo请求。默认情况下,maproxy将使用客户端请求的相同格式。

featureinfo_xslt

应用于转换传入功能信息的XSLT脚本的路径。

featureinfo_out_format

XSLT脚本返回的输出格式。默认情况下,maproxy将使用 featureinfo_format .

1.12.0 新版功能: featureinfo_out_format

FeatureInformation for more information .

coverage

定义源的覆盖区域。只有在请求的数据和覆盖范围之间存在交叉时,才会请求源。见 coverages 有关配置的详细信息。交叉点是为元图块而不是实际的客户机请求计算的,因此您应该期望在覆盖范围边界处有更多可见的数据。

seed_only

在常规模式下禁用此源。如果设置为 true ,此源将始终返回空白/透明图像。只有在播种过程中才会请求源。您可以使用此选项在脱机模式下运行maproxy。

min_res, max_res or min_scale, max_scale

将源限制为给定的最小和最大分辨率或比例。对于超出这些边界的请求,maproxy将返回空白图像。 (min_res 是包容的, max_res 独家)。您可以使用分辨率或比例值,缺少的值将解释为 unlimited . 分辨率应以米/像素为单位。

这些值也将出现在功能文档中(即WMS scaleHint和Min/MaxscaledOrminator)。将为每个源考虑边界,但如果合并多个源或MapProxy层已经具有 min/max_res 配置。

请阅读 scale vs. resolution 关于 scale .

supported_srs

具有WMS源支持的SRS的列表。maproxy将只查询这些SRS中的源。如果需要从任何其他SRS中的该层获取数据,它将重新投影数据。

如果只将此WMS用作缓存源,并且WMS支持缓存的所有SRS,则不需要配置此项。

如果maproxy需要重新投影并且源具有多个 supported_srs 然后,它将使用第一个预测的SRS来处理预测的SRS中的请求,或者使用第一个地理SRS来处理地理SRS中的请求。例如什么时候 supported_srs['EPSG:4326', 'EPSG:31467'] epsg:3857(投影,米)的缓存将使用epsg:31467(投影,米),而不是epsg:4326(地理,lat/long)。

forward_req_params

1.5.0 新版功能.

包含将转发到源服务器的请求参数的列表(如果原始请求中可用)。此功能的典型用例是转发 TIME 使用WMS-T服务器时的参数。

此功能仅适用于 uncached sources .

supported_formats

使用此选项指定源WMS支持的图像格式。maproxy只请求这些格式之一的图像,如果需要其他格式,它将转换任何图像。如果不提供此选项,则maproxy假定源支持所有格式。

image

图像格式选项 其他选项。

transparent_color

指定应转换为完全透明的颜色。可以是颜色值列表 ([255, 255, 255] )或十六进制字符串 (#ffffff

transparent_color_tolerance

公差 transparent_color 替代。该值定义每个方向的公差。例如,公差为5,颜色值为100将转换95到105之间的颜色。

image:
  transparent_color: '#ffffff'
  transparent_color_tolerance: 20

concurrent_requests

这限制了maproxy将向源服务器发出的并行请求数。它甚至可以跨多个WMS源工作,只要所有的WMS源都相同 concurrent_requests 价值与一切 req.url 参数指向同一主机。默认为0,这意味着没有限制。

http

可以为此源配置以下与HTTP相关的选项:

  • method

  • headers

  • client_timeout

  • ssl_ca_certs

  • ssl_no_cert_checks

HTTP Options 有关详细文档。

标记的源名称

1.1.0 新版功能.

maproxy支持大多数源的标记源名称。这允许您在缓存或(WMS)层配置中定义源的层。

您可以添加一个逗号分隔的层列表,而不是仅通过名称引用源: sourcename:lyr1,lyr2 . 您需要对标记的源名称使用引号。

这适用于层和缓存:

layers:
  - name: test
    title: Test Layer
    sources: ['wms1:lyr1,lyr2']

caches:
  cache1:
    sources: ['wms1:lyrA,lyrB']
    [...]

sources:
  wms1:
    type: wms
    req:
      url: http://example.org/service?

您可以忽略 layersreq 参数,或者可以使用它们来限制标记的层。在这种情况下,如果配置 layers: lyr1,lyr2 然后尝试访问 wms:lyr2,lyr3 例如。

on_error

1.12.0 新版功能.

您可以配置当tile服务返回错误时maproxy应该做什么。maproxy可以生成单一颜色的图块,而不是引发错误。您可以配置maproxy是应该缓存这个图块,还是应该只使用它来生成图块或WMS响应。

您可以在 on_error 选择权。您还可以使用catch all值 other . 这不仅会捕获所有其他HTTP状态代码,还会导致HTTP超时或非映像响应等错误。

每个状态代码采用以下选项:

response

指定出现此错误时应返回的磁贴的颜色。可以是颜色值列表 ([255, 255, 255][255, 255, 255, 0] ))或十六进制字符串 ('#ffffff''#fa1fbb00' )使用rgba值或字符串 transparent .

cache

设置为 True 如果maproxy应该缓存单色图块。否则 (False )maproxy将仅对此请求使用此生成的图块。这是默认设置。

您需要启用 transparent 如果你使用 on_error 以透明的方式回应。

my_tile_source:
  type: wms
  req:
    url: http://localhost:8080/service?
    layers: base
  on_error:
    500:
      response: '#ede9e3'
      cache: False
    other:
      response: '#ff0000'
      cache: False

配置示例

最小示例:

my_minimal_wmssource:
  type: wms
  req:
    url: http://localhost:8080/service?
    layers: base

完整例子:

my_wmssource:
  type: wms
  wms_opts:
    version: 1.0.0
    featureinfo: True
  supported_srs: ['EPSG:4326', 'EPSG:31467']
  image:
    transparent_color: '#ffffff'
    transparent_color_tolerance: 0
  coverage:
     polygons: GM.txt
     polygons_srs: EPSG:900913
  forward_req_params: ['TIME', 'CUSTOM']
  req:
    url: http://localhost:8080/service?mycustomparam=foo
    layers: roads
    another_param: bar
    transparent: true

REST API

使用类型 arcgis 对于Arcgis MapServer和ImageServer REST服务器端点。此源基于 the WMS source 大多数WMS选项也适用于ArcGIS源。

req

这描述了ARCGIS源。唯一需要的选项是 url . 你需要设置 transparenttrue 如果要将此源用作覆盖。还可以将Arcgis特定参数添加到 req ,例如设置 interpolation method for ImageServers .

opts

1.10.0 新版功能.

1.11.0 新版功能: map 选项

此选项会影响maproxy向源Arcgis服务器发送的请求。

featureinfo

如果设置为 true ,maproxy将层标记为可查询和传入 GetFeatureInfo 请求将转发为 identify 对源服务器的请求。Arcgis REST服务器仅支持HTML和JSON格式。您需要启用对JSON的支持 featureinfo_types .

featureinfo_return_geometries

源是否应包括要素几何图形。

featureinfo_tolerance

Arcgis服务器中像素的公差应能识别特征。

map

如果设置为 false ,Mapproxy将不从该源请求图像。您可以将此选项与 featureinfo: true 创建仅用于功能信息请求的源。

seed_only

1.11.0 新版功能.

seed_only

配置示例

MapServer示例:

my_minimal_arcgissource:
  type: arcgis
  req:
    layers: show: 0,1
    url: http://example.org/ArcGIS/rest/services/Imagery/MapService
    transparent: true
  on_error:
    500:
      response: transparent
      cache: True

ImageServer示例:

my_arcgissource:
  type: arcgis
  coverage:
     polygons: GM.txt
     srs: EPSG:3857
  req:
    url: http://example.org/ArcGIS/rest/services/World/MODIS/ImageServer
    interpolation: RSP_CubicConvolution
    bandIds: 2,0,1

切片

使用类型 tile 从现有的tilecache和geoWebcache等tilecache服务器请求数据。您也可以使用这个源级联maproxy安装。

url

此源采用 url 包含URL模板的选项。模板格式为 %(key_name)s . maproxy支持URL中的以下命名变量:

x, y, z

切片坐标。

format

图块的格式。

quadkey

切片的QuadKey,如http://msdn.microsoft.com/en-us/library/bb259689.aspx中所述

tc_path

Tilecache路径 09/000/000/264/000/000/345 . 请注意,它不包含任何格式扩展名。

tms_path

TMS路径 5/12/9 . 请注意,它不包含版本、层名称或格式扩展名。

arcgiscache_path

Arcgis缓存路径类似 L05/R00000123/C00000abc . 请注意,它不包含任何格式扩展名。

bbox

切片的边界框。对于需要固定参数顺序的WMS-C服务器。

1.1.0 新版功能: arcgiscache_pathbbox 参数。

origin

1.3.0 版后已移除: 使用网格 origin 选择权。

切片网格的原点(即0,0 切片的位置)。支持的值为 sw 对于西南(左下)原点或 nw 西北(左上)原点。 sw 是默认值。

grid

平铺源的网格。默认为 GLOBAL_MERCATOR 与流行的Web映射应用程序兼容的网格。

coverage

定义源的覆盖区域。只有当传入请求和覆盖范围之间存在交叉时,才会请求源。见 coverages 更多信息。

transparent

你需要把这个设置为 true 如果要将此源用作覆盖。

http

可以为此源配置以下与HTTP相关的选项:

  • headers

  • client_timeout

  • ssl_ca_certs

  • ssl_no_cert_checks

HTTP Options 有关详细文档。

seed_only

seed_only

min_res, max_res or min_scale, max_scale

1.5.0 新版功能.

min_res, max_res or min_scale, max_scale .

on_error

1.4.0 新版功能.

您可以配置当tile服务返回错误时maproxy应该做什么。maproxy可以生成单一颜色的图块,而不是引发错误。您可以配置maproxy是应该缓存这个图块,还是应该只使用它来生成图块或WMS响应。

您可以在 on_error 选择权。您还可以使用catch all值 other . 这不仅会捕获所有其他HTTP状态代码,还会导致HTTP超时或非映像响应等错误。

每个状态代码采用以下选项:

response

指定出现此错误时应返回的磁贴的颜色。可以是颜色值列表 ([255, 255, 255][255, 255, 255, 0] ))或十六进制字符串 ('#ffffff''#fa1fbb00' )使用rgba值或字符串 transparent .

cache

设置为 True 如果maproxy应该缓存单色图块。否则 (False )maproxy将仅对此请求使用此生成的图块。这是默认设置。

您需要启用 transparent 如果你使用 on_error 以透明的方式回应。

my_tile_source:
  type: tile
  url: http://localhost:8080/tiles/%(tms_path)s.png
  transparent: true
  on_error:
    204:
      response: transparent
      cache: True
    502:
      response: '#ede9e3'
      cache: False
    other:
      response: '#ff0000'
      cache: False

配置示例

my_tile_source:
  type: tile
  grid: mygrid
  url: http://localhost:8080/tile?x=%(x)s&y=%(y)s&z=%(z)s&format=%(format)s

地图服务器

1.1.0 新版功能.

使用类型 mapserver 直接调用MapServer CGI可执行文件。此源基于 the WMS source 大多数选项也适用于MapServer源。

唯一的区别是它不支持 http 期权与期权 req.url 参数被忽略。这个 req.map 应该指向您的MapServer映射文件。

使用的映射文件必须启用WMS服务器,例如 wms_enable_requestows_enable_request

mapserver

您也可以在 全局变量 部分。

binary

到的完整路径 mapserv 可执行的。

working_dir

执行映射服务器的路径。它应该是映射文件中任何相对路径所基于的目录。

1.11.0 新版功能: 这个 mapserv 在所有目录中搜索二进制文件 PATH 环境,如果 binary 未设置。

配置示例

my_ms_source:
  type: mapserver
  req:
    layers: base
    map: /path/to/my.map
  mapserver:
    binary: /usr/cgi-bin/mapserv
    working_dir: /path/to

马皮尼克

1.1.0 新版功能.

在 1.2.0 版更改: 新的 layers 选择和支持 tagged sources .

使用类型 mapnik 在没有任何WMS服务的情况下直接致电MAPNIK。它使用了mapnik python API,并且您需要有一个运行maproxy的python安装程序可以访问的有效的mapnik安装。呼唤 python -c 'import mapnik' 不应返回错误。

mapfile

mapnik xml mapfile的文件名。

layers

要呈现的层名称列表。maproxy禁用此列表中未包含的每个层。它不会对图层重新排序,并且始终呈现未命名图层(“未知”)。

use_mapnik2

1.3.0 新版功能.

如果设置为,则使用mapnik 2 true . 此选项现在已被弃用,仅在Mapnik 2.0.0中需要。Mapnik 2.0.1及更新版本可作为 mapnik 包裹。

transparent

设置为 true 要使用background color=“transparent”从mapnik源渲染, false (默认)将强制使用黑色背景色。

scale_factor

1.8.0 新版功能.

设置 Mapnik scale_factor 选择权。mapnik按此因子缩放大多数样式选项,如线条宽度和字体大小。也见 HQ/视网膜贴片 .

其他选项

mapnik源还支持 min_res/max_res /min_scale/max_scale, concurrent_requestsseed_onlycoverage 选项。见 WMS .

配置示例

my_mapnik_source:
  type: mapnik
  mapfile: /path/to/mapnik.xml

调试

将分辨率和bbox等信息添加到响应图像中。这对于确定 res -参数。没有选择。

例子::

debug_source:
  type: debug