用途:读取并分析 Portolan 目录中的云原生地理空间数据。Portolan 是基于 STAC 的目录,数据以静态文件形式存放在对象存储中,包含矢量 GeoParquet、栅格 COG、点云 COPC,无需 API 服务器,可直接查询,并用 PMTiles 可视化。规范以 Portolan Spec 为准,建议直接阅读 core.md、structure.md、versions.md 及 formats/ 下文档。
主要工具:DuckDB(主分析引擎,需 1.2+,推荐 1.3+,支持 SQL、空间运算、Parquet 与 HTTP range 请求),安装见 brew install duckdb 或 pip install duckdb;gpio(geoparquet-io,用于检查、校验、转换、抽取 GeoParquet);GDAL/OGR(格式转换、重投影)。
使用方式:先读取 catalog.json 发现集合,再读 collection.json 获取 extent、assets、portolan:styles 等字段,并留意 llms.txt。用 DuckDB 读取本地或远程 Parquet,需 INSTALL spatial; LOAD spatial; 与 INSTALL httpfs; LOAD httpfs;,可做统计、属性与 bbox 过滤、空间连接、跨数据集连接;大分区数据可用 glob 读取。用 gpio inspect、gpio check all、gpio extract 做检查与抽取。用 ogr2ogr 转换到 Shapefile、GeoPackage、GeoJSON,用 gdal_translate/gdalwarp 处理栅格,远程数据用 /vsicurl/、/vsis3/ 等前缀。
可视化:交互地图应直接使用集合自带的 PMTiles,避免导出 GeoJSON 或内联数据;使用 MapLibre GL JS 加 PMTiles 协议,并优先复用 styles/ 目录中的样式 JSON,注意把样式中的相对 pmtiles:// 路径解析为绝对 URL。
限制:规范细节以官方 spec 为准;S3 等访问可能需配置凭证;超大数据的空间连接可能较慢,可先过滤或用 bbox 列做谓词下推。其余安装版本与平台细节资料未完全展开。