pg_polyline

pg_polyline

pg_polyline : Fast Google Encoded Polyline encoding & decoding for postgres

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
1570
pg_polyline
pg_polyline
0.0.1
GIS
MIT
Rust
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
See Also
postgis
pgrouting
pg_geohash
postgis_topology
postgis_raster
postgis_sfcgal
postgis_tiger_geocoder
address_standardizer

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
0.0.1
18
17
16
15
14
pg_polyline-
RPM
PIGSTY
0.0.1
18
17
16
15
14
pg_polyline_$v-
DEB
PIGSTY
0.0.1
18
17
16
15
14
postgresql-$v-pg-polyline-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
el8.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
el9.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
el9.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
el10.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
el10.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
d12.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
d12.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
d13.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
d13.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
u22.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
u22.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
u24.x86_64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
u24.aarch64
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PIGSTY 0.0.1
PackageVersionOSORGSIZEFile URL
pg_polyline_180.0.1el8.x86_64pigsty312.0 KiBpg_polyline_18-0.0.1-2PIGSTY.el8.x86_64.rpm
pg_polyline_180.0.1el8.aarch64pigsty205.2 KiBpg_polyline_18-0.0.1-2PIGSTY.el8.aarch64.rpm
pg_polyline_180.0.1el9.x86_64pigsty326.6 KiBpg_polyline_18-0.0.1-2PIGSTY.el9.x86_64.rpm
pg_polyline_180.0.1el9.aarch64pigsty218.7 KiBpg_polyline_18-0.0.1-2PIGSTY.el9.aarch64.rpm
pg_polyline_180.0.1el10.x86_64pigsty326.2 KiBpg_polyline_18-0.0.1-2PIGSTY.el10.x86_64.rpm
pg_polyline_180.0.1el10.aarch64pigsty218.7 KiBpg_polyline_18-0.0.1-2PIGSTY.el10.aarch64.rpm
postgresql-18-pg-polyline0.0.1d12.x86_64pigsty256.6 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~bookworm_amd64.deb
postgresql-18-pg-polyline0.0.1d12.aarch64pigsty157.9 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~bookworm_arm64.deb
postgresql-18-pg-polyline0.0.1d13.x86_64pigsty256.7 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~trixie_amd64.deb
postgresql-18-pg-polyline0.0.1d13.aarch64pigsty157.9 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~trixie_arm64.deb
postgresql-18-pg-polyline0.0.1u22.x86_64pigsty289.0 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~jammy_amd64.deb
postgresql-18-pg-polyline0.0.1u22.aarch64pigsty183.7 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~jammy_arm64.deb
postgresql-18-pg-polyline0.0.1u24.x86_64pigsty286.5 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~noble_amd64.deb
postgresql-18-pg-polyline0.0.1u24.aarch64pigsty181.8 KiBpostgresql-18-pg-polyline_0.0.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_polyline_170.0.1el8.x86_64pigsty311.9 KiBpg_polyline_17-0.0.1-2PIGSTY.el8.x86_64.rpm
pg_polyline_170.0.1el8.aarch64pigsty205.2 KiBpg_polyline_17-0.0.1-2PIGSTY.el8.aarch64.rpm
pg_polyline_170.0.1el9.x86_64pigsty326.6 KiBpg_polyline_17-0.0.1-2PIGSTY.el9.x86_64.rpm
pg_polyline_170.0.1el9.aarch64pigsty219.2 KiBpg_polyline_17-0.0.1-2PIGSTY.el9.aarch64.rpm
pg_polyline_170.0.1el10.x86_64pigsty326.2 KiBpg_polyline_17-0.0.1-2PIGSTY.el10.x86_64.rpm
pg_polyline_170.0.1el10.aarch64pigsty218.3 KiBpg_polyline_17-0.0.1-2PIGSTY.el10.aarch64.rpm
postgresql-17-pg-polyline0.0.1d12.x86_64pigsty257.4 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~bookworm_amd64.deb
postgresql-17-pg-polyline0.0.1d12.aarch64pigsty158.0 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~bookworm_arm64.deb
postgresql-17-pg-polyline0.0.1d13.x86_64pigsty257.0 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~trixie_amd64.deb
postgresql-17-pg-polyline0.0.1d13.aarch64pigsty157.9 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~trixie_arm64.deb
postgresql-17-pg-polyline0.0.1u22.x86_64pigsty288.9 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~jammy_amd64.deb
postgresql-17-pg-polyline0.0.1u22.aarch64pigsty183.7 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~jammy_arm64.deb
postgresql-17-pg-polyline0.0.1u24.x86_64pigsty286.4 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~noble_amd64.deb
postgresql-17-pg-polyline0.0.1u24.aarch64pigsty182.1 KiBpostgresql-17-pg-polyline_0.0.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_polyline_160.0.1el8.x86_64pigsty311.9 KiBpg_polyline_16-0.0.1-2PIGSTY.el8.x86_64.rpm
pg_polyline_160.0.1el8.aarch64pigsty205.1 KiBpg_polyline_16-0.0.1-2PIGSTY.el8.aarch64.rpm
pg_polyline_160.0.1el9.x86_64pigsty326.7 KiBpg_polyline_16-0.0.1-2PIGSTY.el9.x86_64.rpm
pg_polyline_160.0.1el9.aarch64pigsty219.1 KiBpg_polyline_16-0.0.1-2PIGSTY.el9.aarch64.rpm
pg_polyline_160.0.1el10.x86_64pigsty326.3 KiBpg_polyline_16-0.0.1-2PIGSTY.el10.x86_64.rpm
pg_polyline_160.0.1el10.aarch64pigsty218.3 KiBpg_polyline_16-0.0.1-2PIGSTY.el10.aarch64.rpm
postgresql-16-pg-polyline0.0.1d12.x86_64pigsty257.2 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~bookworm_amd64.deb
postgresql-16-pg-polyline0.0.1d12.aarch64pigsty157.9 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~bookworm_arm64.deb
postgresql-16-pg-polyline0.0.1d13.x86_64pigsty257.2 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~trixie_amd64.deb
postgresql-16-pg-polyline0.0.1d13.aarch64pigsty157.9 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~trixie_arm64.deb
postgresql-16-pg-polyline0.0.1u22.x86_64pigsty289.1 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~jammy_amd64.deb
postgresql-16-pg-polyline0.0.1u22.aarch64pigsty183.7 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~jammy_arm64.deb
postgresql-16-pg-polyline0.0.1u24.x86_64pigsty286.5 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~noble_amd64.deb
postgresql-16-pg-polyline0.0.1u24.aarch64pigsty181.7 KiBpostgresql-16-pg-polyline_0.0.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_polyline_150.0.1el8.x86_64pigsty311.7 KiBpg_polyline_15-0.0.1-2PIGSTY.el8.x86_64.rpm
pg_polyline_150.0.1el8.aarch64pigsty205.2 KiBpg_polyline_15-0.0.1-2PIGSTY.el8.aarch64.rpm
pg_polyline_150.0.1el9.x86_64pigsty326.5 KiBpg_polyline_15-0.0.1-2PIGSTY.el9.x86_64.rpm
pg_polyline_150.0.1el9.aarch64pigsty218.7 KiBpg_polyline_15-0.0.1-2PIGSTY.el9.aarch64.rpm
pg_polyline_150.0.1el10.x86_64pigsty325.7 KiBpg_polyline_15-0.0.1-2PIGSTY.el10.x86_64.rpm
pg_polyline_150.0.1el10.aarch64pigsty218.3 KiBpg_polyline_15-0.0.1-2PIGSTY.el10.aarch64.rpm
postgresql-15-pg-polyline0.0.1d12.x86_64pigsty256.6 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~bookworm_amd64.deb
postgresql-15-pg-polyline0.0.1d12.aarch64pigsty157.9 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~bookworm_arm64.deb
postgresql-15-pg-polyline0.0.1d13.x86_64pigsty256.4 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~trixie_amd64.deb
postgresql-15-pg-polyline0.0.1d13.aarch64pigsty157.9 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~trixie_arm64.deb
postgresql-15-pg-polyline0.0.1u22.x86_64pigsty288.8 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~jammy_amd64.deb
postgresql-15-pg-polyline0.0.1u22.aarch64pigsty183.8 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~jammy_arm64.deb
postgresql-15-pg-polyline0.0.1u24.x86_64pigsty286.3 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~noble_amd64.deb
postgresql-15-pg-polyline0.0.1u24.aarch64pigsty182.2 KiBpostgresql-15-pg-polyline_0.0.1-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_polyline_140.0.1el8.x86_64pigsty311.3 KiBpg_polyline_14-0.0.1-2PIGSTY.el8.x86_64.rpm
pg_polyline_140.0.1el8.aarch64pigsty205.2 KiBpg_polyline_14-0.0.1-2PIGSTY.el8.aarch64.rpm
pg_polyline_140.0.1el9.x86_64pigsty326.1 KiBpg_polyline_14-0.0.1-2PIGSTY.el9.x86_64.rpm
pg_polyline_140.0.1el9.aarch64pigsty219.1 KiBpg_polyline_14-0.0.1-2PIGSTY.el9.aarch64.rpm
pg_polyline_140.0.1el10.x86_64pigsty325.8 KiBpg_polyline_14-0.0.1-2PIGSTY.el10.x86_64.rpm
pg_polyline_140.0.1el10.aarch64pigsty218.6 KiBpg_polyline_14-0.0.1-2PIGSTY.el10.aarch64.rpm
postgresql-14-pg-polyline0.0.1d12.x86_64pigsty256.4 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~bookworm_amd64.deb
postgresql-14-pg-polyline0.0.1d12.aarch64pigsty158.0 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~bookworm_arm64.deb
postgresql-14-pg-polyline0.0.1d13.x86_64pigsty256.6 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~trixie_amd64.deb
postgresql-14-pg-polyline0.0.1d13.aarch64pigsty157.9 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~trixie_arm64.deb
postgresql-14-pg-polyline0.0.1u22.x86_64pigsty288.7 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~jammy_amd64.deb
postgresql-14-pg-polyline0.0.1u22.aarch64pigsty183.8 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~jammy_arm64.deb
postgresql-14-pg-polyline0.0.1u24.x86_64pigsty286.3 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~noble_amd64.deb
postgresql-14-pg-polyline0.0.1u24.aarch64pigsty182.1 KiBpostgresql-14-pg-polyline_0.0.1-1PIGSTY~noble_arm64.deb

Source

pig build pkg pg_polyline;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install pg_polyline;		# install via package name, for the active PG version

pig install pg_polyline -v 18;   # install for PG 18
pig install pg_polyline -v 17;   # install for PG 17
pig install pg_polyline -v 16;   # install for PG 16
pig install pg_polyline -v 15;   # install for PG 15
pig install pg_polyline -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION pg_polyline;

Usage

pg_polyline: Google Encoded Polyline encoding & decoding for PostgreSQL

Fast Google Encoded Polyline encoding & decoding as a PostgreSQL extension. Built with pgrx.

CREATE EXTENSION pg_polyline;

-- Encode an array of points to a polyline string
SELECT polyline_encode(
  ARRAY[point(-120.2, 38.5), point(-120.95, 40.7), point(-126.453, 43.252)], 6
);
--          polyline_encode
-- ----------------------------------
--  _izlhA~rlgdF_{geC~ywl@_kwzCn`{nI

-- Decode a polyline string back to points
SELECT polyline_decode('_ibE_seK_seK_seK', 6);
--       polyline_decode
-- ---------------------------
--  {"(0.2,0.1)","(0.4,0.3)"}

The second parameter is the precision (number of decimal places).

Last updated on