pg_sphere
球面对象函数、运算符与索引支持
仓库
postgrespro/pgsphere
https://github.com/postgrespro/pgsphere
源码
pgsphere-1.5.2.tar.gz
pgsphere-1.5.2.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pgsphere | 1.5.2 | TYPE | BSD-3-Clause | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 3650 | pg_sphere | 否 | 是 | 否 | 是 | 否 | 是 | - |
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | MIXED | 1.5.2 | 1817161514 | pgsphere | - |
| RPM | PIGSTY | 1.5.2 | 1817161514 | pgsphere_$v | - |
| DEB | PGDG | 1.5.2 | 1817161514 | postgresql-$v-pgsphere | - |
构建
您可以使用 pig build 命令构建 pgsphere 扩展的 RPM 包:
BASH
安装
您可以直接安装 pgsphere 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
pg_sphere 扩展提供球面几何类型和运算,适用于天文学、地理空间以及其他涉及球面坐标的应用。
SQL
数据类型
- 球面点(
spoint):球面上的位置(经度、纬度,单位弧度) - 球面圆(
scircle):由圆心和半径定义的圆形区域 - 球面线(
sline):大圆弧段 - 球面椭圆(
sellipse):球面上的椭圆区域 - 球面多边形(
spoly):球面上的多顶点形状 - 球面路径(
spath):连续点的序列 - 球面框(
sbox):球面上的边界框
核心运算
- 成员测试(点在多边形内、点在圆内等)
- 球面对象之间的重叠检测
- 周长和面积计算
- 使用欧拉角进行坐标变换的对象旋转
- 球面对象之间的距离计算
索引支持
- GiST 索引:用于高效空间查询的 R 树实现
- BRIN 索引:用于大型数据集的块范围索引
输入/输出
该扩展处理天文学和地理空间应用中常用的各种坐标格式的输入输出,包括度、弧度以及 HMS/DMS 记法。
SQL