Tippecanoe 用於將 GeoJSON, Geobuf, 或者 CSV 格式的矢量要素轉換爲矢量瓦片。Tippecanoe 的目的是將數據製作爲比例獨立的視圖,以使在任何縮放級別下,都可以看到數據的密度和細節,而不是將數據簡化或聚合。
1、輸出選項
-o file.mbtiles 或 --output=file.mbtiles 指定輸出mbtiles文件的文件名
-e directory 或 --output-to-directory=directory 指定輸出文件的路徑
-f 或–force 若存在同名文件則刪除,不拋出錯誤
-F 或 --allow-existing 忽略元數據或瓦片已存在的情況,一般不推薦使用
2、瓦片集屬性選項
-n name 或 --name=name 給瓦片集設置一個易讀的名字
-A text 或--attribution=text 瓦片集在地圖上顯示的屬性
-N description 或--description=description 瓦片集描述
3、輸入文件和圖層名
name.json 或 name.geojson 讀取GeoJSON文件
name.json.gz 或 name.geojson.gz 讀取GeoJSON壓縮文件
name.geobuf 讀取Geobuf文件
name.csv 讀取CSV文件
-l name 或 --layer=name 使用自定義圖層名,而不是默認的輸入文件名作爲圖層名。如果有多個輸入文件,輸入文件將被合併爲一個圖層,除非使用-L選項來分別指定圖層名
-L name:file.json 或 --named-layer=name:file.json 定義每個輸入文件對應的圖層名
例:tippecanoe -z5 -o world.mbtiles -L'{"file":"ne_10m_admin_0_countries.json", "layer":"countries", "description":"Natural Earth countries"}'
-L{layer-json} 或 --named-layer={layer-json} 通過 json對象定義圖層
4、座標系
-s projection 或 --projection=projection 給定輸入文件的座標系統。當前支持的座標系有EPSG:4326(WGS84,默認值)、EPSG:3857(Web Mercator)。請儘量使用WGS84座標系統的數據集。
5、切片級別
-z zoom 或 --maximum-zoom=zoom 切片的最大級別(默認爲14)
-zg 或 --maximum-zoom=g 根據數據的密集程度自動計算一個最大級別
-Z zoom 或 --minimum-zoom=zoom 切片的最小級別(默認0)
-ae 或 --extend-zooms-if-still-dropping 如果在大級別下瓦片仍然很大,它將自動增加最大級別,以使最大級別下沒有要素被刪除
--drop-densest-as-needed 如果在小級別下瓦片太大,該選項將自動簡化要素
--extend-zooms-if-still-dropping 如果在大級別下瓦片仍然很大,它將自動增加最大級別,以使最大級別下沒有要素被刪除
--coalesce-densest-as-needed 如果瓦片在低級別或中等級別下比較大,該選項將合併要素;
6、屬性篩選
-x name 或 --exclude=name 指定切片中應剔除的字段。
-y name 或 --include=name 指定切片中應包含的字段。
-X 或 --exclude-all 剔除所有字段,僅僅編碼“geometry”字段
-T attribute:type 或 --attribute-type=attribute:type 強制將要素的 attribute屬性類型轉換爲指定的type類型。
type的取值範圍:string,float,int,或bool。如果是bool,那麼原始屬性中的0,false,null、或者空字符串都會被轉爲false,其它都被轉爲true。如果是float或int並且原始數據爲非數字,則會被轉爲0。如果是int並且原始數據爲浮點型,將會被轉爲與其最接近的整數。
7、瓦片分辨率
-d detail 或 --full-detail=detail 在最大級別時的“詳細程度”(默認12, 對應的分辨率爲4096)
-D detail 或 --low-detail=detail 在最大級別時的“詳細程度”(默認12, 對應的分辨率爲4096)
-m detail 或 --minimum-detail=detail “詳細程度”下限,如果在標準“詳細程度”下瓦片太大將會嘗試的最小“詳細程度”(默認7,對應的分辨率爲128)
8、根據縮放級別捨棄部分要素
-r rate 或者 --drop-rate=rate 在基準級別以下的瓦片中被捨棄的點的比例(默認2.5)。 如果使用-rg,將會估算一個棄置比,保持瓦片中最多包含50,000個要素。同時也可以使用-rg width 指定一個註記寬度來允許瓦片中保持較少的要素,以適應較大的註記或標記,也可以使用-rf number來設置瓦片中最多包含的要素數量。
-B zoom 或者 --base-zoom=zoom 基準級別及以上的瓦片將不做點狀數據的抽稀 (默認爲最大級別)。如果使用了-Bg,將會根據最大要素數50,000估算基準級別。同時也可以使用-Bg width 指定一個註記寬度來允許瓦片中保持較少的要素,以適應較大的註記或標記,也可以使用-Bf number 來設置瓦片中最多包含的要素數量。
-al 或者 --drop-lines 讓線要素跟點要素一樣,在低級別做數據抽稀
-ap 或者 --drop-polygons 讓面要素跟點要素一樣,在低級別做數據抽稀
9、捨棄一小部分要素來保持瓦片大小不超限
-as 或者 --drop-densest-as-needed 如果瓦片太大,嘗試增加要素之間的最小間隔來將瓦片大小控制在500kb以下。這種顯示間距將會被應用到所有級別的瓦片。
-ad 或者 --drop-fraction-as-needed 從每一個級別動態捨棄一部分要素來保持瓦片大小不超過500kb限制。 (類似於-pd,但是是應用於整個級別,而不是每一個瓦片)
-an 或者 --drop-smallest-as-needed 從每一個級別動態捨棄最小的要素(物理上的最小:最短的線或最小的面)來保持瓦片大小不超過500kb限制。該選項對點狀要素無效。
-pd 或者 --force-feature-limit 動態捨棄部分要素來保持瓦片大小不超過500kb限制(該選項與 -ad 類似,但是是針對每個單獨的瓦片,而不是整個縮放級別)。該選項可能會導致瓦片邊界區域比較難看,一般情況不建議使用。
10、捨棄緊密交錯的要素
-g gamma 或者 --gamma=_gamma_ 特別密集的點將會被丟棄的比例 (默認0,不丟棄)。gamma值爲2表示減少小於一個像素的點,直到其數量減少到原始數量的平方根。
-aG 或者 --increase-gamma-as-needed 如果瓦片太大,嘗試使用-g增加gamma值來將瓦片大小控制在500kb以下。這個gamma值將會被應用到整個縮放級別,一般情況下會使用--drop-densest-as-needed代替該命令。
11、線和麪的簡化
-S scale 或者--simplification=scale 簡化線和麪
-ps 或者 --no-line-simplification 禁止簡化線和麪
-pS 或者 --simplify-only-low-zooms 禁止在最大級別簡化線和麪 (在低級別仍然執行簡化)
-pt 或者 --no-tiny-polygon-reduction 不要將非常小的多邊形區域合併爲代表其合併區域的小正方形。