openmaptiles-tools Docker 镜像下载 - 轩辕镜像
openmaptiles-tools 镜像详细信息和使用指南
openmaptiles-tools 镜像标签列表和版本信息
openmaptiles-tools 镜像拉取命令和加速下载
openmaptiles-tools 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
openmaptiles-tools 镜像详细信息
openmaptiles-tools 镜像标签列表
openmaptiles-tools 镜像使用说明
openmaptiles-tools 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
openmaptiles-tools 镜像详细说明
openmaptiles-tools 使用指南
openmaptiles-tools 配置说明
openmaptiles-tools 官方文档
OpenMapTiles Tools 。
bashdocker run -it --rm -u $(id -u ${USER}):$(id -g ${USER}) \ -v "${PWD}:/tileset" \ openmaptiles/openmaptiles-tools \ <脚本名称> <脚本参数>
其中 <脚本名称> 可以是 bin/ 目录中的任何脚本,例如 generate-imposm3 openmaptiles.yaml。
Docker 卷
- 将 PBF 文件挂载到
/import文件夹 - 将
mapping.yaml挂载到/mapping文件夹 - 若使用差异模式,需将持久化位置挂载到
/cache文件夹以便后续重用
不使用 Docker
bash# 部分工具需要这些包。在 Debian/Ubuntu 上可通过以下命令安装 sudo apt install graphviz sqlite3 aria2 osmctools # 直接从 git 安装包 python3 -m pip install git+[***] # 运行所需脚本,例如从 openmaptiles 目录: generate-imposm3 openmaptiles.yaml # 若脚本无法运行,确保 PATH 包含默认 PIP 二进制目录。 # 在 Debian/Ubuntu 上通常是 ~/.local/bin/(用户主目录下)。 # 否则直接运行 ~/.local/bin/generate-imposm3 ...
从源码运行
确保已安装 使用方法 部分列出的所有依赖项。需安装最新 Python(3.6+)
bash# 获取 OpenMapTiles 图层数据 git clone [***] # 获取工具仓库 git clone [***] # 从工具仓库根目录运行脚本 cd openmaptiles-tools # 安装所需依赖(可能需要 sudo 权限) python3.6 -m pip install -r requirements.txt # PYTHONPATH=$PWD 允许脚本找到当前目录中的模块 PYTHONPATH=$PWD python3 bin/generate-imposm3 ../openmaptiles/openmaptiles.yaml
数据概念
您可以定义一个自包含的图层,连同 SQL 文件、图层和数据源定义(如 imposm3 映射文件),然后在瓦片集中引用它,与其他图层混合匹配。
定义自己的图层
查看或复制标准图层(如 building)开始创建自己的图层。一个图层包含一个用 YAML 格式编写的图层定义。
在其中指定 layer 属性,如 id、buffer_size 和可能的 Markdown 文档(description 和 fields)。还可在 schema 中引用 SQL 文件,编写图层所需查询或创建通用表。建议每个图层有一个接受边界框和缩放级别的函数,便于测试和重用。
若数据基于 OSM,可直接引用 imposm3 映射文件 选择所需 OSM 数据。
yamllayer: id: "building" description: 来自 OpenStreetMap 的建筑物 buffer_size: 4 datasource: query: (SELECT geometry FROM layer_building(!bbox!, z(!scale_denominator!))) AS t fields: render_height: 根据建筑物层数和高度估算的高度。 class: description: 定义建筑物的子类(已知值之一)。 # 值可以是字符串列表或字典 # 字典定义 OSM 值到 OMT 字段值的映射 values: school: # subclass IN ('school','kindergarten') OR subclass LIKE 'uni%' subclass: ['school','kindergarten','uni%'] railway: # (subclass='station' AND mapping_key='railway') # OR subclass in ('halt','tram_stop','subway') - __AND__: subclass: 'station' mapping_key: 'railway' - subclass: ['halt', 'tram_stop', 'subway'] schema: - ./building.sql datasources: - type: imposm3 mapping_file: ./mapping.yaml
对于已知值(枚举),fields 部分还可包含输入(OSM)值的映射。
若图层 SQL 文件包含 %%FIELD_MAPPING: class%%,generate-sql 脚本会将其替换为:
sqlSELECT CASE %%FIELD_MAPPING: class%% END, ...
替换后:
sqlSELECT CASE WHEN "subclass" IN ('school', 'kindergarten') OR "subclass" LIKE 'uni%' THEN 'school' WHEN ("subclass" = 'station' AND "mapping_key" = 'railway') OR "subclass" in ('halt','tram_stop','subway') THEN 'railway' END, ...
定义自己的瓦片集
瓦片集定义矢量瓦片集中包含的图层(layers)以及用于生成 TM2Source 项目的元数据,以实际生成矢量瓦片。
yamltileset: layers: - layers/building/building.yaml - layers/housenumber/housenumber.yaml - layers/poi/poi.yaml name: 街道级别 description: 显示建筑物、门牌号和兴趣点等街道级别信息的瓦片集。 attribution: "OpenStreetMap 贡献者" maxzoom: 14 minzoom: 13 center: [-12.2168, 28.6135, 4] bounds: [-180.0,-85.0511,180.0,85.0511] pixel_scale: 256 defaults: srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over datasource: srid: 900913
瓦片测试
瓦片大小和 PostgreSQL 查询速度
使用 test-perf 评估针对 PostgreSQL 数据库的瓦片生成性能。此工具可测试单个图层、多个图层或整个瓦片。提供多个预定义测试区域以确保跨测试一致性。结果以直方图显示瓦片大小分布。可将当前运行结果与之前保存的结果比较,突出显示较大变化。若测试多个缩放级别,另一个直方图显示每个级别的大小分布。使用 --help 查看所有选项。
test-perf <瓦片集> ...
与下文的 postserve 类似,test-perf 需要 PostgreSQL 连接。
!test-perf 示例图
实时瓦片服务器
Postserve 是 OpenMapTiles 矢量瓦片测试服务器,可根据瓦片集文件定义直接从 PostgreSQL 数据库动态生成元数据和瓦片。
postserve <瓦片集> ...
使用 postserve <瓦片集> 启动服务。使用 --help 获取 PostgreSQL 连接参数列表。若数据库包含完整星球数据,可能需要使用 MIN_ZOOM=6 postserve ... 避免意外生成低缩放级别的慢瓦片。
Postserve Docker 快速入门
- 克隆 openmaptiles 仓库(使用 Docker 无需
openmaptiles-tools仓库) - 运行 PostgreSQL 服务器并导入 openmaptiles OSM 数据,例如按照快速入门指南操作
- 运行
docker pull openmaptiles/openmaptiles-tools下载最新工具版本 - 在 openmaptiles 仓库目录中运行以下命令。(假设 PostgreSQL 在 localhost:5432 运行,若在 Docker 中运行,可能需要将
--net=host更改为--net=openmaptiles_postgres_conn以匹配 openmaptiles 快速入门设置,并通过-p 8090:8090将 8090 端口暴露到主机)
docker run -it --rm -u $(id -u ${USER}):$(id -g ${USER}) \ -v "${PWD}:/tileset" --net=host \ openmaptiles/openmaptiles-tools \ postserve openmaptiles.yaml
查看动态瓦片
可使用任何支持 MVT 的查看器查看瓦片,例如:
- Maputnik 编辑器(在线)—— 将数据源更改为
http://localhost:8090 - QGIS 桌面版—— 添加
Vector Tiles Reader插件,添加矢量瓦片服务器连接,将 TileJSON URL 设置为http://localhost:8090
检查实时瓦片内容
使用 debug-mvt 工具检查瓦片内容。该工具查询 PostgreSQL 服务器并显示图层、每行数据和几何类型/大小。可限制输出到特定图层,可选显示所有本地化名称,将几何显示为文本。以下示例查询指定瓦片中 "place" 图层的条目:
bash$ debug-mvt openmaptiles.yaml 4/7/6 -l place ======= Layer place (默认隐藏额外名称列) ======= capital class iso_a2 name name_de name_en rank osm_id is_valid_mvt mvtgeometry is_valid_geom geometry --------- ------- -------- -------------------------- -------------------------- -------------------------- ------ ----------- -------------- ------------- --------------- ---------- country ES España Spanien Spain 1 *** True POINT(32) True POINT(32) country PT Portugal Portugal Portugal 1 23770282470 True POINT(32) True POINT(32) 4 city Casablanca Casablanca Casablanca 2 257307240 True POINT(32) True POINT(32) country MA Maroc Marokko Morocco 2 4324250410 True POINT(32) True POINT(32) 2 city Madrid Madrid Madrid 2 210682950 True POINT(32) True POINT(32) 2 city Lisboa Lissabon Lisbon 3 2659584900 True POINT(32) True POINT(32) 4 city Oran Oran Oran 4 275651030 True POINT(32) True POINT(32) 4 city Valencia Valencia Valencia 4 341056070 True POINT(32) True POINT(32) 4 city Sevilla Sevilla Seville 4 2488206560 True POINT(32) True POINT(32) 4 city Fès Fès Fez 4 2890354320 True POINT(32) True POINT(32) 2 city Rabat Rabat Rabat 4 2991208620 True POINT(32) True POINT(32) ...
工具
多流 OSM 数据下载器
download-osm 工具可用于下载区域提取文件或整个星球文件,并验证文件内容。整个星球文件从所有可用 OSM 镜像同时下载,以分散镜像负载并提高下载速度。工具确保获取最新版本,验证所有镜像包含相同版本,并用 md5 哈希验证下载。默认不从 OSM 主站下载以减轻其负载。下载器使用 aria2c。支持从 Geofabrik、BBBike、openstreemap.fr 或任意 URL 下载文件。
bash# 下载最新版本到当前目录 download-osm planet # 通过向 aria2c 传递 -d 参数下载到目标目录 download-osm planet -- -d ./downloads # 从 Geofabrik 下载新西兰提取文件及状态文件 download-osm geofabrik new-zealand --state state.txt # 列出 Geofabrik 所有可用提取文件 download-osm list geofabrik
生成通过 PostGIS 直接创建 MVT 瓦片的 SQL 代码
使用瓦片集定义创建 PostgreSQL 预备语句 或 创建函数 SQL 代码,通过单个 getTile(z,x,y) 查询使用 PostGIS MVT 支持生成 Mapbox 矢量瓦片格式的完整矢量瓦片。
使用 --help 获取所有参数。
注意: 当前 openmaptiles/postgis 镜像(v2.9 及之前版本)对 ST_AsMVT() 支持存在问题。在 PostGIS 更新前,请使用 sophox/postgis docker 镜像(基于最新 mdillon/postgis:11 基础镜像)。另一个已知问题是 PostgreSQL JIT 可能导致 PG11+ 中瓦片生成速度极慢,可能需要禁用。
generate-sqltomvt <瓦片集>
生成 Imposm3 映射文件
接收瓦片集定义并生成用于导入 OSM 数据的 imposm3 映射文件。
generate-imposm3 <瓦片集>
生成 SQL 脚本
将图层定义中引用的所有 SQL 组装成可通过 psql 执行的 SQL 脚本。若指定 --dir 选项,生成可并行执行的 .sql 文件。
generate-sql <瓦片集> generate-sql <瓦片集> --dir <输出目录>
生成 Markdown 文档
接收瓦片集定义并生成 Markdown 文档。
generate-doc <瓦片集>
生成 ETL(提取-转换-加载)图
依赖:graphviz
从 imposm3 映射文件和 SQL 后处理代码中解析 etldoc: graphviz 注释,生成 svg 文件。.dot 和 .svg 文件名前缀为 etl_
generate-etlgraph <瓦片集> <目标目录> generate-etlgraph layers/landcover/landcover.yaml ./build/devdoc generate-etlgraph layers/railway/railway.yaml ./build/etlgraph
示例:
输入命令:generate-etlgraph layers/landcover/landcover.yaml
输出文件:
layers/landcover/etl_landcover.dotlayers/landcover/etl_landcover.svg
生成给定图层和缩放级别的 SQL 查询
示例:
generate-sqlquery layers/landcover/landcover.yaml 14
导入和更新 OSM 数据
import-osm、`update-os
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
常见问题
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
轩辕镜像下载加速使用手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
登录仓库拉取
通过 Docker 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429