TasteGeo
资格验证
正在进行发布资格验证

TasteGeo

GeoServer 兼容性,
用 Rust 重构。

用 Rust 重构 GeoServer 兼容性。

通过将现有 OGC 请求和运维行为与参考服务器比较而实现的 Rust 原生地理空间服务器。

GET /ows?service=WMS&request=GetMap
Compatibility-firstRust edition 2024GPL-2.0-or-later
02

协议 + 存储

一个界面。
多项契约。

生成矩阵中的核心契约目前均处于验证中的部分支持状态。这是经过度量的兼容性界面,并非完成声明。

01

WMS

地图、要素信息和图例

部分支持
02

WFS

要素查询和事务

部分支持
03

WMTS

矩阵集与瓦片缓存

部分支持
04

WCS

覆盖子集与输出

部分支持
05

REST

目录与服务配置

部分支持
06

PostGIS

主要矢量适配器

部分支持
07

GeoPackage

便携式 SQLite 数据集

部分支持
08

Shapefile

受限矢量导入

部分支持
09

GeoTIFF

栅格与覆盖存储

部分支持
10

COG

云优化栅格目标

部分支持
03 / 兼容性界面

适用于现有
GeoServer 客户端。

我们通过保留协议和错误语义、目录及运维流程来验证兼容性。这并不是对任何产品完全兼容的声明。

WMS 请求SERVICE=WMS
REQUEST=GetMap
VERSION=1.3.0
规范化证据语义比较
参考 GeoServer WMTS fixture
WMS 使用方兼容性目标
WFS 使用方兼容性目标
WMTS 客户端兼容性目标
REST 自动化兼容性目标
PostGIS 工作流适配器验证中
现有 data_dir只读分析路径
OGC 工具语义比较目标
地图渲染客户端golden image 目标

TasteGeo 兼容性理念

保留现有客户端。替换底层运行时。

客户端保持不变,运行时切换到 Rust。

04

工作区架构

边界优先于
速度。

我们固定依赖方向并验证公开 HTTP 行为。任何存储或框架都不能主导协议语义。

01 / 基础

基础

独立于协议和存储的值、解析器、坐标系及可观测性边界。

geometrycrsfilterogc-commonconfigobservability
02 / 领域

领域

目录、安全、样式和版本化扩展契约集中在同一层。

catalogsecuritydatastore-apistyleplugin-api
03 / 适配器

适配器

隔离数据访问,使协议实现不直接依赖特定存储。

store-postgisstore-geopackagestore-shapefilestore-geotiff
04 / 服务

服务

在渲染和缓存层之上组装 OGC 服务与管理 API。

rendertile-cachewmswfswmtswcsrest-api
05 / 组装 + 验证

组装 + 验证

服务器组装边界;验证工具只比较公开 HTTP 和 fixture。

servercompat-tests
05 / 就绪状态

先有证据,
再作声明。

TasteGeo 将本地代码质量门禁与外部发布资格验证分开。核心契约在验证期间仍为部分支持。

当前状态正在进行发布资格验证
查看验证 fixture
01 / 05

兼容性

将同一请求发送到参考服务器和候选实现,规范化后比较语义。

  • 规范化 XML 命名空间和属性
  • 比较要素与几何语义
  • 栅格 golden image
  • OGC 异常一致性
06

捕获的输出

让差异
清晰可见。

我们验证了每个 fixture 的 content type 与二进制签名。参考截图绝不会作为候选实现输出展示。

参考 GeoServer 的 WMTS rain 瓦片 fixture
已验证的参考 fixtureWMTS 瓦片 fixture

参考截图 / image/png / 256 x 256

表现 TasteGeo 地理空间服务核心和地形图层的品牌图片
装饰资源服务地形

原创品牌艺术图 / 非测试证据

参考 GeoServer 的 WMTS 栅格 fixture
已验证的参考 fixture栅格输出 fixture

参考截图 / image/png / 256 x 256

参考 GeoServer 的世界地图 WMS GetMap fixture
已验证的参考 fixtureWMS 世界地图 fixture

参考截图 / image/png / 64 x 32

TASTEGEO 方法

兼容性需要
证据证明, 而非口头声明。

TasteGeo 在宣布完成之前,先积累可复现的比较结果和运维证据。