tippecanoe:⽮量瓦⽚切⽚⼯具 您所在的位置:网站首页 切工pf tippecanoe:⽮量瓦⽚切⽚⼯具

tippecanoe:⽮量瓦⽚切⽚⼯具

2024-01-17 08:48| 来源: 网络整理| 查看: 265

tippecanoe:⽮量瓦⽚切⽚⼯具 是什么 概要 Tippecanoe是Mapbox的一个开源切片工具,[项目地址](https://github.com/mapbox/tippecanoe)。 Tippecanoe主要在处理大数据量时有很大的优势,具有很高的效率,并且有很多参数可以控制。 Tippecanoe只能处理GeoJSON,因此在切片前需要将矢量数据转换为GeoJSON,推荐使用ogr2ogr工具转换。 切片以后的格式为mbtiles,本质是sqllite数据库。 怎么用 用法理论 切片完成后的使用方式多样。

导入pg/mongo等数据库,再使用

使用mbtiles-server给前端提供接口访问,类似服务很多,只是个人使用这个,理论和这个一致。

具体使用 安装 Mac OS

在 OSX 上安装 tippecanoe 的最快捷的方法是使用 Homebrew 安装:

`brew install tippecanoe` #### 其他系统 没有实践过,不过可以使用[docker](https://github.com/jskeates/docker-tippecanoe)。 #### 使用 `tippecanoe -o file.mbtiles [options] [file.json file.json.gz file.geobuf ...]` Tippecanoe 有许多选项。大部分情境下,你只需要用 -o 指定输出文件的名字 output.mbtiles 即可,有时你可能需要加上 -f 选项以覆盖已经存在的文件。 如果你的数据范围较小,可以使用-Z指定开始切片的等级;由于矢量瓦片可以无损缩放,切到22级可能会造成瓦片集文件过大,可以使用-z指定开始切片的最大等级。如果你不确定适合输入数据的最大缩放级别,-zg (zoom guess)选项将根据要素密度推测该值。一般 Tippecanoe 会在低于 maxzoom 的级别去掉一部分要素,避免低级别时生成的瓦片过大(默认限制为500K)。如果你的数据集很小,使用 -r1 保留所有要素。如果你觉得 -zg 去掉的点太多,使用 -B 设置一个比 maxzoom 小的 zoom 值。 在可视化项目中一般需要控制切片等级,且tippecanoe的`-zg`并不可靠,我们需要指定切片的开始和结束级别。例如,切一个7到14级的瓦片集: `tippecanoe -o out.mbtiles -Z7 -z14 -r1 in.geojson` tippecanoe 默认的抽稀设置将瓦片大小限制在500K以内,且每张瓦片的最大要素数量为200,000个。如果你需要保留所有要素,你需要使用-r1选项,并设置-pf(要素数量)和-pk(瓦片大小)来忽略默认的抽稀设置。 你可以使用-l指定图层名,避免使用不当的文件名作为图层名;也方便在后续合并mbtiles时将相同图层数据合并。 tippecanoe -o out.mbtiles -Z7 -z14 -r1 -pf -pk -lnamedlayer in.geojson

按照你需要抽稀,但是瓦片太大,你可以使用 --drop-densest-as-needed 选项来去掉一些不重要的要素。 如果要素的属性较多,使用 -y 保留你需要的属性字段或使用-x排除你不需要的字段。 如果输入文件是 GeoJSON,使用 -P 选项会让解析速度更快(并行处理)。 接下来你可以在官方的参考中下载 GeoJSON 数据,试用tippecanoe的各种选项组合。 Options

输出 • -o file.mbtiles 或 --output=file.mbtiles: 指定输出 mbtiles 文件的文件名; • -e dir 或 --output-to-directory=dir :直接输出瓦片至指定目录。 • -f 或 --force : 如文件已存在直接删除覆盖,不抛出错误。 元数据 • -n 或 --name= name: 瓦片集名称,默认为 file.json。 • -A 或 --attribution= text : 在地图上显示的属性(支持HTML)。 • -N 或 --description= description : 瓦片集描述,默认为 file.mbtiles。 输入 • name.json(.gz)/geojson(.gz)/geobuf/csv: 支持 gzip 压缩的 json 和 geojson 格式的 GeoJSON 文件、Geobuf 文件、CSV 文件,图层名为 name。 • -l 或 --layer= name : 指定图层名称。如果有多个输入文件,输入文件将被合并为一个图层,即便使用了 -L选项。 • -L 或 --named-layer=name:file.json : 为每个输入文件指定图层名称。 • -L 或 --named-layer={layerJson} : 为每个输入文件指定各种属性值。1.file:必需,输入文件;2. layer:图层名;3.description: 瓦片集描述,将被存储在元数据表中;4.format:csv或geobuf,如果文件格式没有在文件名中显式指出。 -L name:file.json --named-layer=name:file.json -L'{"file":"ne_10m_admin_0_countries.json", "layer":"countries", "description":"Natural Earth countries"}

CSV 文件目前仅支持点要素,点坐标字段支持:latitude, longitude, lat, lon, long, lng, x, or y.

tile-join 瓦片集合并工具 Tile-join 可以将多个矢量瓦片集 .mbtiles 文件合并为一个瓦片集。一个mbtiles可以包含多个图层, 如果输入包含多个mbtiles,在合并时若遇到相同的图层名,tile-join将把相同图层的内容合并为一个 图层输出。 tile-join -o out.mbtiles -pk in1.mbtiles in2.mbtiles in3.mbtiles Options

tile-join 的基本设置和 tippecanoe 相同,如输出和元数据设置、指定输出瓦片集的最小和最大缩放级别。

图层过滤及命名 • -l layer 或 --layer=layer :保留的图层,可使用多个 -l。默认全部保留。 • -L layer or --exclude-layer=layer:不保留的图层,可使用多个 -L。 • -Rold:new or --rename-layer=old:new:重命名图层。

Tile-join 不像 tippecanoe 一样会对要素做处理,tile-join 只是拷贝瓦片并合并,因此你需要指定 -pk,否则超过500K的瓦片会被 tile-join 直接跳过不再保存。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有