Czy jest jakiś sposób, aby pobrać długość / szerokość narożników ramki granicznej, którą otrzymaliśmy od ST_Extent?
select ST_Extent(geom) from tableName;
ST_Extent zwraca pole złożone z xmin, ymin, xmax, ymax (współrzędne dolne lewe, prawe górne):
osm=# select st_extent(way) from planet_osm_point;
st_extent
-------------------------------------------------------------------------
BOX(2259828.73261444 5412478.55751597,3301031.7673783 6147766.43413396)
Aby pobrać punkt odpowiadający lewej dolnej części, możesz zbudować punkt składający się z lewej dolnej współrzędnej X (st_xmin) i lewej dolnej współrzędnej Y (st_ymin), np .:
osm=# select st_astext(st_makepoint(st_xmin(st_extent(way)), st_ymin(st_extent(way))))
from planet_osm_point;
st_astext
------------------------------------------
POINT(2259828.73261444 5412478.55751597)
Zauważ, że ponieważ st_extent zwraca ramkę ograniczającą, usuwa ona SRID z twojej geometrii, więc możesz chcieć dodać go do nowo utworzonego punktu (używam 900913, aby dopasować SRID moich danych OSM):
osm=# select st_asewkt(st_setsrid(st_makepoint(st_xmin(st_extent(way)), st_ymin(st_extent(way))), 900913))
from planet_osm_point;
st_astext
------------------------------------------
SRID=900913;POINT(2259828.73261444 5412478.55751597)