共计 2051 个字符,预计需要花费 6 分钟才能阅读完成。
1、缘起
openmaptiles
提供了一套 OSM 数据应用的残缺解决方案,在后面文章如何实现 OSM 地图本地公布并自定义配图中,咱们具体介绍了如何装置openmaptiles
,并生成了一个阿尔巴尼亚地区的“helloworld”。-
参照上篇文章的内容,输出上面的命令,就能够生成中国地图。
./quickstart.sh china
- 下面命令,须要急躁期待,我电脑 4 核 8G,用了 16 个小时左右。最终失去了中国大陆地区,0- 7 级的矢量瓦片数据。
openmaptiles
次要是从 geofabrik 网站下载 OSM 数据,geofabrik 在中国地区下载的最小颗粒度是中国大陆和台湾,没有方法按大陆地区的省,或按自定义区域进行下载。
2、问题
- 能不能按自定义区域生成地图?
- 有哪些办法能进步处理速度?
3、剖析
openmaptiles
生成地图分 4 个步骤:1、数据下载、2、数据入库、3、数据分析、4、生成矢量瓦片。-
问题一剖析:
- 前三个步骤,只能按整个中国的范畴和所有层级来解决,第 4 步能够通过管制范畴、层级来实现自定义区域的切图。
-
问题二剖析:
- 第 1 步数据下载的工夫取决于网速。
- 第 2 步数据入库和第 3 步数据分析的工夫取决于机器性能。
- 第 4 步生成矢量瓦片的工夫取决于机器性能、切图范畴、切图层级。
- 想要进步处理速度,能够针对下面的因素,隔靴搔痒。
4、生成自定义地区矢量瓦片
- 后面的
./quickstart.sh china
命令蕴含 1 - 4 步,后续就不要再执行这个命令了,不然又得重来 16 个小时。后面曾经提到过,这个命令在第 4 步,默认会切整个中国范畴 0 - 7 级的地图。想要更大层级的地图,只须要另外独自执行第 4 步就能够。 openmaptiles
生成的矢量瓦片,最大到 14 级,设置再大也没有用,因为前三步没有对更大级别的数据进行剖析。- 第 4 步
生成矢量瓦片
的命令,会把上一次的瓦片革除,如果想把两次的后果放在一个文件中,比方想把中国 0 - 7 级和北京 8 -14 级的矢量瓦片放在一个.mbtiles 文件中,则须要批改配置,让程序不革除上一次的后果。 - 上面以生成全国范畴 0 - 7 级地图 + 北京范畴 8 -14 级地图为例,阐明如何来批改配置。
- 为防止重启电脑后就各种不灵的难堪,咱们从重启电脑后开始。
4.1、启动 docker
-
查看 docker 是否启动
docker --version
-
如果没有启动,输出上面命令启动 docker。如果有须要,后续能够本人把 docker 设置为开机自启动。
systemctl start docker
4.2、启动 postGIS 容器
- 后面的
./quickstart.sh china
命令在执行过程中,下载了 4 个 docker 镜像,启动了若干个容器,工具类容器在应用实现后就销毁了,数据类和利用类的容器会保留。(镜像和容器的关系) - 下图红框中的容器就是存放数据的,它外面有个 postGIS,咱们须要启动这个容器。
- 进入
openmaptiles
文件夹 -
启动 postGIS 容器
make start-db-preloaded
4.3、设置不清理上次的后果
- 关上
Makefile
文件,找到 generate-tiles 命令,下图红框的地位,就是革除上次后果文件的命令,咱们在这行后面输出#
号,把它正文掉。
4.4、删除默认切图范畴
- 程序默认会用 china.bbox 中的参数作为切图范畴,咱们把这个文件删掉,后续在.env 文件中配置。
-
china.bbox 文件在
data
文件夹中,删除命令:rm -f ./data/china.bbox
4.5、批改切图层级和范畴
- 关上.env 文件
- 批改切图的层级
MIN_ZOOM
和MAX_ZOOM
- 批改切图的范畴
BBOX
,格局为:minX,minY,maxX,maxY
4.6、生成瓦片
-
输出上面命令,生成瓦片
make generate-tiles
- 生成的后果是
tiles.mbtiles
文件,在data
文件夹中
4.7、反复操作
- 反复 4.5 和 4.6 步骤,批改层级和范畴,就能把屡次的后果放在一个文件中。
5、总结
openmaptiles
生成地图分 4 个步骤:1、数据下载、2、数据入库、3、数据分析、4、生成矢量瓦片。- 中国地区生成地图的最小颗粒度是中国大陆和台湾,没有方法按大陆地区的省或按自定义区域进行生成。
- 前三个步骤,只能按整个中国的范畴来解决,第 4 步能够通过管制生成范畴、生成层级来实现生成自定义区域的地图。
- 前三个步骤只须要执行一次,最初一个步骤能够屡次执行。
- 如果想把屡次生成的矢量瓦片放在一个文件中,能够设置不革除上次生成的后果。
原文地址:http://gisarmory.xyz/blog/index.html?blog=OSMOpenmaptiles
关注《GIS 兵器库》公众号,第一工夫取得更多高质量 GIS 文章。
本文章采纳 常识共享署名 - 非商业性应用 - 雷同形式共享 4.0 国内许可协定 进行许可。欢送转载、应用、从新公布,但务必保留文章署名《GIS 兵器库》(蕴含链接:http://gisarmory.xyz/blog/),不得用于商业目标,基于本文批改后的作品务必以雷同的许可公布。
正文完