存储时态数据的最佳方式

您可以通过多种方式存储时态数据。 以下是在存储时态数据时可遵循的一些最佳做法。

在日期字段中存储时间戳

建议将时态数据的时间戳存储在日期字段中。 这是一个专用于存储时间和日期信息的数据库字段类型。 与在数值或字符串字段中存储时间相比,它对于查询性能最有效,且可支持更加复杂的数据库查询。

如果无法使用日期字段,则可以在字符串或数值字段中存储数据中的时间戳。 例如,您可以将年度数据存储为 2000、2001 等。 对于字符串字段,需要高效查询和排序,这意味着文本值必须按从最大到最小的顺序列出时间单位值,例如 20120126 对应 2012 年 1 月 26 日。

注:

支持的日期显示范围为公元 100 年到公元 10000 年。 若要使用在此范围外的日期,推荐您将值转换为以下两者之一:数字格式(并使用范围滑块进行过滤);或字符串格式(用于标注)。

您可以选择使用转换时间字段地理处理工具,以将包含时间戳的字符串或数值字段转换为日期字段。

以行格式存储时态数据

如果要在 AllSource 中使用时态数据,则应以行格式存储与各要素相关联的时间值。 可以使用时间滑块按时间导航数据,时间滑块会根据图层将显示过滤为仅显示指定时间段内的行。

表中的每个要素或行可以在表示时刻的一个字段中包含时间值,或在表示从观测开始到结束的时间段的两个字段中包含时间值。

根据数据属性或各要素形状是否随着时间的推移而发生更改,您可选择将时态数据存储在单个表或单独的表中。

通常,可以在属性表的列中表示时间。 例如,1990 年、1991 年和 1992 年每个县的医疗成本可以在表中单一行的各个单独列中列出。 要使用时间滑块的数据过滤功能通过时间可视化此数据,必须重新格式化该表,以使时间值采用行格式

包含时间值的索引字段

为改善时间可视化和查询性能,建议为包含时间值的字段建立索引。 您可以使用添加属性索引地理处理工具来将索引添加到现有表或要素类中的字段中。

使用标准时间

对于在按夏令时调整时间的区域内采集的时态数据,您应将时间值存储在采用标准时间的数据中。 使用夏令时收集的数据可能难以维护。 夏令时可能因地区而异,并且定义夏令时调整的规则可能会随时间变化。

如果以标准时间存储时间值,则可避免在数据编译期间发生任何数据缺失或叠置情况,并使时间在过渡期间可视而不会发生混淆。

在时间字段中使用空值

在某些情况下,空值存储在时间字段中。 例如,同时具有开始时间和结束时间的图层可以通过使用空结束时间来指示某个要素被视为未来要素。 然后,随着时间滑块的播放,包括开始时间时要素会出现,并在剩余的播放过程中继续显示。 反之亦然,空开始时间表示要素为过去要素,并从开始到已到达的结束时间立即显示。

但是,当时间存储在单个字段中时,具有空值的要素将被排除,因为它不能落在时间跨度内。