Tôi có một yêu cầu để lưu trữ và quản lý dữ liệu địa vật lý khảo cổ học được thu thập dưới dạng một mảng hình chữ nhật của các mẫu - một hình ảnh raster.
- Mỗi raster thường sẽ có các mẫu dấu phẩy động 20x20 hoặc 30x30, thường được lấy mẫu ở các khoảng cách 1m.
- Một khảo sát sẽ bao gồm một hoặc nhiều hình ảnh trong một vị trí nhất định.
- Có thể hai cuộc khảo sát khác nhau có thể diễn ra ở các quốc gia khác nhau hoặc các khu vực sử dụng các phép chiếu khác nhau, nhưng mỗi cuộc khảo sát sẽ sử dụng một và chỉ một phép chiếu.
- Họ không bao giờ có thể được xem cùng nhau, mỗi cuộc khảo sát thường sẽ tự ngồi.
- Dữ liệu sẽ chỉ được truy cập bởi một giao diện người dùng tùy chỉnh, do đó sẽ không có người dùng nào có quyền kiểm soát trực tiếp thông qua
psql
hoặc tương tự. - Mỗi mẫu cần được lưu trữ khi nó được thu thập, vì vậy tôi không thể chuyển hướng nó thành CRS chung như Web Mercator vì một mẫu cuối cùng có thể bao phủ nhiều hơn hoặc ít hơn diện tích so với dự báo ban đầu và việc phân tích sẽ cần được thực hiện trên dữ liệu.
Làm thế nào tôi nên lưu trữ dữ liệu tốt nhất trong cơ sở dữ liệu Raster PostGIS? Các tùy chọn tôi đã đưa ra là:
- Bỏ qua các ràng buộc SRID và lưu trữ tất cả dữ liệu trong một bảng, viết mã mặt trước của tôi để xử lý dữ liệu một cách nhất quán.
- Lưu trữ tất cả dữ liệu trong một bảng và viết lại ràng buộc SRID dưới dạng hợp chất của SRID và ID khảo sát.
- Thông qua kế thừa bảng, tạo một bảng mới cho mỗi SRID mới.
- Thông qua kế thừa bảng, tạo một bảng mới cho mỗi khảo sát.
1 và 2 phá vỡ một số phần tự động đẹp của PostGIS, nhưng sẽ bị ẩn trong mã mặt trước. Nhưng các truy vấn có thể sẽ mất nhiều thời gian hơn.
3 và 4 có thể kết thúc bằng sự bùng nổ của các bảng khiến việc quản lý các ràng buộc FK trở nên khó khăn hơn, v.v.
Trên thực tế, số lượng người quét trên mỗi khảo sát là từ 1 đến 100 hoặc nhiều hơn và số lượng khảo sát có thể sẽ chạy vào hàng trăm. Nhưng số lượng các dự báo riêng biệt có khả năng vẫn còn rất thấp, ủng hộ 3.