pg_eviltransform
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_eviltransform | 0.0.7 | GIS | MIT | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 1580 | pg_eviltransform | 否 | 是 | 否 | 是 | 否 | 是 | eviltransform_internal |
| 相关扩展 | postgis postgis h3 pg_geohash pg_polyline earthdistance qdgc convert pgrouting nominatim_fdw q3c |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.0.7 | 1817161514 | pg_eviltransform | postgis |
| RPM | PIGSTY | 0.0.7 | 1817161514 | pg_eviltransform_$v | postgis36_$v |
| DEB | PIGSTY | 0.0.7 | 1817161514 | postgresql-$v-eviltransform | postgresql-$v-postgis |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.0.7 el8.x86_64.pg18 : pg_eviltransform_18 pg_eviltransform_18-0.0.7-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.0.7 el8.x86_64.pg17 : pg_eviltransform_17 pg_eviltransform_17-0.0.7-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.0.7 el8.x86_64.pg16 : pg_eviltransform_16 pg_eviltransform_16-0.0.7-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.0.7 el8.x86_64.pg15 : pg_eviltransform_15 pg_eviltransform_15-0.0.7-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.0.7 el8.x86_64.pg14 : pg_eviltransform_14 pg_eviltransform_14-0.0.7-1PGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 0.0.7 el8.aarch64.pg18 : pg_eviltransform_18 pg_eviltransform_18-0.0.7-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.0.7 el8.aarch64.pg17 : pg_eviltransform_17 pg_eviltransform_17-0.0.7-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.0.7 el8.aarch64.pg16 : pg_eviltransform_16 pg_eviltransform_16-0.0.7-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.0.7 el8.aarch64.pg15 : pg_eviltransform_15 pg_eviltransform_15-0.0.7-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.0.7 el8.aarch64.pg14 : pg_eviltransform_14 pg_eviltransform_14-0.0.7-1PGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 0.0.7 el9.x86_64.pg18 : pg_eviltransform_18 pg_eviltransform_18-0.0.7-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.0.7 el9.x86_64.pg17 : pg_eviltransform_17 pg_eviltransform_17-0.0.7-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.0.7 el9.x86_64.pg16 : pg_eviltransform_16 pg_eviltransform_16-0.0.7-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.0.7 el9.x86_64.pg15 : pg_eviltransform_15 pg_eviltransform_15-0.0.7-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.0.7 el9.x86_64.pg14 : pg_eviltransform_14 pg_eviltransform_14-0.0.7-1PGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 0.0.7 el9.aarch64.pg18 : pg_eviltransform_18 pg_eviltransform_18-0.0.7-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.0.7 el9.aarch64.pg17 : pg_eviltransform_17 pg_eviltransform_17-0.0.7-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.0.7 el9.aarch64.pg16 : pg_eviltransform_16 pg_eviltransform_16-0.0.7-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.0.7 el9.aarch64.pg15 : pg_eviltransform_15 pg_eviltransform_15-0.0.7-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.0.7 el9.aarch64.pg14 : pg_eviltransform_14 pg_eviltransform_14-0.0.7-1PGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 0.0.7 el10.x86_64.pg18 : pg_eviltransform_18 pg_eviltransform_18-0.0.7-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.0.7 el10.x86_64.pg17 : pg_eviltransform_17 pg_eviltransform_17-0.0.7-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.0.7 el10.x86_64.pg16 : pg_eviltransform_16 pg_eviltransform_16-0.0.7-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.0.7 el10.x86_64.pg15 : pg_eviltransform_15 pg_eviltransform_15-0.0.7-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.0.7 el10.x86_64.pg14 : pg_eviltransform_14 pg_eviltransform_14-0.0.7-1PGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 0.0.7 el10.aarch64.pg18 : pg_eviltransform_18 pg_eviltransform_18-0.0.7-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.0.7 el10.aarch64.pg17 : pg_eviltransform_17 pg_eviltransform_17-0.0.7-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.0.7 el10.aarch64.pg16 : pg_eviltransform_16 pg_eviltransform_16-0.0.7-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.0.7 el10.aarch64.pg15 : pg_eviltransform_15 pg_eviltransform_15-0.0.7-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.0.7 el10.aarch64.pg14 : pg_eviltransform_14 pg_eviltransform_14-0.0.7-1PGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 0.0.7 d12.x86_64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.0.7 d12.x86_64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.0.7 d12.x86_64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.0.7 d12.x86_64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.0.7 d12.x86_64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 0.0.7 d12.aarch64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.0.7 d12.aarch64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.0.7 d12.aarch64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.0.7 d12.aarch64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.0.7 d12.aarch64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 0.0.7 d13.x86_64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~trixie_amd64.deb
| PIGSTY 0.0.7 d13.x86_64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~trixie_amd64.deb
| PIGSTY 0.0.7 d13.x86_64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~trixie_amd64.deb
| PIGSTY 0.0.7 d13.x86_64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~trixie_amd64.deb
| PIGSTY 0.0.7 d13.x86_64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 0.0.7 d13.aarch64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~trixie_arm64.deb
| PIGSTY 0.0.7 d13.aarch64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~trixie_arm64.deb
| PIGSTY 0.0.7 d13.aarch64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~trixie_arm64.deb
| PIGSTY 0.0.7 d13.aarch64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~trixie_arm64.deb
| PIGSTY 0.0.7 d13.aarch64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 0.0.7 u22.x86_64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~jammy_amd64.deb
| PIGSTY 0.0.7 u22.x86_64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~jammy_amd64.deb
| PIGSTY 0.0.7 u22.x86_64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~jammy_amd64.deb
| PIGSTY 0.0.7 u22.x86_64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~jammy_amd64.deb
| PIGSTY 0.0.7 u22.x86_64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 0.0.7 u22.aarch64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~jammy_arm64.deb
| PIGSTY 0.0.7 u22.aarch64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~jammy_arm64.deb
| PIGSTY 0.0.7 u22.aarch64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~jammy_arm64.deb
| PIGSTY 0.0.7 u22.aarch64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~jammy_arm64.deb
| PIGSTY 0.0.7 u22.aarch64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 0.0.7 u24.x86_64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~noble_amd64.deb
| PIGSTY 0.0.7 u24.x86_64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~noble_amd64.deb
| PIGSTY 0.0.7 u24.x86_64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~noble_amd64.deb
| PIGSTY 0.0.7 u24.x86_64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~noble_amd64.deb
| PIGSTY 0.0.7 u24.x86_64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 0.0.7 u24.aarch64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~noble_arm64.deb
| PIGSTY 0.0.7 u24.aarch64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~noble_arm64.deb
| PIGSTY 0.0.7 u24.aarch64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~noble_arm64.deb
| PIGSTY 0.0.7 u24.aarch64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~noble_arm64.deb
| PIGSTY 0.0.7 u24.aarch64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY 0.0.7 u26.x86_64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~resolute_amd64.deb
| PIGSTY 0.0.7 u26.x86_64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~resolute_amd64.deb
| PIGSTY 0.0.7 u26.x86_64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~resolute_amd64.deb
| PIGSTY 0.0.7 u26.x86_64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~resolute_amd64.deb
| PIGSTY 0.0.7 u26.x86_64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~resolute_amd64.deb
|
| u26.aarch64 | PIGSTY 0.0.7 u26.aarch64.pg18 : postgresql-18-eviltransform postgresql-18-eviltransform_0.0.7-1PGSTY~resolute_arm64.deb
| PIGSTY 0.0.7 u26.aarch64.pg17 : postgresql-17-eviltransform postgresql-17-eviltransform_0.0.7-1PGSTY~resolute_arm64.deb
| PIGSTY 0.0.7 u26.aarch64.pg16 : postgresql-16-eviltransform postgresql-16-eviltransform_0.0.7-1PGSTY~resolute_arm64.deb
| PIGSTY 0.0.7 u26.aarch64.pg15 : postgresql-15-eviltransform postgresql-15-eviltransform_0.0.7-1PGSTY~resolute_arm64.deb
| PIGSTY 0.0.7 u26.aarch64.pg14 : postgresql-14-eviltransform postgresql-14-eviltransform_0.0.7-1PGSTY~resolute_arm64.deb
|
构建
您可以使用 pig build 命令构建 pg_eviltransform 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_eviltransform 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
来源:
pg_eviltransform 扩展了 PostGIS,增加了涉及中国 GCJ-02 和 BD-09 系统的坐标转换。版本 0.0.4 还通过 ST_JenksBins 数组和聚合重载添加了精确的 Jenks 自然断点分类。
坐标转换
自定义 SRID 为:990001 对应 GCJ-02,990002 对应 BD-09。当两端均未使用自定义系统时,ST_EvilTransform 将委托给 PostGIS 的 ST_Transform;否则在必要时通过 WGS84 (4326) 转换。
0.0.7 在文本重载中新增地理坐标系 CGCS2000 的别名 CGCS2000、CGCS-2000、4490 和 EPSG:4490,由 PostGIS/PROJ 选择基准转换。使用 CGCS2000 高斯克吕格投影分带时,应传入该分带明确的整数 EPSG SRID。
Jenks 自然断点
数组输入支持 numeric, double precision, real, bigint, integer, 和 smallint。聚合输入为 numeric 或 double precision;当需要时请将其他数值列转换为这些类型。
API 索引和注意事项
ST_EvilTransform(geometry, integer|text)和ST_EvilTransform(geometry, text, integer|text):四个重载对应于 PostGIS 的ST_Transform接口。ST_JenksBins(values[], breaks [, invert]):对数组进行分类并返回double precision[]边界值。ST_JenksBins(value, breaks [, invert]):流式聚合,避免生成array_agg。- PostGIS 是运行时先决条件,在安装
pg_eviltransform之前必须已安装。 - Jenks 输入必须是有限的且
breaks至少为一。numeric值会被转换为有限的f64,因此返回的边界值为浮点数。 - 当唯一值的数量不超过
breaks时,结果将是排序后的唯一值集合;没有有效输入行将返回NULL。
0.0.7 兼容性
0.0.6 到 0.0.7 的升级 SQL 更新坐标系名称解析函数。上游使用 pgrx 0.19.3,支持 PostgreSQL 14-18 和 PostgreSQL 19 beta4。ST_JenksBins 接口不变;软件包与构建元数据同上游发行版分别维护。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)