我需要存储和管理考古地球物理数据,这些数据以矩形样本阵列(栅格图像)的形式收集。
- 每个栅格通常将进行20x20或30x30浮点采样,通常以1m的间隔采样。
- 调查将在给定位置包含一个或多个这些图像。
- 有可能在不同的国家或地区使用不同的预测进行两次不同的调查,但是每项调查将使用一个且仅一个预测。
- 永远不会一起查看它们,每个调查通常都会独立进行。
- 只能通过自定义的前端访问数据,因此不会有用户通过它
psql
或类似方法直接控制它。 - 每个样本都需要在收集时进行存储,因此我无法将其重新投影到常见的CRS(例如Web Mercator)中,因为一个样本最终可能会覆盖比原始投影更大或更小的区域,因此需要进行分析在数据上。
如何最好地将数据存储在PostGIS Raster数据库中?我提出的选择是:
- 忽略SRID约束并将所有数据存储在一个表中,编写我的前端代码来以一致的方式处理数据。
- 将所有数据存储在一个表中,并将SRID约束重写为SRID和测量ID的组合。
- 通过表继承,为每个新的SRID创建一个新表。
- 通过表继承,为每个调查创建一个新表。
1和2破坏了PostGIS的一些不错的自动化部分,但是将它们隐藏在前端代码中。但是查询可能需要更长的时间。
3和4可能会导致表格爆炸,从而使管理FK约束等工作变得更加困难。
实际上,每个调查的栅格数量在1到100甚至更多之间,调查的数量很可能会达到数百个。但是,不同预测的数量很可能仍然很低,这有利于3。