Tôi đang cố gắng xác định nơi các con đường giao nhau và để tạo một điểm tại giao lộ này, với số lượng đường tạo thành giao lộ được liệt kê.
Tôi đã tự hỏi nếu có một số cách sử dụng ST_NumPoints để đạt được điều này nhưng tôi không thể hiểu được những gì tôi nên làm. Những gì tôi đã làm là tạo một bảng các điểm trong đó các đường giao nhau bằng cách sử dụng mã sau đây:
CREATE TABLE test_points as
SELECT
ST_Intersection(a.geom, b.geom),
a.gid
FROM
roads as a,
roads as b
WHERE
ST_Touches(a.geom, b.geom);
Nếu tôi chạy cái này trên một mẫu đường, tôi sẽ nhận được lưới các điểm sau (các đường được hiển thị để minh họa):
Nếu tôi kiểm tra một trong những điểm, tôi thấy rằng có nhiều điểm xếp chồng lên nhau:
GID ở đây là ID đường, nhưng tôi không hiểu tại sao có nhiều điểm. Tôi có thể hiểu 4 điểm được tính cho một ngã tư đường trung tâm, nhưng có 12 điểm được liệt kê ở đây. Có cách nào tốt hơn để thực hiện tính toán này trong PostGIS không?