sql >> Database teknologi >  >> RDS >> PostgreSQL

Brug afgrænsningsramme fra PostGIS i vanilla Postgres-forespørgsel

Hvis du ønsker at få bbox-koordinaterne som adskilte værdier, vil du måske tage et kig på ST_XMax , ST_YMax , ST_XMin , ST_YMin . Følgende CTE, der integrerer din forespørgsel, burde give dig en idé:

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

Sidebemærkning :Lagring af geometriværdier som tal kan se ligetil ud, men det er næppe nogensinde det bedre valg - især når man har at gøre med polygoner! Så jeg vil virkelig anbefale dig at gemme disse værdier som geometry eller geography , som ved første øjekast kan virke kompliceret, men som bestemt betaler sig i det lange løb.

Dette svar kan kaste lys over afstands-/indeslutningsforespørgsler, der involverer polygoner:Getting all Buildings in range of 5 miles from specified coordinates




  1. Måder at genopbygge masterdatabasen i SQL Server nemt

  2. Hvorfor MySQL COUNT uden tabelnavn giver 1

  3. SQL-forespørgsel for at hente SUM i forskellige DATO-intervaller

  4. Nulstil ID autoincrement? phpmyadmin