Tôi hiện đang sử dụng tiện ích mở rộng cấu trúc liên kết của PostGIS, nhưng tôi gặp một số khó khăn trong việc hiểu cách cấu trúc hoạt động:
Một trong những điểm chính là việc sử dụng "lớp": theo những gì tôi hiểu, các thuộc tính tính năng nên được lưu trữ trong một bảng trong lược đồ cấu trúc liên kết (được đặt tên topo_actualname
) và được đăng ký như một lớp của cấu trúc liên kết đó AddTopoGeometryColumn
.
Tuy nhiên, có một cách đơn giản để tham gia các thuộc tính (lưu trữ trong bảng layer) với các tính năng tương ứng (các yếu tố trong node
, face
hoặc edge_data
)?
Bây giờ, những gì tôi làm là:
SELECT whatever
FROM layer_tb l
JOIN topo_topologyname.edge_data e ON (l.topo).id=edge_id;
Nhưng tôi đoán toàn bộ layer
khái niệm này khá vô dụng nếu tôi phải biết cả tên lược đồ cấu trúc liên kết và tên lớp để có được thông tin tôi muốn.
Trong thực tế, tôi nghĩ rằng tôi hiểu rằng topo
cột trên lớp có đủ thông tin để biết cấu trúc liên kết tương ứng ở đâu và hơn nữa, topology
lược đồ lưu trữ một tham chiếu đến mỗi bảng lớp cho mỗi cấu trúc liên kết.
Có cách nào ngắn / đơn giản / thích hợp để nối thông tin với nhau không? Tôi đã tìm kiếm một cái gì đó trong các chức năng mở rộng cấu trúc liên kết , nhưng không thể tìm thấy bất cứ điều gì hữu ích.
TopoGeometry
trực tiếp vào hình học :SELECT whatever, ST_AsText(topogeom::geometry) FROM layer_tb
. Vấn đề là nếu các cạnh được phân chia sau này, có vẻ như hình học có thể thay đổi do kết quả.