命令行工具 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