Tippecanoe生成适量切片方法
使用Tippecanoe工具进行矢量地图切片,用GeoJSON文件构建矢量切片集
GIS
Tippecanoe
矢量切片
发布于 2018-10-13 ▪ 阅读 1.3k
安装
使用Homebrew安装:
$ brew install tippecanoe
使用源码安装:
$ git clone git@github.com:mapbox/tippecanoe.git
$ cd tippecanoe
$ make -j
$ make install
参数说明
$ tippecanoe -o [输出文件] [选项] [输入文件]
输入文件
如果没有指定GeoJSON文件,它将会从标准输入读取。 如果指定了多个文件,每个文件都会创建一个对应的图层。
name.json
orname.geojson
: 读取指定的文件到一个名为name的图层-l name
or--layer=name
:使用指定的图层名,如果输入的有多个文件,则这些文件将会被合并到一个图层-L name:file.json
or--named-layer=name:file.json
: 为每一个单独的文件指定一个图层名
输出文件
只需要通过 -o output.mbtiles 指定输出文件名,或者 -f 来删除已经存在的文件。
-o file.mbtiles
or--output=file.mbtiles
: 指定输出文件名称-e directory
or--output-to-directory=directory
: 将瓦片文件输出到指定的directory 文件夹,而不是mbtiles-f
or--force
: 如果指定的mbtiles已存在,则删除,否则抛出错误-F
or--allow-existing
: 忽略元数据或瓦片已存在的情况,一般不推荐使用
选项
tippecanoe提供了众多选项,大多数时候不需要指定额外的选项参数。
切片描述与水印
-n name
or--name=name
: (默认)生成XXX.json作为可读的切片描述-A text
or--attribution=text
: 切片水印-N description
or--description=description
: 生成XXX.mbtiles作为切片描述
线、面简化
-S scale
or--simplification=scale
: 容差-ps
or--no-line-simplification
: 无线简化-pS
or--simplify-only-low-zooms
: 在高缩放等级时不简化-pt
or--no-tiny-polygon-reduction
: 不合并面
瓦片描述和权属信息
-n name
or--name=name
:瓦片集的名称-A text
or--attribution=text
:使用瓦片数据时,显示在地图上的权属信息 (HTML格式)-N description
or--description=description
: 瓦片集的描述信息 (默认 file.mbtiles)
输入文件的并行处理
-P
or--read-parallel
: 使用多线程读取一个文件的不同部分 该选项只对新行分隔(每个要素为一行)的json文件有效。否则将会返回一个“EOF”错误
输入文件的投影
-s projection
or--projection=projection
:为输入的数据指定一个投影。目前仅支持 EPSG:4326 (WGS84, 默认) 和 EPSG:3857 (Web墨卡托)。
缩放级别
如果你不确定所使用数据的最大级别,可以使用 -zg 来根据数据密度自动估算一个级别。
-z zoom
or--maximum-zoom=zoom
:切片的最大级别(默认14)-zg
or--maximum-zoom=g
: 根据要素分布自动估算最大级别-Z zoom
or--minimum-zoom=zoom
:切片的最小级别(默认0)
切片分辨率
-d detail
or--full-detail=detail
: 最大缩放等级的分辨率(默认 12级, 切片分比率 2^12=4096)-D detail
or--low-detail=detail
: 较低等级的分辨率(默认 12级, 切片分比率 2^12=4096)-m detail
or--minimum-detail=detail
: 最小的分辨率(默认7级)
属性表过滤器
-x name
or--exclude=name
: 移除所有要素对应的指定字段-y name
or--include=name
: 移除所有空字段要素-X
or--exclude-all
: 移除所有属性字段,只保留几何字段-Tattribute:type
or--attribute-type=attribute:type
: 改变指定字段的类别:string, float, int, bool.-j filter
or--feature-filter=filter
: 字段过滤,"*"表示使用所有图层,使用mapbox过滤函数-J filter-file
or--feature-filter-file=filter-file
: 和"-j"一样,只不过从文件中过滤
公共面边界优化
-ab
or--detect-shared-borders
: 检测公共边界并简化-aL
or--grid-low-zooms
: 线、面吸附
裁剪切片边界
-b pixels
or--buffer=pixels
: 缓冲区(默认5,2^5=32)-pc
or--no-clipping
: 不裁剪-pD
or--no-duplication
: 无重复
切片要素重排
-pi
or--preserve-input-order
: 以输入顺序作为绘制顺序-ao
or--reorder
: 所有同属性要素按顺序重排-ac
or--coalesce
: 合并具有相同属性的相邻线、面-ar
or--reverse
: 合并相邻但反向的线段
增加计算的额外字段
-ag
or--calculate-feature-density
: 增加字段tippecanoe_feature_density, 用于描述切片中的要素密度
修复破损几何
-aw
or--detect-longitude-wraparound
: 检测相邻点,并修复几何
切片大小设
-M bytes
or--maximum-tile-bytes=bytes
: 切片大小指定(默认500k)-pf
or--no-feature-limit
: 切片要素数量限制(默认20W)-pk
or--no-tile-size-limit
: 不使用切片大小限制-pC
or--no-tile-compression
: 不使用PBF压缩(此处必须选择,否则mapbox无法使用)-pg
or--no-tile-stats
: 不生成切片信息
临时储存
-t directory
or--temporary-directory=directory
: 临时目录,如果未指定,使用/tmp.
结果指示器
-q
or--quiet
: 静默模式-v
or--version
: 返回Tippecanoe版本号
如果你的数据包含点状要素,通常需要使用-Bg来自动计算一个基准级别做数据抽稀。如果这种方式对你无效,可以尝试使用-r1 --drop-fraction-as-needed 关闭传统的抽稀方法,而仅仅在瓦片太大时才做抽稀; 如果你的数据包含点状要素或面状要素,你可能需要使用--drop-densest-as-needed 来舍弃一些要素,让其可以在低级别显示。
使用方法
生成mbtiles文件
tippecanoe -o [输出文件路径.mbtiles] [输入文件路径.json/.geojson] -z [切片最小层级] -Z [切片最大层级] -P -f -ps -Bg
生成pbf文件
tippecanoe -e [输出文件路径.pbf] [输入文件路径.json/.geojson] -z [切片最小层级] -Z [切片最大层级] -f -ps
- 本文类型: 原创
- 本文出处:
- 版权说明: 本站内容均采用©BY-NC-SA许可协议,版权归作者和本站所有!欢迎转载,但未经作者同意必须在文章页面注明原文出处,否则保留追究法律责任的权利。