Closed pumelo closed 2 years ago
Hi @pumelo,
I don't know if it was ever there, but ST_AsMVT is not present in 14-3.2
Thanks for opening this issue! Please, share your minimal test code/script.
From here ( https://github.com/postgis/postgis/blob/stable-3.2/regress/core/mvt_jsonb.sql#L1_L6= ) please, can you test that (J1, J2) examples work? ( expected results : here )
J1,J2 examples:
SELECT 'J1', encode(ST_AsMVT(q, 'test', 4096, 'geom'), 'base64') FROM (SELECT '{"c1":1,"c2":"abcd"}'::jsonb,
ST_AsMVTGeom(ST_GeomFromText('POINT(25 17)'),
ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096)), 4096, 0, false) AS geom) AS q;
SELECT 'J2', encode(ST_AsMVT(q, 'test', 4096, 'geom'), 'base64') FROM (SELECT '{"c1":"abcd", "c2":"abcd"}'::jsonb,
ST_AsMVTGeom(ST_GeomFromText('POINT(25 17)'),
ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096)), 4096, 0, false) AS geom) AS q;
my test steps & log:
user@gis:~$ docker pull postgis/postgis:14-3.2
14-3.2: Pulling from postgis/postgis
Digest: sha256:307524a7e13ff820177f624277d2ac99d599d23203108e692cb5e25025786b6d
Status: Image is up to date for postgis/postgis:14-3.2
docker.io/postgis/postgis:14-3.2
user@gis:~$ docker run --name some-postgis -e POSTGRES_PASSWORD=mysecretpassword -d postgis/postgis:14-3.2
6638c98643e4ec782bde267b43d607590c9f6cb32e8fd1f7542d136810a3dc91
user@gis:~$ docker exec -ti some-postgis psql -U postgres
psql (14.2 (Debian 14.2-1.pgdg110+1))
Type "help" for help.
postgres=# SELECT 'J1', encode(ST_AsMVT(q, 'test', 4096, 'geom'), 'base64') FROM (SELECT '{"c1":1,"c2":"abcd"}'::jsonb,
ST_AsMVTGeom(ST_GeomFromText('POINT(25 17)'),
ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096)), 4096, 0, false) AS geom) AS q;
?column? | encode
----------+----------------------------------------------------------------------
J1 | Gi8KBHRlc3QSDhIEAAABARgBIgQJMt4/GgJjMRoCYzIiAigBIgYKBGFiY2QogCB4Ag==
(1 row)
postgres=# SELECT 'J2', encode(ST_AsMVT(q, 'test', 4096, 'geom'), 'base64') FROM (SELECT '{"c1":"abcd", "c2":"abcd"}'::jsonb,
ST_AsMVTGeom(ST_GeomFromText('POINT(25 17)'),
ST_MakeBox2D(ST_Point(0, 0), ST_Point(4096, 4096)), 4096, 0, false) AS geom) AS q;
?column? | encode
----------+--------------------------------------------------------------
J2 | GisKBHRlc3QSDhIEAAABABgBIgQJMt4/GgJjMRoCYzIiBgoEYWJjZCiAIHgC
(1 row)
I guess the reason for not having it is some kind of dependency eg. protobuf?
as I see the libprotobuf-c1
is in the package
user@gis:~$ docker run -it --rm postgis/postgis:14-3.2 bash -c "apt list --installed | grep proto"
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
libprotobuf-c1/now 1.3.3-1+b2 amd64 [installed,local]
@ImreSamu thanks for your detailed reply.
Indeed, this was my fault, and it it working correctly. Sorry for wasting your precious time on this.
I don't know if it was ever there, but
ST_AsMVT
is not present in 14-3.2 Are there any plans to make it available. I guess the reason for not having it is some kind of dependency eg. protobuf?Quoting form the postgis documentation at https://postgis.net/docs/postgis_installation.html#install_requirements: