Есть ли способ получить широту / длину углов ограничительной рамки, которую мы получили от ST_Extent?
select ST_Extent(geom) from tableName;
ST_Extent возвращает поле, состоящее из xmin, ymin, xmax, ymax (нижняя левая, верхняя правая координаты):
osm=# select st_extent(way) from planet_osm_point;
st_extent
-------------------------------------------------------------------------
BOX(2259828.73261444 5412478.55751597,3301031.7673783 6147766.43413396)
Чтобы получить точку, соответствующую левому нижнему углу, вы можете построить точку, состоящую из нижнего левого X-координаты (st_xmin) и нижнего левого Y-координаты (st_ymin), например:
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)
Обратите внимание, что поскольку st_extent возвращает ограничивающий прямоугольник, он удаляет SRID из вашей геометрии, поэтому вы можете добавить его к своей вновь созданной точке (я использую 900913 для соответствия SRID данных моего 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)