ST_ConvexHull — Gibt die Geometrie der konvexen Hülle des Raster, inklusive der Pixel deren Werte gleich BandNoDataValue sind. Bei regelmäßig geformten und nicht rotierten Raster ist das Ergebnis ident mit ST_Envelope. Diese Funktion ist deshalb nur bei unregelmäßig geformten oder rotierten Raster nützlich.
geometry ST_ConvexHull(
raster rast)
;
Gibt die Geometrie der konvexen Hülle des Raster, inklusive der Pixel NoDataBandValue des Bandes. Bei regelmäßig geformten und nicht rotierten Raster ist das Ergebnis mehr oder weniger das von ST_Envelope. Diese Funktion ist deshalb nur bei unregelmäßig geformten oder rotierten Raster nützlich.
ST_Envelope rundet die Koordinaten und fügt so einen kleinen Puffer um den Raster hinzu. Dadurch unterscheidet sich das Ergebnis gering von ST_ConvexHull, das nicht rundet. |
Siehe PostGIS Raster Specification für eine entsprechende Darstellung.
-- Note envelope and convexhull are more or less the same SELECT ST_AsText(ST_ConvexHull(rast)) As convhull, ST_AsText(ST_Envelope(rast)) As env FROM dummy_rast WHERE rid=1; convhull | env --------------------------------------------------------+------------------------------------ POLYGON((0.5 0.5,20.5 0.5,20.5 60.5,0.5 60.5,0.5 0.5)) | POLYGON((0 0,20 0,20 60,0 60,0 0))
-- now we skew the raster -- note how the convex hull and envelope are now different SELECT ST_AsText(ST_ConvexHull(rast)) As convhull, ST_AsText(ST_Envelope(rast)) As env FROM (SELECT ST_SetRotation(rast, 0.1, 0.1) As rast FROM dummy_rast WHERE rid=1) As foo; convhull | env --------------------------------------------------------+------------------------------------ POLYGON((0.5 0.5,20.5 1.5,22.5 61.5,2.5 60.5,0.5 0.5)) | POLYGON((0 0,22 0,22 61,0 61,0 0))