# AstarGrid **Repository Path**: astro-byte/astar-grid ## Basic Information - **Project Name**: AstarGrid - **Description**: Astargrid 是星载 PolarDB + Ganos 时空数据库 的工程仓库,负责在 NVIDIA Orin(aarch64) 星上计算环境中,把 PolarDB 14 和 Ganos 7.9 打包成可部署的 Docker 镜像,并提供几何、栅格等时空能力的验证文档与示例。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-09 - **Last Updated**: 2026-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Astargrid 星测仿真平台上的 **PolarDB 14 + Ganos 7.9** 时空数据库验证与部署仓库。 面向 NVIDIA Orin ARM(aarch64)环境,提供镜像构建、容器部署脚本及 Ganos 能力验证文档。 ## 环境要求 | 项目 | 说明 | |------|------| | 宿主机 | Ubuntu 22.04 aarch64 | | 容器运行时 | Docker | | 基础镜像 | CentOS 7 | | 数据库 | PolarDB 14.20 + Ganos 7.9 | | PolarDB RPM | 需自行准备(**不入库**,约 400MB) | ## 目录结构 ``` astar-grid/ ├── README.md ├── .gitignore ├── build-polardb-image.sh # 从 RPM 构建 Docker 镜像并导出 tar ├── deploy-polardb.sh # 加载镜像、启动容器、管理数据库(空目录自动 initdb) ├── polardb-docker/ # Dockerfile 与初始化脚本 ├── docs/ # Ganos 验证文档 ├── scripts/ # 运维 SQL 片段 ├── sql/ # 示例 SQL └── assets/ # 流程图与预览图 ``` ## 快速开始 ### 1. 准备 PolarDB RPM 将 PolarDB aarch64 RPM 放到宿主机,例如: ```bash /nvme/data-test/PolarDB-2.0.14.41.0-20260421202048.alios7.aarch64.rpm ``` 可通过环境变量 `POLARDB_RPM` 指定路径。 ### 2. 构建镜像 ```bash cd /nvme/star/astar-grid ./build-polardb-image.sh ``` 可选参数: - `--no-pull`:跳过拉取 `centos:7` - `--no-save`:只构建镜像,不导出 tar 默认输出: - 镜像名:`centos7-polardb14:v1` - tar 包:`/nvme/data-test/polardb-centos7-v1.tar` ### 3. 部署运行 ```bash ./deploy-polardb.sh # 完整部署(load 镜像 + 启动容器) ./deploy-polardb.sh start # 启动已有环境 ./deploy-polardb.sh stop # 停止容器 ./deploy-polardb.sh status # 查看状态 ./deploy-polardb.sh psql # 进入 psql ./deploy-polardb.sh shell # 进入容器 shell ``` 默认配置(可通过环境变量覆盖): | 变量 | 默认值 | |------|--------| | `IMAGE_NAME` | `centos7-polardb14:v1` | | `CONTAINER_NAME` | `polardb-sat` | | `IMAGE_TAR` | `/nvme/data-test/polardb-centos7-v1.tar` | | `DATA_DIR` | `/nvme/data-test/mnt` | 数据目录挂载:宿主机 `DATA_DIR` → 容器 `/home/polardb/data`。 空挂载卷会自动 `initdb`,并配置本机 TCP(`POLARDB_LISTEN_ADDRESSES`,默认 `*`)。详见 [docs/Ganos联调踩坑与运维说明.md](docs/Ganos联调踩坑与运维说明.md)。 ### 4. 验证 Ganos 进入数据库后创建扩展: ```sql CREATE EXTENSION IF NOT EXISTS ganos_spatialref; CREATE EXTENSION IF NOT EXISTS ganos_geometry; CREATE EXTENSION IF NOT EXISTS ganos_raster; SELECT ganos_geometry_version(); ``` ## 文档 | 文档 | 说明 | |------|------| | [docs/Ganos时空能力验证测试.md](docs/Ganos时空能力验证测试.md) | 主验证文档,含环境准备与全场景 SQL | | [docs/Ganos几何模型验证结果.md](docs/Ganos几何模型验证结果.md) | 几何模块验证结果 | | [docs/Ganos栅格模型验证结果.md](docs/Ganos栅格模型验证结果.md) | 栅格模块验证结果 | | [docs/Sentinel2入库与点位匹配实例.md](docs/Sentinel2入库与点位匹配实例.md) | Sentinel-2 入库与点位裁剪实例 | | [docs/Ganos联调踩坑与运维说明.md](docs/Ganos联调踩坑与运维说明.md) | 空库 initdb、chunk/`ST_Value`/删行/裁剪导出联调坑 | ## 示例 SQL 栅格入库与查询示例见 [sql/insert_raster_demo.sql](sql/insert_raster_demo.sql)。 ## 注意事项 1. **RPM 与镜像 tar 不入库**:体积大且涉及商业授权,请本地保管。 2. **数据持久化**:数据库数据写在挂载卷 `DATA_DIR`,重建容器不会丢失数据;**空目录首次部署会 initdb**。 3. **本地文件访问**:导入本地 TIFF 等文件需开启 `SET ganos.filesys.allow_local_access = on`。 4. **栅格表异常**:若出现 `gtpt_* does not exist`,优先见 [联调踩坑文档](docs/Ganos联调踩坑与运维说明.md);通常需 `DROP TABLE ... CASCADE` 后重建并重新入库。 5. **与 Node Agent**:业务 catalog / E2E 在 `astar-sat-apps`;本仓只维护库侧部署与 Ganos 用法。 ## 许可证 PolarDB / Ganos 为阿里云商业产品,使用须遵守相应授权协议。本仓库脚本与文档仅供内部验证使用。