TileMaker 功能操作:OpenStreetMap 转 Mapbox 瓦片支持离线处理与定制

2025-07-07| 3354 阅读

? 超详细教程:用 TileMaker 把 OpenStreetMap 数据转成 Mapbox 瓦片,还能离线处理和定制!


在地图开发领域,把 OpenStreetMap 数据转换成 Mapbox 瓦片是个常见需求。TileMaker 就是个超实用的工具,能轻松搞定这个事儿,还支持离线处理和定制。我折腾了好久,试过各种工具,TileMaker 绝对是最让我省心的。接下来我就把经验分享给大家,从安装到生成瓦片,再到离线处理和定制,一步一步讲清楚。

?️ 准备工作:安装 TileMaker


TileMaker 是个开源工具,用 C++ 写的,性能超强。它支持多种操作系统,像 Windows、macOS 和 Linux 都不在话下。安装方法有好几种,我推荐用 Docker 容器,这样能省不少麻烦。

? 用 Docker 安装


Docker 能把环境都打包好,不管你啥系统,用起来都一样。先装 Docker,装完就能用下面的命令拉取 TileMaker 镜像:

bash
docker pull ghcr.io/systemed/tilemaker:master

拉取完,就能用这个镜像来生成瓦片啦。用 Docker 的好处可多了,不用自己装依赖,也不用担心环境冲突,特别适合新手。

?️ 原生安装(适合技术达人)


要是你不想用 Docker,也能在本地装。先装依赖,像 Boost、Lua、SQLite 这些。装完依赖,从 GitHub 上把 TileMaker 的源码下下来,然后编译。编译命令是:

bash
git clone https://github.com/systemed/tilemaker.git
cd tilemaker
make
sudo make install

原生安装虽然灵活,但得自己处理依赖,适合有经验的开发者。

? 数据准备:获取 OpenStreetMap 数据


TileMaker 需要 OpenStreetMap 的数据,数据格式是 .osm.pbf。这种数据可以从 Geofabrik 这样的服务商那下载。Geofabrik 提供全球和各个地区的数据,你根据自己的需求选就行。

? 下载数据


上 Geofabrik 的官网,找到你要的地区,像中国、美国或者某个城市,然后下载对应的 .osm.pbf 文件。下载的时候注意文件大小,要是全球数据,那可老大了,得有几十 GB,所以最好选自己需要的地区。

? 预处理数据


下载完数据,可能得预处理一下。比如用 osmium 工具来裁剪数据,只保留你需要的区域。预处理能减少数据量,加快生成瓦片的速度。命令大概是这样的:

bash
osmium extract -p your-polygon.geojson input.osm.pbf -o output.osm.pbf

预处理完,数据就更精简了,生成瓦片的时候效率更高。

? 配置 TileMaker:调整参数和样式


TileMaker 能通过配置文件来调整生成瓦片的参数和样式。配置文件有两个,一个是 JSON 文件,用来设置基本参数;另一个是 Lua 脚本,用来处理数据分层和样式。

? 配置 JSON 文件


JSON 文件里能设置缩放级别、输出格式、数据源这些。比如下面这样:

json
{
  "layers": [
    {
      "name": "roads",
      "minzoom": ,
      "maxzoom": 
    },
    {
      "name": "buildings",
      "minzoom": ,
      "maxzoom": 
    }
  ],
  "settings": {
    "basezoom": ,
    "minzoom": ,
    "maxzoom": ,
    "compress": "gzip"
  }
}

这里设置了两个图层,roadsbuildings,还设置了缩放级别和压缩方式。你可以根据自己的需求改这些参数。

? 编写 Lua 脚本


Lua 脚本用来处理 OSM 标签,把数据分到不同的图层。比如下面这段脚本:

lua
function filter(tag)
  if tag["highway"] then
    return "roads"
  end
  if tag["building"] then
    return "buildings"
  end
  return nil
end

这段脚本检查标签,要是有 highway 标签,就把数据分到 roads 图层;要是有 building 标签,就分到 buildings 图层。你可以根据自己的需求写更复杂的逻辑。

⚙️ 生成瓦片:从 OSM 数据到 Mapbox 瓦片


配置好 TileMaker 后,就可以生成瓦片啦。用 Docker 或者原生安装的命令都能生成。

? 用 Docker 生成


用 Docker 生成瓦片的命令是:

bash
docker run -it --rm -v $(pwd):/data ghcr.io/systemed/tilemaker:master /data/input.osm.pbf --output /data/output.mbtiles --config /data/config.json --process /data/process.lua

这里把输入数据、输出文件、配置文件和 Lua 脚本都挂载到容器里,然后运行命令。生成的瓦片会存到 output.mbtiles 文件里。

?️ 原生安装生成


原生安装生成瓦片的命令是:

bash
tilemaker input.osm.pbf output.mbtiles --config config.json --process process.lua

