命令行工具 mapproxy-util
提供在使用maproxy时有用的子命令。
要获取所有子命令的列表,请调用:
mapproxy-util
调用子命令:
mapproxy-util subcommand
每个子命令提供附加信息:
mapproxy-util subcommand --help
当前的子命令是:
autoconfig
(见 maproxy-util自动配置 )
create
¶此子命令为您创建示例配置。每个配置文件都有模板。
-l
,
--list-templates
¶列出所有可用配置模板的名称。
-t
<name>
,
--template
<name>
¶使用命名模板创建配置。
-f
<mapproxy.yaml>
,
--mapproxy-conf
<mapproxy.yaml>
¶映射代理配置的路径。对于某些模板是必需的。
--force
¶用相同的输出文件名覆盖任何现有配置。
可用模板包括:
创建一个示例 mapproxy.yaml
和 seed.yaml
文件。您需要将目标目录传递给命令。
创建日志配置示例。您需要将目标文件名传递给命令。
为给定的maproxy配置创建示例服务器脚本 (--f/--mapproxy-conf
)您需要将目标文件名传递给命令。
mapproxy-util create -t base-config ./
serve-develop
¶此子命令将配置的maproxy实例作为独立服务器启动。
您需要将maproxy配置作为参数传递。如果更改配置或任何maproxy源代码,服务器将自动重新加载。
-b
<address>
,
--bind
<address>
¶HTTP服务器应在其中侦听传入连接的服务器地址。可以是一个港口 (:8080
(主持人) (localhost
)或两者兼而有之 (localhost:8081
)默认值为 localhost:8080
. 你需要使用 0.0.0.0
以便能够从外部客户端连接到服务器。
mapproxy-util serve-develop ./mapproxy.yaml
serve-multiapp-develop
¶1.3.0 新版功能.
此子命令类似于 serve-develop
但它开始了 MultiMapProxy 实例。
您需要将maproxy配置的目录作为参数传递。如果更改任何配置或任何maproxy源代码,服务器将自动重新加载。
-b
<address>
,
--bind
<address>
¶HTTP服务器应在其中侦听传入连接的服务器地址。可以是一个港口 (:8080
(主持人) (localhost
)或两者兼而有之 (localhost:8081
)默认值为 localhost:8080
. 你需要使用 0.0.0.0
以便能够从外部客户端连接到服务器。
mapproxy-util serve-multiapp-develop my_projects/
scales
¶1.2.0 新版功能.
此子命令有助于在刻度和分辨率之间进行转换。
当输出设备(LCD、打印机、移动设备等)的分辨率未知时,比例不明确,因此Maproxy仅使用分辨率进行配置(请参见 比例与分辨率 )你可以使用 scales
用于在已知比例值和分辨率之间进行计算的子命令。
该命令获取具有一个或多个比例值的列表,并返回相应的分辨率值。
--unit
<m|d>
¶以每像素为单位返回分辨率(默认为每像素米)。
-l
<n>
,
--levels
<n>
¶计算分辨率 n
水平。如果 n
大于提供的刻度数。
-d
<dpi>
,
--dpi
<dpi>
¶用于计算的输出显示的分辨率。您需要将其设置为正在使用的客户机/服务器软件的相同值。常用值为72和96。默认值相当于0.28mm的像素大小,大约为91 dpi。这是OGC自WMS 1.3.0规范以来使用的值。
--as-res-config
¶格式化输出,以便将其粘贴到maproxy网格配置中。
--res-to-scale
¶从分辨率到刻度进行计算。
对于作为maproxy配置片段的多个级别:::
mapproxy-util scales -l 4 --as-res-config 100000
res: [
# res level scale
28.0000000000, # 0 100000.00000000
14.0000000000, # 1 50000.00000000
7.0000000000, # 2 25000.00000000
3.5000000000, # 3 12500.00000000
]
具有多个比例值和自定义dpi:::
mapproxy-util scales --dpi 96 --as-res-config \
100000 50000 25000 10000
res: [
# res level scale
26.4583333333, # 0 100000.00000000
13.2291666667, # 1 50000.00000000
6.6145833333, # 2 25000.00000000
2.6458333333, # 3 10000.00000000
]
wms-capabilities
¶1.5.0 新版功能.
此子命令解析URL中的有效功能文档,并显示所有可用层。
此工具不创建maproxy配置,但输出应帮助您设置或修改maproxy配置。
该命令采用有效的url getcapabilities url。
--host
<URL>
¶显示此服务的所有可用层。每个新层都将用连字符标记,并且所有子层都缩进。
--version
<versionnumber>
¶分析给定版本的功能文档。仅支持版本1.1.1和1.3.0。默认值为1.1.1
使用以下映射代理层配置:::
layers:
- name: osm
title: Omniscale OSM WMS - osm.omniscale.net
sources: [osm_cache]
- name: foo
title: Group Layer
layers:
- name: layer1a
title: Title of Layer 1a
sources: [osm_cache]
- name: layer1b
title: Title of Layer 1b
sources: [osm_cache]
已分析的功能文档:::
mapproxy-util wms-capabilities http://127.0.0.1:8080/service?REQUEST=GetCapabilities
Capabilities Document Version 1.1.1
Root-Layer:
- title: MapProxy WMS Proxy
url: http://127.0.0.1:8080/service?
opaque: False
srs: ['EPSG:31467', 'EPSG:31466', 'EPSG:4326', 'EPSG:25831', 'EPSG:25833',
'EPSG:25832', 'EPSG:31468', 'EPSG:900913', 'CRS:84', 'EPSG:4258']
bbox:
EPSG:900913: [-20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428]
EPSG:4326: [-180.0, -85.0511287798, 180.0, 85.0511287798]
queryable: False
llbbox: [-180.0, -85.0511287798, 180.0, 85.0511287798]
layers:
- name: osm
title: Omniscale OSM WMS - osm.omniscale.net
url: http://127.0.0.1:8080/service?
opaque: False
srs: ['EPSG:31467', 'EPSG:31466', 'EPSG:25832', 'EPSG:25831', 'EPSG:25833',
'EPSG:4326', 'EPSG:31468', 'EPSG:900913', 'CRS:84', 'EPSG:4258']
bbox:
EPSG:900913: [-20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428]
EPSG:4326: [-180.0, -85.0511287798, 180.0, 85.0511287798]
queryable: False
llbbox: [-180.0, -85.0511287798, 180.0, 85.0511287798]
- name: foobar
title: Group Layer
url: http://127.0.0.1:8080/service?
opaque: False
srs: ['EPSG:31467', 'EPSG:31466', 'EPSG:25832', 'EPSG:25831', 'EPSG:25833',
'EPSG:4326', 'EPSG:31468', 'EPSG:900913', 'CRS:84', 'EPSG:4258']
bbox:
EPSG:900913: [-20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428]
EPSG:4326: [-180.0, -85.0511287798, 180.0, 85.0511287798]
queryable: False
llbbox: [-180.0, -85.0511287798, 180.0, 85.0511287798]
layers:
- name: layer1a
title: Title of Layer 1a
url: http://127.0.0.1:8080/service?
opaque: False
srs: ['EPSG:31467', 'EPSG:31466', 'EPSG:25832', 'EPSG:25831', 'EPSG:25833',
'EPSG:4326', 'EPSG:31468', 'EPSG:900913', 'CRS:84', 'EPSG:4258']
bbox:
EPSG:900913: [-20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428]
EPSG:4326: [-180.0, -85.0511287798, 180.0, 85.0511287798]
queryable: False
llbbox: [-180.0, -85.0511287798, 180.0, 85.0511287798]
- name: layer1b
title: Title of Layer 1b
url: http://127.0.0.1:8080/service?
opaque: False
srs: ['EPSG:31467', 'EPSG:31466', 'EPSG:25832', 'EPSG:25831', 'EPSG:25833',
'EPSG:4326', 'EPSG:31468', 'EPSG:900913', 'CRS:84', 'EPSG:4258']
bbox:
EPSG:900913: [-20037508.3428, -20037508.3428, 20037508.3428, 20037508.3428]
EPSG:4326: [-180.0, -85.0511287798, 180.0, 85.0511287798]
queryable: False
llbbox: [-180.0, -85.0511287798, 180.0, 85.0511287798]
grids
¶1.5.0 新版功能.
此子命令显示有关已配置网格的信息。
该命令获取一个mapproxy配置文件并返回所有配置的网格。
此外,如果未明确定义每个网格的默认值,则会显示这些值。所有默认值在输出中都用星号标记。
-f
<path/to/config>
,
--mapproxy-config
<path/to/config>
¶显示此maproxy配置的所有配置网格以及详细信息。如果未设置此选项,子命令将尝试使用最后一个参数作为maproxy配置。
-l
,
--list
¶仅显示给定配置的网格名称,任何网格都使用这些名称。
--all
¶同时显示未被任何缓存引用的网格。
-g
<grid_name>
,
--grid
<grid_name>
¶仅显示单个网格的信息。如果找不到网格名称,工具将退出。
-c
<coverage name>
,
--coverage
<coverage name>
¶显示此覆盖范围内每个级别的切片数量的近似值。必须在种子配置中定义覆盖率。
-s
<seed.yaml>
,
--seed-conf
<seed.yaml>
¶此选项加载种子配置,如果使用 --coverage
选择权。
使用以下maproxy网格配置:::
grids:
localgrid:
srs: EPSG:31467
bbox: [5,50,10,55]
bbox_srs: EPSG:4326
min_res: 10000
localgrid2:
base: localgrid
srs: EPSG:25832
res_factor: sqrt2
tile_size: [512, 512]
列出所有配置的网格:::
mapproxy-util grids --list --mapproxy-config /path/to/mapproxy.yaml
GLOBAL_GEODETIC
GLOBAL_MERCATOR
localgrid
localgrid2
显示一个特定网格的详细信息:::
mapproxy-util grids --grid localgrid --mapproxy-conf /path/to/mapproxy.yaml
localgrid:
Configuration:
bbox: [5, 50, 10, 55]
bbox_srs: 'EPSG:4326'
min_res: 10000
origin*: 'sw'
srs: 'EPSG:31467'
tile_size*: [256, 256]
Levels: Resolutions, # x * y = total tiles
00: 10000, # 1 * 1 = 1
01: 5000.0, # 1 * 1 = 1
02: 2500.0, # 1 * 1 = 1
03: 1250.0, # 2 * 2 = 4
04: 625.0, # 3 * 4 = 12
05: 312.5, # 5 * 8 = 40
06: 156.25, # 9 * 15 = 135
07: 78.125, # 18 * 29 = 522
08: 39.0625, # 36 * 57 = 2.052K
09: 19.53125, # 72 * 113 = 8.136K
10: 9.765625, # 144 * 226 = 32.544K
11: 4.8828125, # 287 * 451 = 129.437K
12: 2.44140625, # 574 * 902 = 517.748K
13: 1.220703125, # 1148 * 1804 = 2.071M
14: 0.6103515625, # 2295 * 3607 = 8.278M
15: 0.30517578125, # 4589 * 7213 = 33.100M
16: 0.152587890625, # 9178 * 14426 = 132.402M
17: 0.0762939453125, # 18355 * 28851 = 529.560M
18: 0.03814697265625, # 36709 * 57701 = 2.118G
19: 0.019073486328125, # 73417 * 115402 = 8.472G
export
¶此子命令将块从一个缓存导出到另一个缓存。这类似于种子工具,但您不需要编辑配置。可以在命令行上定义目标缓存、网格和覆盖范围。
必需参数:
-f
,
--mapproxy-conf
¶源缓存的maproxy配置的路径。
--source
¶要导出的源或缓存的名称。
--levels
¶要导出的级别的逗号分隔列表。您还可以定义一个级别范围。例如 '1,2,3,4,5'
, '1..10'
或 '1,3,4,6..8'
.
--grid
¶用于导出的平铺网格。选项可以是在MapProxy配置中定义的网格名称,也可以是网格定义本身。您可以将网格定义为一个键值对的字符串。网格定义 supports all grid parameters . 示例见下文。
--dest
¶出口目的地。可以是文件名、目录或URL,具体取决于导出 --type
.
--type
¶选择导出类型。有关所有选项的列表,请参见下文。
其他选项:
--fetch-missing-tiles
¶如果maproxy应该从源请求丢失的图块。默认情况下,导出工具将仅限于现有的平铺。
-c
N
,
--concurrency
N
¶并发导出进程的数目。
tms
:在类似tms的目录结构中导出tiles。
mapproxy
或 tc
:导出类似内部缓存目录结构的图块。这与Tilecache兼容。
mbtile
:将磁贴导出到mbtile文件中。
sqlite
:将图块导出到sqlite级别的文件中。
geopackage
:将图块导出到地理包文件中。
arcgis
:导出Arcgis分解缓存目录结构中的图块。
compact-v1
:将tiles导出为arcgis compact cache bundle文件(版本1)。
将tiles导出到下的tms目录结构中 ./cache/
. 限制导出到bbox和级别0到6。
mapproxy-util export -f mapproxy.yaml --grid osm_grid \
--source osm_cache --dest ./cache/ \
--levels 1..6 --coverage 5,50,10,60 --srs 4326
将图块导出到mbtiles文件中。限制导出到形状覆盖范围。
mapproxy-util export -f mapproxy.yaml --grid osm_grid \
--source osm_cache --dest osm.mbtiles --type mbtile \
--levels 1..6 --coverage boundaries.shp \
--where 'CNTRY_NAME = "Germany"' --srs 3857
使用自定义网格定义将图块导出到mbtiles文件中。
mapproxy-util export -f mapproxy.yaml --levels 1..6 \
--grid "srs='EPSG:4326' bbox=[5,50,10,60] tile_size=[512,512]" \
--source osm_cache --dest osm.mbtiles --type mbtile \
defrag-compact-cache
¶Arcgis Compact缓存格式版本1和2仅为追加。更新现有的平铺将增加文件大小。捆绑文件会随着时间的推移变得更大和碎片化。这个 defrag-compact-cache
子命令通过重写和重新组织每个bundle文件来压缩现有的bundle文件。
必需参数:
-f
,
--mapproxy-conf
¶已配置压缩缓存的maproxy配置的路径。
可选参数:
--caches
¶要进行碎片整理的缓存的逗号分隔列表。默认情况下,所有配置的压缩缓存都将进行碎片整理。
--min-percent
,
--min-mb
¶只跳过碎片最小的捆绑文件。您可以使用定义此阈值 --min-percent
作为所需的未使用空间的最小百分比 --min-mb
作为所需的最小未使用空间(兆字节)。必须超过两个阈值。默认为10%和1MB。
-n
,
--dry-run
¶这将模拟碎片整理过程。
整理捆绑文件的碎片 map1_cache
和 map2_cache
当它们有超过20%和5MB的未使用空间时。例如,一个20MB的bundle文件只有在碎片整理后小于15MB时才会被重写;一个500MB的bundle文件只有在碎片整理后小于400MB时才会被重写。
mapproxy-util defrag-compact-cache -f mapproxy.yaml \
--min-percent 20 \
--min-mb 5 \
--caches map1_cache,map2_cache