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/),不得用于商业目的,基于本文修改后的做品务必以相同的许可发布。