命令差不多,就是不用 Docker 了。生成的瓦片同样存到 output.mbtiles 文件里。

? 离线处理:生成可离线使用的瓦片


TileMaker 生成的瓦片可以存到 .mbtiles 文件里,这个文件能离线使用。比如在手机应用或者车载导航里,就可以用这个文件来显示地图。

? 离线使用瓦片


要离线使用瓦片,得用支持 .mbtiles 格式的地图库,像 MapLibre GL JS、Leaflet 这些。把 .mbtiles 文件放到服务器上,或者直接在本地打开,就能离线查看地图啦。

? 优化离线瓦片


为了让离线瓦片用起来更流畅,可以优化一下。比如压缩瓦片、减少数据量,或者预生成热点区域的瓦片。优化后的瓦片能更快加载,用户体验更好。

✨ 定制化:调整瓦片样式和功能


TileMaker 支持定制化,能调整瓦片的样式和功能。比如改颜色、图标、标签,或者添加新的图层。

? 调整样式


用 Mapbox Studio 或者 MapLibre GL JS 来调整瓦片的样式。把生成的 .mbtiles 文件导入进去,就能改样式了。比如把道路颜色改成红色,或者给建筑物添加阴影。

? 添加新功能


用 Lua 脚本和 JSON 文件来添加新功能。比如添加搜索功能、路径规划,或者根据用户位置显示附近的 POI。这些功能能让地图更实用。

? 注意事项和常见问题


用 TileMaker 的时候,可能会遇到一些问题。这里给大家总结了一些常见问题和解决办法。

? 常见问题


  • 内存不足:生成瓦片的时候,要是内存不足,可以用 --store 参数把临时文件存到 SSD 上,提高 I/O 速度。
  • 样式不生效:检查配置文件和 Lua 脚本,看看参数有没有写错,路径对不对。
  • 瓦片加载慢:优化瓦片,压缩数据,或者预生成热点区域的瓦片。

? 性能优化


  • 用 SSD:把临时文件存到 SSD 上,能加快生成瓦片的速度。
  • 调整线程数:用 --threads 参数调整线程数,充分利用多核 CPU。
  • 预处理数据:裁剪数据,只保留需要的区域,减少数据量。

? 总结


TileMaker 是个超强大的工具,能轻松把 OpenStreetMap 数据转成 Mapbox 瓦片,还支持离线处理和定制。它不用数据库,安装简单,配置灵活,特别适合开发者和地图爱好者。希望这篇教程能帮到大家,让大家在地图开发的路上更顺利!

【该文章由dudu123.com嘟嘟 ai 导航整理,嘟嘟 AI 导航汇集全网优质网址资源和最新优质 AI 工具】

分享到:

相关文章

创作资讯2025-04-15

免费降 aigc 网站移动版:手机端高效降重的解决方案

🔍 免费降 AIGC 网站移动版:手机端高效降重的解决方案 手机上写东西,难免会遇到重复内容或者 AI 生成痕迹明显的问题,这时候一款好用的免费降 AIGC 工具就太重要了。今天就来给大家测评几款热

第五AI
创作资讯2025-01-09

公众号爆文标题的A/B测试方法,用数据选出最佳标题

做公众号的都知道,标题是文章的脸面。同样的内容,换个标题,阅读量可能差 10 倍甚至更多。但到底哪个标题能火?靠感觉?凭经验?这些都不靠谱。真正靠谱的是 A/B 测试 —— 用数据告诉你答案。​📊

第五AI
创作资讯2025-03-22

如何有效降低AI检测率|告别高查重率的AI论文写作与修改技巧

现在很多人写论文会用 AI 辅助,但提交后被提示 “AI 生成痕迹明显” 真的很头疼。其实只要掌握方法,完全能让 AI 写的内容 “隐身”。今天就把亲测有效的技巧分享出来,从写作到修改全流程拆解,看完

第五AI
创作资讯2025-03-27

AI内容降重后的文章是否需要二次修改?最佳实践流程分享

🤖 为什么 AI 降重≠终稿?那些被忽略的隐形问题 用 AI 降重工具处理完文章就直接发布?这可能是很多人犯的错。我见过太多运营同行,把降重后的内容当成 "成品",结果要么阅读量扑街,要么被读者指出

第五AI
推荐2025-08-07

力扣模拟面试防作弊指南:双机位 + 实时代码审查策略揭秘

?双机位布置:打造360°无死角面试环境力扣模拟面试的双机位要求让不少同学犯难,其实把它想象成给电脑装个「监控搭档」就简单了。主机位就是咱们平时用的电脑摄像头,记得调整到能露出整张脸和桌面的角度——下巴别藏在阴影里,键盘也别只露出半个。副机位一般用手机支架固定,放在身体侧后方45度角,这个位置既能拍

第五AI
推荐2025-08-07

