PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utiliser la boîte englobante de PostGIS dans une requête Vanilla Postgres

Si vous souhaitez obtenir les coordonnées bbox sous forme de valeurs séparées, vous pouvez jeter un œil à ST_XMax , ST_YMax , ST_XMin , ST_YMin . Le CTE suivant, qui intègre votre requête, devrait vous donner une idée :

WITH j (geom) AS (
 SELECT 
  ST_Extent(ST_Envelope(
   ST_Rotate(ST_Buffer(
    ST_GeomFromText('POINT(-87.6297982 41.8781136)',4326)::GEOGRAPHY,160934)::GEOMETRY,0)))
)
SELECT
    ST_XMax(geom),ST_YMax(geom),
    ST_XMin(geom),ST_YMin(geom)
FROM j


      st_xmax      |     st_ymax     |      st_xmin      |     st_ymin      
-------------------+-----------------+-------------------+------------------
 -85.6903925527536 | 43.327349928921 | -89.5681600538661 | 40.4285062983098

Remarque  :Stocker des valeurs de géométrie sous forme de nombres peut sembler simple, mais ce n'est jamais le meilleur choix - en particulier lorsqu'il s'agit de polygones ! Je vous suggère donc vraiment de stocker ces valeurs en tant que geometry ou geography , qui peut sembler complexe à première vue, mais qui s'avère payant à long terme.

Cette réponse pourrait éclairer les requêtes de distance/confinement impliquant des polygones :Getting all Buildings in range of 5 miles from specified coordinates