openmaptiles
提供了一套OSM數據使用的完整解決方案,在前面文章如何實現OSM地圖本地發佈並自定義配圖中,咱們詳細介紹瞭如何安裝openmaptiles
,並生成了一個阿爾巴尼亞地區的「helloworld」。html
參照上篇文章的內容,輸入下面的命令,就能夠生成中國地圖。docker
./quickstart.sh china
上面命令,須要耐心等待,我電腦4核8G,用了16個小時左右。最終獲得了中國大陸地區,0-7級的矢量瓦片數據。工具
openmaptiles
主要是從geofabrik網站下載OSM數據,geofabrik在中國地區下載的最小顆粒度是中國大陸和臺灣,沒有辦法按大陸地區的省,或按自定義區域進行下載。post
openmaptiles
生成地圖分4個步驟:一、數據下載、二、數據入庫、三、數據分析、四、生成矢量瓦片。./quickstart.sh china
命令包含1-4步,後續就不要再執行這個命令了,否則又得重來16個小時。前面已經提到過,這個命令在第4步,默認會切整個中國範圍0-7級的地圖。想要更大層級的地圖,只須要另外單獨執行第4步就能夠。openmaptiles
生成的矢量瓦片,最大到14級,設置再大也沒有用,由於前三步沒有對更大級別的數據進行分析。生成矢量瓦片
的命令,會把上一次的瓦片清除,若是想把兩次的結果放在一個文件中,好比想把中國0-7級和北京8-14級的矢量瓦片放在一個.mbtiles文件中,則須要修改配置,讓程序不清除上一次的結果。檢查docker是否啓動性能
docker run hello-world
若是沒有啓動,輸入下面命令啓動docker。若是有須要,後續能夠本身把docker設置爲開機自啓動。網站
systemctl start docker
前面的./quickstart.sh china
命令在執行過程當中,下載了4個docker鏡像,啓動了若干個容器,工具類容器在使用完成後就銷燬了,數據類和應用類的容器會保留。(鏡像和容器的關係)ui
下圖紅框中的容器就是存放數據的,它裏面有個postGIS,咱們須要啓動這個容器。
.net
進入openmaptiles
文件夾code
啓動postGIS容器htm
make start-db-preloaded
Makefile
文件,找到generate-tiles命令,下圖紅框的位置,就是清除上次結果文件的命令,咱們在這行前面輸入#
號,把它註釋掉。程序默認會用china.bbox中的參數做爲切圖範圍,咱們把這個文件刪掉,後續在.env文件中配置。
china.bbox文件在data
文件夾中,刪除命令:
rm -f ./data/china.bbox
MIN_ZOOM
和MAX_ZOOM
BBOX
,格式爲:minX,minY,maxX,maxY輸入下面命令,生成瓦片
make generate-tiles
生成的結果是tiles.mbtiles
文件,在data
文件夾中
openmaptiles
生成地圖分4個步驟:一、數據下載、二、數據入庫、三、數據分析、四、生成矢量瓦片。原文地址:http://gisarmory.xyz/blog/index.html?blog=OSMOpenmaptiles
關注《GIS兵器庫》公衆號, 第一時間得到更多高質量GIS文章。
本文章採用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議 進行許可。歡迎轉載、使用、從新發布,但務必保留文章署名《GIS兵器庫》(包含連接: http://gisarmory.xyz/blog/),不得用於商業目的,基於本文修改後的做品務必以相同的許可發佈。