[postgis-users] How to specify PostGIS geography value in a composite type literal?

Olivier Leprêtre o.lepretre at gmail.com
Sat Apr 21 03:42:12 PDT 2018


this works : SELECT ('name', ST_GeogFromText('POINT(121.560800 29.901200)'))::place;

 

Olivier

 

De : postgis-users [mailto:postgis-users-bounces at lists.osgeo.org] De la part de Glen Huang
Envoyé : samedi 21 avril 2018 12:19
À : postgis-users at lists.osgeo.org
Objet : [postgis-users] How to specify PostGIS geography value in a composite type literal?

 

Hi,

 

I asked this question on SO (https://stackoverflow.com/questions/49954323/how-to-specify-postgis-geography-value-in-a-composite-type-literal)

 

but didn’t get much attention. I wonder if someone here could shed some light. 

 

Here is the question:

 

I have a custom composite type:

CREATE TYPE place AS (
    name text,
    location geography(point, 4326)
);

I want to create a value of that type using a composite literal:

SELECT $$("name", "ST_GeogFromText('POINT(121.560800 29.901200)')")$$::place;

This fails with:

HINT:  "ST" <-- parse error at position 2 within geometry
ERROR:  parse error - invalid geometry

But this executes just fine:

SELECT ST_GeogFromText('POINT(121.560800 29.901200)');

I wonder what's the correct way to specify PostGIS geography value in a composite type literal?

Thanks



---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20180421/19d01718/attachment.html>


More information about the postgis-users mailing list