PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Gunakan kotak pembatas dari PostGIS dalam kueri Vanilla Postgres

Jika Anda ingin mendapatkan koordinat bbox sebagai nilai terpisah, Anda mungkin ingin melihat ST_XMax , ST_YMax , ST_XMin , ST_YMin . CTE berikut, yang menyematkan kueri Anda, akan memberi Anda gambaran:

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

Catatan samping :Menyimpan nilai geometri sebagai angka mungkin terlihat mudah, tetapi ini bukanlah pilihan yang lebih baik - khususnya saat berurusan dengan poligon! Jadi saya sangat menyarankan Anda untuk menyimpan nilai-nilai ini sebagai geometry atau geography , yang mungkin tampak rumit pada pandangan pertama tetapi pasti akan terbayar dalam jangka panjang.

Jawaban ini mungkin menjelaskan kueri jarak/penahanan yang melibatkan poligon: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. Bagaimana cara menjumlahkan nilai dalam array JSONB di Postgresql?

  2. gabungkan dua tabel berbeda dan hapus entri yang digandakan

  3. Bagaimana cara menambahkan penyedia DB khusus agar dapat diakses di Visual Studio?

  4. Dua pertanyaan untuk memformat stempel waktu dan nomor menggunakan postgresql

  5. Kembalikan tabel dinamis dengan kolom yang tidak diketahui dari fungsi PL/pgSQL