Tôi có một tập các tập lệnh postgis tạo ra hai bảng - một trong những tập hợp điểm và tập thứ hai là tập hợp các đường bao quanh chúng. Tất cả dữ liệu nằm trong cùng một phép chiếu và cả hai kết quả đầu ra được lưu trữ trong các bảng postgres 9.2 với postgis 2.1
Cấu trúc liên kết của mạng lưới đường đã được tạo và bảng điểm có một cột chứa đoạn đường gần nhất.
Sau đó, tôi muốn tạo một tập hợp con của mạng lưới đại diện cho mạng nhỏ nhất kết nối tất cả các điểm bằng cách sử dụng một cái gì đó giống như một cây bao trùm tối thiểu. Mạng lưới đường bộ không bị ảnh hưởng và chi phí chỉ đơn giản là chiều dài tuyến đường.
Tôi có thể thực hiện điều này trong QGIS / Grass bằng cách sử dụng nhóm mô-đun v.net nhưng lý tưởng nhất là tôi cũng muốn giữ bước cuối cùng này trong SQL.
Tôi đã xem chức năng postgis apspWarshall mới nhưng tôi không biết làm thế nào nó có thể được khuyến khích để tập trung năng lượng của nó vào việc kết nối các điểm chứ không phải toàn bộ mạng.
Đây là kịch bản ngắn mà tôi đã cùng nhau cố gắng tạo ra một khung để giải quyết vấn đề này nhưng tôi không thể thấy nơi nào có thể tập trung chức năng để bắt đầu với một tập hợp con của các cạnh.
SELECT seq, id1 AS node, id2 AS edge, cost, the_geom
FROM pgr_apspWarshall('SELECT gid AS id,
source,
target,
st_length(the_geom) AS cost
FROM road_network
',
false, false
) AS tree
JOIN road_network As roads
ON tree.id2 = roads.gid
Trong các bài toán đường dẫn ngắn nhất, hàm yêu cầu bắt đầu và kết thúc nhưng dường như không phải trong tất cả các vấn đề về điểm. Tương tự trong Grass, v.net.spanningtree và v.net.steiner mong đợi một tập hợp các điểm và đường như một mạng kết hợp để hoạt động.
Có ai có một gợi ý cho cách làm điều này trong PostGIS không?