使用Tippecanoe工具處理大數據量的矢量數據切片

使用Tippecanoe工具處理大數據量的矢量數據切片

原創(chuàng)

會哭的鱷魚

工作日志

2018/03/09 00:54

閱讀數 1W

本文被收錄于專區(qū)

軟件架構

進入專區(qū)參與更多專題討論?

Tippecanoe是Mapbox的一個開源切片工具璃氢,項目地址:https://github.com/mapbox/tippecanoe,Mapbox常規(guī)的切片方法tilelive-copy參見另一篇博客嫩絮。Tippecanoe主要在處理大數據量時有很大的優(yōu)勢绪妹,具有很高的效率斩例,并且有很多參數可以控制切揭。Tippecanoe只能處理GeoJSON妈倔,因此在切片前需要將矢量數據轉換為GeoJSON及志,推薦使用ogr2ogr工具轉換。切片以后的格式為mbtiles誊抛,可自行導入mongodb等數據庫列牺。

一整陌、在Linux系統(tǒng)配置GDAL

ogr2ogr工具在GDAL中拗窃,Linux安裝GDAL需要分別安裝PROJ.4、GEOS和GDAL泌辫,本實驗采用的proj-4.8.0随夸、geos-3.3.8gdal-1.10.0震放,點擊可直接進入下載地址宾毒。安裝前請確保系統(tǒng)已經安裝gcc、g++殿遂、make诈铛,沒有請自行安裝乙各。

分別解壓下載的壓縮文件,在文件夾依次運行:

$ ./configure$ make $ make install

安裝完成以后命令默認路徑在/usr/local/bin幢竹,庫文件在/usr/local/lib耳峦,源碼在/usr/local/include。此時運行gdalinfo:

$ gdalinfo

出現以上結果說明安裝成功焕毫。

注意:如果出現提示共享庫找不到蹲坷,按一下方法處理:

1、修改/etc/ld.so.conf文件邑飒,將共享庫的路徑“/usr/local/lib”加入進去循签。

2、運行l(wèi)dconfig命令使其生效疙咸。凡是增加了新的共享庫县匠,都需要運行一下ldconfig命令。

二撒轮、將數據轉換為GeoJSON

本實驗是從postgis數據庫轉換聚唐,轉換命令為:

$ogr2ogr -f"GeoJSON"./filename.json PG:"host=localhost dbname=timeline user=ms password=ms"-sql"select * from tablename"-t_srs="epsg:4326"

其他命令可參考:https://morphocode.com/using-ogr2ogr-convert-data-formats-geojson-postgis-esri-geodatabase-shapefiles/

為了避免一個一個轉,可以寫成shell進行批處理:

#!bin/shforlayerin"layer1""layer2""layer3""layer4"doecho"$layerconvert start"ogr2ogr -f"GeoJSON"./$layer.json PG:"host=localhost dbname=timeline user=ms password=ms"-sql"select * from$layer"-t_srs="epsg:4326"echo"$layerconvert successful"done

三腔召、安裝tippecanoe

從github下載源碼:https://github.com/mapbox/tippecanoe/releases

依次輸入命令進行編譯安裝:

$ make$ make install

四杆查、 切片

$tippecanoe-z14-Z12-ps-Bg-oriver_live.mbtiles*.json

-Bg 是自動抽吸,避免單個瓦片要素數量過多

*.json 是當前文件夾下的所有json文件臀蛛,會為每個文件自動創(chuàng)建一個圖層亲桦,圖層名為文件名

五、mbtiles導入到mongodb

本項目矢量瓦片需要在mongodb進行管理浊仆,需要將mbtiles導入到mongodb客峭,此時可以使用tilelive-copy進行導入,速度很快抡柿。

$ tilelive-copymbtiles:///path/to/mbtiles/file.mbtiles "foxgis+mongodb://localhost/zootop?tileset_id=****&owner=****" --timeout=200000000

最后舔琅,如果在加載矢量切片后,渲染出現三角形的空洞洲劣,例如如下效果:

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末备蚓,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子囱稽,更是在濱河造成了極大的恐慌郊尝,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件战惊,死亡現場離奇詭異流昏,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門况凉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谚鄙,“玉大人,你說我怎么就攤上這事刁绒〗笕瘢” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵膛锭,是天一觀的道長粮坞。 經常有香客問我,道長初狰,這世上最難降的妖魔是什么莫杈? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮奢入,結果婚禮上筝闹,老公的妹妹穿的比我還像新娘。我一直安慰自己腥光,他們只是感情好关顷,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著武福,像睡著了一般议双。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捉片,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天平痰,我揣著相機與錄音,去河邊找鬼伍纫。 笑死宗雇,一個胖子當著我的面吹牛,可吹牛的內容都是我干的莹规。 我是一名探鬼主播赔蒲,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼良漱!你這毒婦竟也來了舞虱?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤债热,失蹤者是張志新(化名)和其女友劉穎砾嫉,沒想到半個月后幼苛,有當地人在樹林里發(fā)現了一具尸體窒篱,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了墙杯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片配并。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖高镐,靈堂內的尸體忽然破棺而出溉旋,到底是詐尸還是另有隱情,我是刑警寧澤嫉髓,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布观腊,位于F島的核電站,受9級特大地震影響算行,放射性物質發(fā)生泄漏梧油。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一州邢、第九天 我趴在偏房一處隱蔽的房頂上張望儡陨。 院中可真熱鬧,春花似錦量淌、人聲如沸骗村。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胚股。三九已至,卻和暖如春裙秋,著一層夾襖步出監(jiān)牢的瞬間信轿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工残吩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留财忽,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓泣侮,卻偏偏與公主長得像即彪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子活尊,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容