摘要: CARTO 在 2026 年 9 月 2 日的文章中介绍 Portolan 与 CARTO SDI,把 AI-ready SDI 描述为数据、元数据、文档和访问方式共同设计的架构。对 GIS 团队而言,最可操作的变化是为同一资产同时验收机器目录、人工说明和 agent 指引,而不是只验收一个可搜索的门户。

关键词:Portolan、SDI、STAC、GeoParquet、COG、PMTiles、AGENTS.md、空间数据

可核查事实

  1. CARTO 文章发布日期为 2026 年 9 月 2 日。

  2. 文中列举 GeoParquet、COG、PMTiles 和 Apache Iceberg 作为云原生空间数据格式或表层。

  3. Portolan 是将数据发布在发布者控制的存储中的开放规范和工具包,并以 STAC 作为发布 profile。

  4. Portolan 不要求 server、database 或 custom API 位于请求路径。

  5. 规范覆盖空间排序、bounding-box metadata 和 CORS 等生产发布约定。

  6. 每个 collection 有三类入口:软件读取 collection.json,人读取 README.md,AI agent 读取 AGENTS.md。

  7. 文中列出 validator、CLI 和公开 registry,用于检查、构建与发现独立托管 catalog。

  8. CARTO SDI 被描述为 Portolan 的商业实现,包含 branded catalog、AI interface 和 control plane。

  9. 文中说明 Portolan catalog 可被 QGIS、DuckDB、BigQuery、Snowflake 及 STAC client 等使用。

核心机制:把发布物从一个门户拆成可读资产

传统空间门户经常把发布理解为“一个搜索框加下载链接”。Portolan 的思路不同:数据以发布者控制的 object storage 中的文件存在,目录用 STAC 说明和链接这些资产;查询者按需读取字节,并在自己的计算环境运行查询。文章强调,发布者的负担由持续运行服务转向存储和 egress,而计算由发起查询的一方承担。

这不是单纯把数据库导出成文件。GeoParquet、COG、PMTiles 分别覆盖矢量、栅格和瓦片访问,Apache Iceberg 适合治理中的演化表。Portolan 还要求实际发布会影响效率与可靠性的约定,例如空间排序、包围盒元数据与 CORS。若少了这些,文件即使存在,也未必能被浏览器、桌面 GIS 或程序高效且稳定地使用。

GIS 场景:发布一套防洪分析图层时该交付什么

假设市级 GIS 团队发布洪涝风险面、雨量栅格和避难设施点。把风险面写为 GeoParquet、栅格写为 COG、可视化瓦片写为 PMTiles,只完成了数据层。collection.json 还要能给 QGIS、DuckDB 或 STAC client 识别时空范围、资产链接和更新关系;README.md 应让业务人员知道数据责任单位、许可、时间口径和适用边界;AGENTS.md 则需提供可复现的查询示例、禁止推断的字段与访问 caveat。

三份入口指向同一批资产,不能各自维护一套事实。比如 README 写“每日更新”,但 collection 的 temporal extent 仍停在上月,agent 应返回不一致而不是把旧范围包装成实时风险。把这种一致性做成上线门槛,才能避免 AI 接口绕过 GIS 数据治理。

技术路径:用三份入口建立可复现的发布合同

  1. 先为每个 collection 选择可直接访问的标准资产:矢量、栅格、瓦片或演化表,并确定 storage 位置与版本策略。

  2. 生成并验证 collection.json:至少检查空间范围、时间范围、asset href、media type、许可和更新信息是否能被 STAC client 读取。

  3. 写 README.md:说明责任主体、业务语义、坐标参考、质量口径、许可与人工使用限制。

  4. 写 AGENTS.md:提供已测试的查询路径、可引用字段、成本或速率限制、禁止自动化的动作和不确定性边界。

  5. 用 validator 检查 catalog 结构;用 CLI 构建后,再由 QGIS、DuckDB 和一个 STAC client 分别打开同一资产。

  6. 对浏览器读取测试 CORS、范围请求、跨域错误与大文件的局部访问;任何一项失败都不能用“门户能预览”替代。

  7. 将通过验证的 catalog 登记到 registry,并保存本次校验的输入、版本和时间。

检查清单

  • 每个 asset 都有可用、受版本控制的 storage 引用。

  • STAC collection 的空间、时间、许可和 asset 链接与文件实际内容一致。

  • README 与 AGENTS.md 没有复制出相互冲突的更新时间、许可或字段说明。

  • QGIS、DuckDB 与至少一个 STAC client 能读取同一份已发布资产。

  • CORS 和范围请求已在浏览器环境检查,尤其是 COG 与大 GeoParquet 文件。

  • Agent 指引包含可复现查询和明确的访问、成本、许可边界。

  • validator 输出和 catalog 版本保留在发布记录中。

风险边界:开放格式不会自动给出治理

Portolan 不是新的数据格式,也不替发布者判断数据是否准确、是否允许特定用途。文章所述的 portability 依赖于标准资产、metadata 和文档共同保持一致;把不完整的元数据放进开放 object storage,只会让错误更容易被多个工具复制。可写 Iceberg、访问控制、使用 telemetry 和变现等能力在文中属于 CARTO SDI 的 control plane 描述,团队应按自身治理与采购条件验收,不能把商业能力误写成 Portolan 的强制要求。

AI agent 同样只能在已给出的资产、元数据和指引范围内工作。AGENTS.md 的作用是让它知道如何查询与何处停止,而不是授权它跳过许可、质量复核或敏感空间数据审批。

结语

Portolan 所强调的 AI-ready SDI,是让同一空间资产同时被软件、人员和 agent 正确理解。把 collection.json、README.md 和 AGENTS.md 作为一组发布验收物,再用标准客户端回读,GIS 团队才能把“AI 可访问”落在可追溯的数据架构上。

参考资料