sql >> Database >  >> RDS >> PostgreSQL

Gebruik een selectiekader van PostGIS in vanille Postgres-query

Als u de bbox-coördinaten als gescheiden waarden wilt krijgen, kunt u een kijkje nemen op ST_XMax , ST_YMax , ST_XMin , ST_YMin . De volgende CTE, waarin uw vraag is ingesloten, zou u een idee moeten geven:

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

Kanttekening :Het opslaan van geometriewaarden als getallen lijkt misschien eenvoudig, maar het is bijna nooit de betere keuze - vooral als het om polygonen gaat! Dus ik zou je echt aanraden om deze waarden op te slaan als geometry of geography , dat op het eerste gezicht misschien ingewikkeld lijkt, maar op de lange termijn zeker zijn vruchten afwerpt.

Dit antwoord zou een licht kunnen werpen op afstands-/insluitingsquery's waarbij polygonen betrokken zijn:Getting all Buildings in range of 5 miles from specified coordinates




  1. Het aantal rijen gebruiken uit een tijdelijke tabel in een while-lus SQL Server 2008

  2. mysql in python-codering

  3. mysql-fout 2005 - Onbekende MySQL-serverhost 'localhost'(11001)

  4. PHP / MYSQL Knop toevoegen aan kolom