PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Radius aus ST_MinimumBoundingRadius auswählen

Der wichtigste Unterschied ist, dass Sie im ersten Fall die Funktion im FROM aufrufen Klausel, während es in der zweiten in der select ist Klausel. Im ersten Fall besteht das Ergebnis aus zwei Spalten, während es im späteren Fall ein Zeichenfolge Aggregation aller Spalten.

Sie können es beheben, indem Sie die Funktion im FROM verwenden Klausel erneut, indem Sie entweder eine doppelte Klammer oder eine seitliche Verknüpfung:

SELECT radius 
FROM ST_MinimumBoundingRadius((SELECT ST_Collect(geom) 
                                FROM a)) minrad;

oder

SELECT radius
FROM (SELECT ST_Collect(geom) geom FROM a) tbla,
    LATERAL ST_MinimumBoundingRadius(tbla.geom) minrad;