轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
openmaptiles/openmaptiles-tools
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

openmaptiles-tools Docker 镜像下载 - 轩辕镜像

openmaptiles-tools 镜像详细信息和使用指南

openmaptiles-tools 镜像标签列表和版本信息

openmaptiles-tools 镜像拉取命令和加速下载

openmaptiles-tools 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

openmaptiles-tools
openmaptiles/openmaptiles-tools
自动构建

openmaptiles-tools 镜像详细信息

openmaptiles-tools 镜像标签列表

openmaptiles-tools 镜像使用说明

openmaptiles-tools 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

OpenMapTiles Tools 是用于从 OpenMapTiles 图层生成 TM2Source 项目、imposm3 映射和 SQL 指令的工具箱,适用于矢量瓦片项目,支持 Docker 和本地 Python 环境运行,可定义图层与瓦片集并提供数据下载、性能测试等功能。
8 收藏0 次下载activeopenmaptiles镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

openmaptiles-tools 镜像详细说明

openmaptiles-tools 使用指南

openmaptiles-tools 配置说明

openmaptiles-tools 官方文档

OpenMapTiles Tools ![Build Status]([] ![Docker Automated build]([] ![]([***]

OpenMapTiles 工具箱用于从 OpenMapTiles 图层生成 TM2Source 项目、imposm3 映射和 SQL 指令。我们鼓励其他人也将其用于矢量瓦片项目,因为这种方法对我们非常有效。

查看 OpenMapTiles 项目 可获取真实世界示例。

使用方法

系统需安装 Docker 或 Python 3,测试还需 Docker-compose。若不使用 Docker,需安装下文列出的额外工具和库。

使用 Docker

最简单的方式是直接使用 Docker 运行命令。无需本地克隆 openmaptiles-tools,只需克隆 openmaptiles 仓库 并从其根目录运行。

注意: 容器脚本只能访问指定目录及其子目录中的文件,例如示例中的 ${PWD}(当前目录)。

docker 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

# 部分工具需要这些包。在 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+)

# 获取 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 数据。

layer:
  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 脚本会将其替换为:

SELECT CASE
    %%FIELD_MAPPING: class%%
END, ...

替换后:

SELECT 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 项目的元数据,以实际生成矢量瓦片。

tileset:
  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" 图层的条目:

$ 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   1483323000  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 下载文件。

# 下载最新版本到当前目录
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.dot
  • layers/landcover/etl_landcover.svg

生成给定图层和缩放级别的 SQL 查询

示例:

generate-sqlquery layers/landcover/landcover.yaml  14

导入和更新 OSM 数据

import-osm、`update-os

查看更多 openmaptiles-tools 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.