sql >> Databáze >  >> RDS >> PostgreSQL

Použijte ohraničovací rámeček z PostGIS ve vanilla dotazu Postgres

Pokud chcete získat souřadnice bbox jako oddělené hodnoty, můžete se podívat na ST_XMax , ST_YMax , ST_XMin , ST_YMin . Následující CTE, která vkládá váš dotaz, by vám měla poskytnout představu:

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

Poznámka :Ukládání geometrických hodnot jako čísel může vypadat jednoduše, ale sotva kdy je to lepší volba - zvláště při práci s polygony! Takže bych vám opravdu doporučil uložit tyto hodnoty jako geometry nebo geography , která se na první pohled může zdát složitá, ale z dlouhodobého hlediska se rozhodně vyplatí.

Tato odpověď by mohla vrhnout světlo na dotazy týkající se vzdálenosti/kontejnmentu zahrnující polygony:Getting all Buildings in range of 5 miles from specified coordinates




  1. Problém s AES_DECRYPT MySQL

  2. Výchozí pořadí řádků ve SELECT dotazu - SQL Server 2008 vs SQL 2012

  3. Jak vyřešit není chyba GROUP BY v dotazu mysql

  4. Získejte jazyk zákaznických objednávek Woocommerce