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

Làm cách nào để tôi có thể truy vấn tất cả dữ liệu của mình trong khoảng cách 5 mét?

Nói chung, hàm PostGIS tốt nhất cho truy vấn như vậy là ST_DWithin () :

ví dụ. tất cả khách hàng sống trong phạm vi 1000 mét kể từ cửa hàng số 1:

SELECT customers.* 
FROM customers, shops
WHERE ST_DWithin(customers.the_geog, shops.the_geog, 1000)
  AND shop.id = 1

ST_DWithin sẽ sử dụng chỉ mục không gian mà lẽ ra bạn phải tạo và do đó hoạt động tốt hơn ST_Distance.

Trong Django dường như có một bộ lọc tương ứng được gọi là dwithin :

D (m =5) trả về một đối tượng khoảng cách có chiều dài 5 mét

geom là hình học mà bạn muốn tính khoảng cách đến các đối tượng Zipcode

dwithin () là hàm được sử dụng

poly là thuộc tính hình học của các đối tượng Zipcode

z = Zipcode(code=77096, poly='POLYGON(( 10 10, 10 20, 20 20, 20 15, 10 10))')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để gửi một số yêu cầu http từ hàm postgresql hoặc trình kích hoạt

  2. Chuyển đổi kết quả của truy vấn PostgreSQL sang XML, sử dụng PHP DOM

  3. bế tắc trong postgres về truy vấn cập nhật đơn giản

  4. Khớp mờ một chuỗi trong SQL

  5. Cái nào hiệu quả hơn smallint hoặc ký tự (10)?