时空数据的表格设计

时间:2011-05-02 23:45:21

标签: database-design postgresql relational-database temporal-database

我对设计用于保存时空数据的关系数据库表的最佳实践感兴趣。具体而言,将保留在此类表中的数据是具有特定有效期,几何定义以及分层方面的自定义几何(某些几何将是其他几何的子级)。

我很好奇是否有人能指出我关于这个主题的好材料或者可以建议具体实施。

谢谢。

1 个答案:

答案 0 :(得分:3)

我将PostGIS(http://postgis.refractions.net/)用于几何类型并制作如下表格:

CREATE TABLE data (
    geometry geometry,
  valid_from timestamp,
  valid_till timestamp,
  check(valid_till >= valid_from)
);

PostGIS可以进行空间查询,因此您可以查询数据库中特定几何体中的所有几何体(例如,查询表示状态或县的几何体中的所有几何体)。

要获得有效期,您应该在此查询中添加其他条件,以便仅获取(valid_from >= now() and valid_till <= now())的行。

当然,您还需要所有三列的索引。在几何列上应该有一个空间索引。

您可以在PostGIS站点上找到有关空间查询和几何类型和几何索引的所有信息。