播种机

作者

托马斯堡

联系

t在terriscope.fr的端口

作者

马修·库德特

联系

gmail.com上的mathieu.coudert

mod mapcache附带了一个高级种子设定工具,其主要功能是:
  • 可配置的种子设定线程数,以加快渲染速度

  • 重新设置早于某个时间戳的磁贴的能力

  • 能够在给定shapefile/ogr数据源的情况下为磁贴排序

使用

种子设定实用程序名为mapcache_seed,位于安装目录下(默认值为/usr/local/bin)。

命令行选项

选项有短版本和长版本(例如-c或--config)。

-b | --non-interactive(在MapCache 1.12.0中新增) 在新的行上打印进度消息。

-c--config[file]:包含需要播种的数据集的mapcache.xml配置文件的路径。

[-C | --cache [override]] :覆盖选定平铺集使用的缓存(用于选择性地为回退/多层缓存设定种子)。

-d--dimension“dimension=value”:用于指定如果tileset支持维度,则使用哪个维度。可多次用于设置多个尺寸,例如-d“dim1=val1”-d“dim2=val2”。

-e——范围minx、miny、maxx、maxy:要播种区域的边界框。

-f——force:对现有瓷砖进行强制改造。

-g--网格[网格]:必须播种的网格的名称(选定的tileset必须引用给定的网格)。

-h--帮助:显示帮助。

-H | --header "HEADER=VALUE"(在MapCache 1.12.0中新增) 用于指定键-值对,以在转发规则或HTTP请求中设置HTTP头。可以多次使用来设置多个标头,例如 -H "CUSTOM-HEADER1=VAL1" -H "CUSTOM-HEADER2=VAL2".

-i | --iteration-mode :任一“ drill-down “或” 扫描线 “。默认情况下,对g、WGS84和GoogleMapsCompatible网格使用向下钻取,对其他网格使用扫描线。使用此标志可覆盖。(扫描线以前称为”逐级“)

[-L | --log-failed [file]] :将失败的磁贴记录到文件中。

-m--模式:使用播种机的模式:“seed”、“delete”或“transfer”。默认值为SEED(模式:SEED)。

-m--metasize:播种时覆盖metatile大小,例如8、8。

-n--n threads:从WMS源请求分片时应使用的并行线程数。默认值为1,但如果WMS服务器能够承受并行请求,则可以设置得更高。(根据经验,这里选择的值永远不应该比WMS服务器上的CPU数量高很多。)

备注

此选项与 -p | --nprocesses 选项。

-o--旧的[时间戳现在]:仅种子瓷砖早于给定值。该值可以是字符串“now”,也可以是格式为年/月/日小时:分钟的日期,例如“2011/01/31 20:45”。

备注

应引用完整的时间戳。

-p--进程:用于从WMS源请求分片的并行进程数。

备注

此选项与 -n | --nthreads 选项。

警告

当处理多个进程(-p开关)和sqlite缓存后端时,在写入sqlite数据库时,在高并发性下可能会出现一些错误(错误:SQL逻辑错误或缺少数据库(1))。升级到sqlite>=3.7.15似乎可以解决这个问题。

[-P | --percent [number]] :从我们中止前的最后1000个允许的失败请求的百分比(默认值:1%,设置为0以在第一个错误时中止)。

-q--quiet:不要将进度消息打印到标准输出。

[-R | --retry-failed [file]] :重试--LOG-FAILED记录到文件的失败请求。

-t--tileset[tileset]:必须播种的tileset的名称。

-v--verbose:打印详细调试信息(如果在中编译)。

-x--传输:播种机在传输模式下运行时要传输的tileset。

-z--缩放最小缩放,最大缩放:必须设定的开始和结束缩放级别。

使用ogr/geos时的可选命令行选项

在编译时,如果在系统上找到了OGR和GEOS,那么seeder工具将支持仅为覆盖任意地理区域的瓷砖播种的附加选项。*重要事项:*请注意,目前,OGR数据源应与您正在播种的网格位于同一投影中,因为没有从数据源投影到网格投影的自动重投影。

-d--ogr datasource[ogr_datasource]:与空间源的ogr连接。有关支持的所有内容,请参阅OGR文档。在最简单的情况下(例如shapefile),这只是shapefile的完整文件名。

-l--ogr layer[ogr_layer]:对于包含多个层(例如Postgis,具有多个表)的数据源,确定将使用哪个层。

-s--ogr-sql[ogr-sql]:可以应用的ogr-sql表达式(请参见 OGR SQL

-w--ogr where[ogr_where]:sql“where”表达式过滤返回值。如果数据源包含所有世界轮廓,则通常只用于选择给定国家的几何图形。

重要注意事项

种子设定实用程序必须与运行Web服务器的用户在同一用户帐户下运行。这是必需的,因此种子服务器可以访问种子服务器创建的分片上的权限,反之,种子服务器有权将文件写入由Web服务器创建的目录。

示例种子设定会话如下所示:

[user@host]$ sudo www-data
[www-data@host]$ /path/to/mapcache/src/mapcache_seed -c /path/to/www/conf/mapcache.xml [[options]]
[www-data@host]$ logout
[user@host]$

实例

在“osm”tileset中输入“g”(Google/Web Mercator)网格:::

./src/mapcache_seed -c mapcache.xml -t osm -g g

种子级别0到12:::

./src/mapcache_seed -c mapcache.xml -t osm -g g -z 0,12

给定一个包含世界国家轮廓的形状文件,只在陆地覆盖的区域播种(即跳过海洋)。另外,并行使用4个请求线程:::

./src/mapcache_seed -c mapcache.xml -t osm -g g -z 0,12 -n 4 -d /path/to/seed.shp

与预先相同,但仅为美国种子(注意引号用法,需要使用单引号“us”创建有效的SQL)::

./src/mapcache_seed -c mapcache.xml -t osm -g g -z 0,12 -n 4 -d /path/to/seed.shp -w "FIPS_A2='US'"

重置级别0到12(也可以通过删除级别0到12的缓存并执行经典种子操作来完成,但这样做不会减慢从Web客户端的访问)::

./src/mapcache_seed -c mapcache.xml -t osm -g g -z 0,12 -o now