maproxy支持以下源:
您需要为每个配置的源选择一个唯一的名称。此名称将用于引用 caches
和 layers
配置。
源部分如下所示:
sources:
mysource1:
type: xxx
type_dependend_option1: a
type_dependend_option2: b
mysource2:
type: yyy
type_dependend_option3: c
有关每项服务的详细说明,请参见下文。
使用类型 wms
对于WMS服务器。
req
¶这描述了WMS源。唯一需要的选项是 url
和 layers
. 你需要设置 transparent
到 true
如果要将此源用作覆盖。::
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
您还可以配置 sld
或 sld_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
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?
您可以忽略 layers
在 req
参数,或者可以使用它们来限制标记的层。在这种情况下,如果配置 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
使用类型 arcgis
对于Arcgis MapServer和ImageServer REST服务器端点。此源基于 the WMS source 大多数WMS选项也适用于ArcGIS源。
req
¶这描述了ARCGIS源。唯一需要的选项是 url
. 你需要设置 transparent
到 true
如果要将此源用作覆盖。还可以将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
创建仅用于功能信息请求的源。
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_path
和 bbox
参数。
origin
¶1.3.0 版后已移除: 使用网格 origin
选择权。
切片网格的原点(即0,0 切片的位置)。支持的值为 sw
对于西南(左下)原点或 nw
西北(左上)原点。 sw
是默认值。
grid
¶平铺源的网格。默认为 GLOBAL_MERCATOR
与流行的Web映射应用程序兼容的网格。
transparent
¶你需要把这个设置为 true
如果要将此源用作覆盖。
http
¶可以为此源配置以下与HTTP相关的选项:
headers
client_timeout
ssl_ca_certs
ssl_no_cert_checks
见 HTTP Options 有关详细文档。
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_request
或 ows_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
(默认)将强制使用黑色背景色。
mapnik源还支持 min_res
/max_res
/min_scale
/max_scale
, concurrent_requests
, seed_only
和 coverage
选项。见 WMS .
my_mapnik_source:
type: mapnik
mapfile: /path/to/mapnik.xml