Examify AI 是一款怎样的考试平台?2025 最新个性化学习计划解析

?精准提分黑科技!ExamifyAI如何重塑2025考试备考模式?一、核心功能大揭秘:AI如何让考试准备更高效?ExamifyAI作为新一代智能考试平台,最吸引人的地方就是它的自适应学习引擎。这个系统就像一个贴心的私人教练,能根据你的答题数据自动调整学习路径。比如你在数学几何题上错误率高,系统会优先

第五AI
推荐2025-08-07

AI写作如何进行事实核查?确保头条文章信息准确,避免误导读者 - AI创作资讯

上周帮同事核查一篇AI写的行业报告,发现里面把2023年的用户增长率写成了2025年的预测数据。更离谱的是,引用的政策文件号都是错的。现在AI生成内容速度快是快,但这种硬伤要是直接发出去,读者信了才真叫坑人。今天就掰开揉碎了说,AI写作怎么做好事实核查,别让你的头条文章变成 误导重灾区 。​📌AI写

第五AI
推荐2025-08-07

10w+阅读量爆文案例拆解分析:高手都从这5个维度入手 - AI创作资讯

🎯维度一:选题像打靶,靶心必须是「用户情绪储蓄罐」做内容的都清楚,10w+爆文的第一步不是写,是选。选题选不对,后面写得再好都是白搭。高手选选题,就像往用户的「情绪储蓄罐」里投硬币,投对了立刻就能听到回响。怎么判断选题有没有击中情绪?看三个指标:是不是高频讨论的「街头话题」?是不是藏在心里没说的「抽

第五AI
推荐2025-08-07

135编辑器会员值得买吗?它的AI模板库和秀米H5比哪个更丰富? - AI创作资讯

📌135编辑器会员值不值得买?AI模板库和秀米H5谁更胜一筹?🔍135编辑器会员的核心价值解析企业级商用保障与效率提升135编辑器的企业会员堪称新媒体运营的「合规保险箱」。根据实际案例,某团队通过企业会员节省了大量设计费用,完成多篇内容创作,单篇成本从千元降至百元内。这得益于其海量正版模板和素材库,

第五AI
推荐2025-08-07

新公众号被限流怎么办?粉丝增长影响分析及 2025 恢复指南 - AI创作资讯

新公众号被限流怎么办?粉丝增长影响分析及2025恢复指南🔍新公众号限流的核心原因解析新公众号被限流,往往是多个因素叠加的结果。根据2025年最新数据,超过70%的限流案例与内容质量直接相关。比如,有些新手喜欢用“震惊体”标题,像“惊!某公众号三天涨粉十万”,这类标题在2025年的算法里已经被明确标记

第五AI
推荐2025-08-07

AI内容重复率太高怎么办?掌握这些技巧轻松通过AIGC检测 - AI创作资讯

⚠️AI内容重复率高的3大核心原因现在用AI写东西的人越来越多,但很多人都会遇到同一个问题——重复率太高。明明是自己用工具生成的内容,一检测却显示和网上某些文章高度相似,这到底是为什么?最主要的原因是AI训练数据的重叠性。不管是ChatGPT还是国内的大模型,训练数据来源其实大同小异,都是爬取的互联

第五AI
推荐2025-08-07

135编辑器让排版更简单 | 专为公众号运营者设计的效率工具 - AI创作资讯

🌟135编辑器:公众号运营者的效率革命做公众号运营的朋友都知道,排版是个费时费力的活。一篇文章从内容到排版,没几个小时根本搞不定。不过现在好了,135编辑器的出现,彻底改变了这一现状。135编辑器是提子科技旗下的在线图文排版工具,2014年上线至今,已经成为国内新媒体运营的主流工具之一。它的功能非常

第五AI
推荐2025-08-07

朱雀 AI 检测抗绕过方法:2025 最新技术解析与实测对比 - AI创作资讯

🔍朱雀AI检测抗绕过方法:2025最新技术解析与实测对比🔍在AI生成内容泛滥的今天,腾讯朱雀AI检测系统凭借其多模态分析技术和百万级数据训练,成为行业标杆。但道高一尺魔高一丈,对抗者们正通过各种技术手段挑战其检测边界。本文将深入解析2025年最新的抗绕过方法,并结合实测数据对比效果。🛠️技术架构解析

第五AI
推荐2025-08-07

AI内容检测免费工具有哪些?为什么我最终选择了付费的第五AI? - AI创作资讯

🔍CopyLeaks:看似全能的免费选手​CopyLeaks算是免费AI检测工具里名气不小的。它支持Word、PDF这些常见文件格式,甚至连图片里的文字都能提取出来检测。语言方面也挺厉害,中英日韩这些主流语言都能hold住。​但免费版真的不够用,单篇检测最多就500字,稍微长点的文章就得切好几段。而

第五AI