pg_eviltransform
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_eviltransform | 0.0.7 | GIS | MIT | Rust |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 1580 | pg_eviltransform | No | Yes | No | Yes | No | Yes | eviltransform_internal |
| Related | postgis postgis h3 pg_geohash pg_polyline earthdistance qdgc convert pgrouting nominatim_fdw q3c |
|---|
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| 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
|
Build
You can build the RPM / DEB packages for pg_eviltransform using pig build:
Install
You can install pg_eviltransform directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
Sources:
pg_eviltransform extends PostGIS with coordinate transformations involving China’s GCJ-02 and BD-09 systems. Version 0.0.4 also adds exact Jenks natural-break classification through ST_JenksBins array and aggregate overloads.
Coordinate Transformation
Custom SRIDs are 990001 for GCJ-02 and 990002 for BD-09. When neither endpoint uses a custom system, ST_EvilTransform delegates to PostGIS ST_Transform; otherwise it converts through WGS84 (4326) when necessary.
Version 0.0.7 adds the geographic CGCS2000 aliases CGCS2000, CGCS-2000, 4490, and EPSG:4490 to text overloads. PostGIS/PROJ chooses the datum transformation. For a projected CGCS2000 Gauss-Kruger zone, use its explicit integer EPSG SRID.
Jenks Natural Breaks
Array inputs support numeric, double precision, real, bigint, integer, and smallint. Aggregate inputs are numeric or double precision; cast other numeric columns when needed.
API Index and Caveats
ST_EvilTransform(geometry, integer|text)andST_EvilTransform(geometry, text, integer|text): four overloads corresponding to the PostGISST_Transforminterface.ST_JenksBins(values[], breaks [, invert]): classifies an array and returnsdouble precision[]edges.ST_JenksBins(value, breaks [, invert]): streaming aggregate that avoids materializingarray_agg.- PostGIS is a runtime prerequisite and must be installed before
pg_eviltransform. - Jenks inputs must be finite and
breaksmust be at least one.numericvalues are converted to finitef64, so returned edges are floating-point values. - When the distinct value count does not exceed
breaks, the result is the sorted set of unique values; no valid input rows returnNULL.
0.0.7 Compatibility
The 0.0.6-to-0.0.7 upgrade SQL updates the coordinate-name resolution functions. Upstream supports PostgreSQL 14-18 and PostgreSQL 19 beta4 with pgrx 0.19.3. The ST_JenksBins interface remains unchanged; package/build metadata is maintained separately from the upstream release.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)