轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
geopackage-validator

pdok/geopackage-validator

pdok

GeoPackage验证器可验证.gpkg文件是否符合一系列标准规范。

1 次收藏下载次数: 0状态:社区镜像维护者:pdok仓库类型:镜像最近更新:9 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。
点击查看

geopackage-validator

目录

  • geopackage-validator
    • 目录
    • 功能介绍
    • 支持的GeoPackage版本
    • 安装
      • Docker
    • 使用方法
      • RQ8验证
      • 显示验证规则
      • 生成表定义
    • 本地开发
      • 使用方法
      • Python控制台
      • 代码风格
      • 测试
      • 发布

快速命令示例

使用默认验证规则集验证GeoPackage:

sh
gpkg_path=相对路径/至/文件.gpkg
docker run -v "$(pwd)":/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator validate --gpkg-path "/gpkg/${gpkg_path}"

使用默认验证规则集及模式文件验证GeoPackage:

sh
schema_path=相对路径/至/模式.json
gpkg_path=相对路径/至/文件.gpkg
docker run -v "$(pwd)":/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator validate --gpkg-path "/gpkg/${gpkg_path}" --table-definitions-path "/gpkg/${schema_path}"

生成模式文件:

sh
schema_path=相对路径/至/模式.json
gpkg_path=相对路径/至/文件.gpkg
docker run -v "$(pwd)":/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator generate-definitions --gpkg-path "/gpkg/${gpkg_path}" > "$schema_path"

功能介绍

GeoPackage验证器可验证.gpkg文件是否符合一系列标准规范。当前支持的检查项如下(另见“show-validations”命令):

验证代码**描述
UNKNOWN_ERROR不得出现意外的(GDAL)错误。
RQ0遗留项: * GeoPackage必须符合给定JSON或YAML定义中的表名。
RQ1图层名称必须以字母开头,允许的字符为小写a-z、数字或下划线。
RQ2图层必须至少包含一个要素。
RQ3遗留项: * 图层要素应具有允许的几何类型(POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING或MULTIPOLYGON之一)。
RQ4GeoPackage不应定义视图。
RQ5几何应有效。
RQ6列名必须以字母开头,允许的字符为小写a-z、数字或下划线。
RQ7表应具有带唯一索引的要素ID列。
RQ8GeoPackage必须符合给定的JSON或YAML定义。
RQ9所有几何表必须具有rtree索引。
RQ10所有几何表的rtree索引必须有效。
RQ11OGR索引要素计数必须是最新的。
RQ12仅允许以下EPSG空间参考系统:28992、3034、3035、3038、3039、3040、3041、3042、3043、3044、3045、3046、3047、3048、3049、3050、3051、4258、4936、4937、5730、7409。
RQ13所有GEOMETRY要素必须使用相同的默认空间参考系统。
RQ14gpkg_geometry_columns表中的geometry_type_name必须为POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING或MULTIPOLYGON之一。
RQ15所有表几何必须与gpkg_geometry_columns表中的geometry_type_name匹配。
RQ16所有图层和列名长度不得超过53个字符。
RC17建议所有GEOMETRY类型列命名为“geom”。
RC18建议所有GEOMETRY类型列使用相同的名称。
RC19建议仅在必要时使用多维几何坐标(高程和测量值)。
RC20建议所有(MULTI)POLYGON几何的外环采用逆时针方向,所有内环采用顺时针方向。
UNKNOWN_WARNINGS建议关注意外的(GDAL)警告。

* 遗留要求仅在验证命令中明确请求验证集时执行。
** 从0.8.0版本开始,建议项与要求项纳入同一序列。此后,检查项将始终保留其代码的整数部分,即使后续验证类型在要求和建议之间转换。

各规则的荷兰语详细解释及原因可参考此处。

支持的GeoPackage版本

GeoPackage验证器支持以下GeoPackage版本:

  • 1.3.1
  • 1.3
  • 1.2.1

安装

