PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Użyj pola ograniczającego z PostGIS w waniliowym zapytaniu Postgres

Jeśli chcesz uzyskać współrzędne bbox jako oddzielne wartości, możesz spojrzeć na ST_XMax , ST_YMax , ST_XMin , ST_YMin . Poniższy CTE, który zawiera Twoje zapytanie, powinien dać Ci pomysł:

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

Uwaga boczna :Przechowywanie wartości geometrii jako liczb może wydawać się proste, ale rzadko jest to lepszy wybór - szczególnie w przypadku wielokątów! Więc naprawdę sugerowałbym przechowywanie tych wartości jako geometry lub geography , co na pierwszy rzut oka może wydawać się skomplikowane, ale zdecydowanie opłaca się na dłuższą metę.

Ta odpowiedź może rzucić światło na zapytania dotyczące odległości/ograniczenia dotyczące wielokątów:Getting all Buildings in range of 5 miles from specified coordinates




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zarządzać transakcjami w wielu bazach danych

  2. Jak jawnie rzutować typ literału tablicowego w sqlalchemy za pomocą postgresql?

  3. Schemat relacyjnej bazy danych do pozyskiwania zdarzeń

  4. Przesyłanie strumieniowe danych z Postgresa do Pythona

  5. Wstaw do postgres SQL