PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sử dụng hộp giới hạn từ PostGIS trong truy vấn Postgres vani

Nếu bạn muốn nhận tọa độ bbox dưới dạng các giá trị được phân tách, bạn có thể muốn xem ST_XMax , ST_YMax , ST_XMin , ST_YMin . CTE sau, nhúng truy vấn của bạn, sẽ cung cấp cho bạn ý tưởng:

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

Ghi chú bên lề :Lưu trữ các giá trị hình học dưới dạng số có thể trông đơn giản nhưng hiếm khi nào là lựa chọn tốt hơn - đặc biệt khi xử lý các đa giác! Vì vậy, tôi thực sự khuyên bạn nên lưu trữ các giá trị này dưới dạng geometry hoặc geography , thoạt nhìn có vẻ phức tạp nhưng chắc chắn về lâu dài sẽ có lợi.

Câu trả lời này có thể làm sáng tỏ các truy vấn về khoảng cách / ngăn chặn liên quan đến đa giác: 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. Thực hiện WHERE IN trên nhiều cột trong Postgresql

  2. Truy vấn PostgreSQL rất chậm với giới hạn 1

  3. Cách triển khai PostgreSQL để có tính khả dụng cao

  4. lấy tên bảng trong kết quả truy vấn Postgres

  5. Làm cách nào để tôi có thể ngăn chặn / phát hiện luồng dưới trong phép tính Postgresql sử dụng EXP ()