本工具需要:

  • GDAL 版本 >= 3.2.1
  • Spatialite 版本 >= 5.0.0
  • Python >= 3.8

推荐使用Docker镜像。若满足上述依赖,也可通过pip安装(pip install pdok-geopackage-validator)。

Docker

拉取最新版本的Docker镜像(首次使用或更新时需要):

bash
docker pull docker.xuanyuan.run/pdok/geopackage-validator:latest

或从源码构建Docker镜像:

bash
docker build -t pdok/geopackage-validator .

可直接在容器中运行命令,子命令可直接调用:

bash
docker run -v ${PWD}:/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator validate -t /path/to/generated_definitions.json --gpkg-path /gpkg/tests/data/test_allcorrect.gpkg

使用方法

RQ8验证

要执行RQ8验证,需先生成定义文件:

bash
docker run -v ${PWD}:/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator generate-definitions --gpkg-path /path/to/file.gpkg

验证

bash
Usage: geopackage-validator validate [OPTIONS]

  GeoPackage验证器,用于验证本地文件或S3存储中的文件。当文件路径以'/vsis3'或'/vsicurl'开头时,将使用GDAL虚拟文件系统访问S3上的文件,无需直接下载。详见https://gdal.org/user/virtual_file_systems.html了解GDAL虚拟文件系统的使用方法。为方便使用,GDAL VSI环境参数和可选参数以S3_为前缀(AWS_前缀的环境参数同样适用)。

  示例:

  vsicurl:

  geopackage-validator validate --gpkg-path /vsicurl/http://minio-url.nl/bucketname/key/to/public.gpkg

  vsis3:

  geopackage-validator validate --gpkg-path /vsis3/bucketname/key/to/public.gpkg --s3-signing-region eu-central-1 --s3-secret-key secret --s3-access-key acces-key --s3-secure=false --s3-virtual-hosting false --s3-endpoint-no-protocol minio-url.nl

  环境变量方式:

  S3_SECRET_KEY=secret S3_ACCESS_KEY=acces-key S3_SIGNING_REGION=eu-central-1 S3_SECURE=false S3_VIRTUAL_HOSTING=false S3_ENDPOINT_NO_PROTOCOL=minio-url.nl geopackage-validator validate --gpkg-path /vsis3/bucketname/key/to/public.gpkg

  AWS环境变量方式:

  AWS_SECRET_ACCESS_KEY=secret AWS_ACCESS_KEY_ID=acces-key AWS_DEFAULT_REGION=eu-central-1 AWS_HTTPS=NO AWS_VIRTUAL_HOSTING=FALSE AWS_S3_ENDPOINT=minio-url.nl geopackage-validator validate --gpkg-path /vsis3/bucketname/key/to/public.gpkg

Options:
  --gpkg-path FILE                指向geopackage.gpkg文件的路径 [环境变量: GPKG_PATH]
  -t, --table-definitions-path FILE  指向表定义JSON或YAML文件的路径(通过generate-definitions命令生成)
  --validations-path FILE         要运行的验证集路径。若未指定validations-path和validations,将运行所有验证 [环境变量: VALIDATIONS_FILE]
  --validations TEXT              逗号分隔的验证规则列表(例如--validations RQ1,RQ2,RQ3)。若未指定validations-path和validations,将运行所有验证 [环境变量: VALIDATIONS]
  --exit-on-fail                  验证失败时以代码1退出
  --yaml                          输出YAML格式
  --s3-endpoint-no-protocol TEXT  S3服务的端点(不含协议)[环境变量: S3_ENDPOINT_NO_PROTOCOL]
  --s3-access-key TEXT            S3服务的访问密钥 [环境变量: S3_ACCESS_KEY]
  --s3-secret-key TEXT            S3服务的密钥 [环境变量: S3_SECRET_KEY]
  --s3-bucket TEXT                S3存储桶名称 [环境变量: S3_BUCKET]
  --s3-key TEXT                   S3存储桶中的文件键 [环境变量: S3_KEY]
  --s3-secure BOOLEAN             是否使用TLS安全连接S3 [环境变量: S3_SECURE]
  --s3-virtual-hosting TEXT       TRUE:通过虚拟主机名标识存储桶(如mybucket.cname.domain.com);FALSE:将存储桶作为URI顶层目录(如cname.domain.com/mybucket)。便捷参数,等同于GDAL的AWS_VIRTUAL_HOSTING [环境变量: S3_VIRTUAL_HOSTING]
  --s3-signing-region TEXT        S3签名区域。便捷参数,等同于GDAL的AWS_DEFAULT_REGION [环境变量: S3_SIGNING_REGION]
  --s3-no-sign-request TEXT       设置后禁用请求签名,适用于公共访问权限的存储桶。便捷参数,等同于GDAL的AWS_NO_SIGN_REQUEST [环境变量: S3_NO_SIGN_REQUEST]
  -v, --verbosity LVL             日志级别:CRITICAL、ERROR、WARNING、INFO或DEBUG
  --help                          显示帮助信息并退出

