Làm cách nào để thực hiện nối không gian của các lớp điểm và đa giác trong PostGIS?


13

Tôi có một bộ dữ liệu điểm đại diện cho các hộ gia đình mà tôi muốn liên kết với một lớp bưu kiện (tức là gán bưu kiện của nó). Với ArcMap, tôi có thể nối các đa giác với các điểm và chỉ định rằng phép nối có bán kính tìm kiếm nhất định và sử dụng đa giác gần nhất.

Tôi muốn thực hiện điều này với postgres và đã tự hỏi cách khôn ngoan nhất để làm điều này là gì. Tôi không thể sử dụng ST_contains vì các điểm rơi trên đường phố chứ không phải trên bưu kiện thực tế. Thay cho ST_contains, có chức năng nào khác cho phép kiểm tra độ gần không?

update households h set parcel_id = p.parcel_id 
from parcels p where ST_contains(p.the_geom, h.xy);

Câu trả lời:


8

Đối với những gì bạn muốn thực hiện, tôi nghĩ ST_DWithin sẽ hoạt động. Từ tài liệu của trang PostGIS:

ST_DWithin - Trả về true nếu hình học nằm trong khoảng cách được chỉ định của nhau. Đối với các đơn vị hình học nằm trong các tham chiếu không gian và Đối với các đơn vị địa lý được tính bằng mét và phép đo được mặc định là use_spheroid = true (đo quanh hình cầu), để kiểm tra nhanh hơn, use_spheroid = false để đo dọc theo hình cầu.


Điều này có thể có thể hoạt động, nhưng mẹo là đặt ngưỡng tìm kiếm phù hợp. Đặt nó quá cao và tôi nhận được nhiều hơn một trận đấu, đặt nó quá thấp và tôi không nhận được. Hoặc đặt nó ở mức cao và loại bỏ các hồ sơ phù hợp thêm.
ako
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.