示例:

bash
docker run -v ${PWD}:/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator validate -t /path/to/generated_definitions.json --gpkg-path /gpkg/tests/data/test_allcorrect.gpkg

仅运行特定验证规则:

通过文件指定:

bash
docker run -v ${PWD}:/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator validate --gpkg-path tests/data/test_allcorrect.gpkg --validations-path tests/validationsets/example-validation-set.json

或通过命令行指定:

bash
docker run -v ${PWD}:/gpkg --rm docker.xuanyuan.run/pdok/geopackage-validator validate --gpkg-path tests/data/test_allcorrect.gpkg --validations RQ1,RQ2,RQ3

显示验证规则

显示验证命令中可执行的所有可能验证规则:

bash
Usage: geopackage-validator show-validations [OPTIONS]

  显示验证命令中可执行的所有可能验证规则。

Options:
  -v, --verbosity LVL  日志级别:CRITICAL、ERROR、WARNING、INFO或DEBUG
  --help               显示帮助信息并退出

生成表定义

bash
Usage: geopackage-validator generate-definitions [OPTIONS]

  为本地或S3存储中的GeoPackage生成表定义。生成的JSON或YAML定义文件可在验证步骤中通过--table-definitions-path参数使用。当文件路径以'/vsi'开头时,将使用GDAL虚拟文件系统访问S3上的文件,无需直接下载。详见https://gdal.org/user/virtual_file_systems.html。为方便使用,GDAL VSI环境参数和可选参数以S3_为前缀(AWS_前缀的环境参数同样适用)。

  示例:

  vsicurl:

  geopackage-validator validate --gpkg-path /vsicurl/http://minio-url.nl/bucketname/key/to/public.gpkg

  vsis3:

  geopackage-validator generate-definitions --gpkg-path /vsis3/bucketname/key/to/public.gpkg --s3-signing-region eu-central-1 --s3-secret-key secret --s3-access-key acces-key --s3-secure=false --s3-virtual-hosting false --s3-endpoint-no-protocol minio-url.nl

  环境变量方式:

  S3_SECRET_KEY=secret S3_ACCESS_KEY=acces-key S3_SIGNING_REGION=eu-central-1 S3_SECURE=false S3_VIRTUAL_HOSTING=false S3_ENDPOINT_NO_PROTOCOL=minio-url.nl geopackage-validator generate-definitions --gpkg-path /vsis3/bucketname/key/to/public.gpkg

Options:
  --gpkg-path FILE                指向geopackage.gpkg文件的路径 [环境变量: GPKG_PATH]
  --yaml                          输出YAML格式
  --s3-endpoint-no-protocol TEXT  S3服务的端点(不含协议)[环境变量: S3_ENDPOINT_NO_PROTOCOL]
  --s3-access-key TEXT            S3服务的访问密钥 [环境变量: S3_ACCESS_KEY]
  --s3-secret-key TEXT            S3服务的密钥 [环境变量: S3_SECRET_KEY]
  --s3-bucket TEXT                S3存储桶名称 [环境变量: S3_BUCKET]
  --s3-key TEXT                   S3存储桶中的文件键 [环境变量: S3_KEY]
  --s3-secure BOOLEAN             是否使用TLS安全连接S3 [环境变量: S3_SECURE]
  --s3-virtual-hosting TEXT       TRUE:通过虚拟主机名标识存储桶(如mybucket.cname.domain.com);FALSE:将存储桶作为URI顶层目录(如cname.domain.com/mybucket)。便捷参数,等同于GDAL的AWS_VIRTUAL_HOSTING [环境变量: S3_VIRTUAL_HOSTING]
  --s3-signing-region TEXT        S3签名区域。便捷参数,等同于GDAL的AWS_DEFAULT_REGION [环境变量: S3_SIGNING_REGION]
  --s3-no-sign-request TEXT       设置后禁用请求签名,适用于公共访问权限的存储桶。便捷参数,等同于GDAL的AWS_NO_SIGN_REQUEST [环境变量: S3_NO_SIGN_REQUEST]
  -v, --verbosity LVL             日志级别:CRITICAL、ERROR、WARNING、INFO或DEBUG
  --help                          显示帮助信息并退出

本地开发

建议使用docker-compose进行本地开发,可实时代码编辑和测试,并确保使用正确的GDAL/OGR版本及Spatialite 5.0.0。首先使用本机的用户ID和组ID构建本地镜像:

bash
docker-compose build --build-arg USER_ID=`id -u` --build-arg GROUP_ID=`id -g`

使用方法

可通过以下命令运行脚本:

bash
docker-compose run --rm validator geopackage-validator

该命令可直接访问当前目录下的文件。如需访问其他文件,可在docker-compose.yaml中添加或编辑卷配置。

Python控制台

Docker中已安装IPython:

bash
docker-compose run --rm validator ipython

代码风格

为保持Python文件格式统一,可定期运行:

bash
docker-compose run --rm validator black .

测试

定期运行测试,同时检查pyflakes和black格式:

bash
docker-compose run --rm validator pytest

发布

在GitHub中发布时,需更新geopackage_validator.constants.py中的__version__,创建并推送新标签至master分支,然后在GitHub中创建新发布。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 geopackage-validator 镜像标签

docker pull docker.xuanyuan.run/pdok/geopackage-validator:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull pdok/geopackage-validator:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
pdok/geopackage-validator
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 geopackage-validator 镜像推荐

grafana/doc-validator logo

grafana/doc-validator

Grafana 可观测性平台
暂无描述
5万+ 次下载
1 年前更新
grafana/plugin-validator-cli logo

grafana/plugin-validator-cli

Grafana 可观测性平台
暂无描述
5万+ 次下载
7 天前更新
hyperledger/sawtooth-validator logo

hyperledger/sawtooth-validator

hyperledger
包含Sawtooth Lake Validator和CLI工具的镜像,是运行Sawtooth分布式账本的核心组件,负责事务处理、节点间通信及共识达成。
11 次收藏50万+ 次下载
3 年前更新
lfenergy/compas-scl-validator logo

lfenergy/compas-scl-validator

lfenergy
基于Riseclipse提供的OCL规则验证IEC61850 SCL文件
1万+ 次下载
3 年前更新
aptrust/ingest_validator logo

aptrust/ingest_validator

aptrust
暂无描述
1万+ 次下载
29 天前更新
hyperledger/sawtooth-tp_validator_registry logo

hyperledger/sawtooth-tp_validator_registry

hyperledger
PoET验证器注册表交易处理器,用于Sawtooth PoET共识机制,处理PoET验证器注册表交易族的交易,是运行PoET共识所必需的组件。
10万+ 次下载
7 年前更新

查看更多 geopackage-validator 相关镜像