您可以通过多种方式存储时态数据。 以下是在存储时态数据时可遵循的一些最佳做法。
在日期字段中存储时间戳
建议将时态数据的时间戳存储在专用日期字段中。 这是一个专用于存储时间和日期信息的数据库字段类型。 与在数值或字符串字段中存储时间相比,它对于查询性能最有效,且可支持更加复杂的数据库查询。 根据您的数据源,可用日期字段类型包括日期、仅日期、仅时间和时间戳偏移。
如果无法使用专用日期字段,则可以在字符串或数值字段中存储数据中的时间戳。 例如,您可以将年度数据存储为 2000、2001 等。 对于字符串字段,需要高效查询和排序,这意味着文本值必须按从最大到最小的顺序列出时间单位值,例如 20120126 对应 2012 年 1 月 26 日。
注:
支持的日期显示范围为公元 100 年到公元 10000 年。 若要使用在此范围外的日期,推荐您将值转换为以下两者之一:数字格式(并使用范围滑块进行过滤);或字符串格式(用于标注)。
您可以选择使用转换时间字段地理处理工具,以将包含时间戳的字符串或数值字段转换为日期字段。
以行格式存储时态数据
如果要在 ArcGIS AllSource 中使用时态数据,则应以行格式存储与各要素相关联的时间值。 可以使用时间滑块按时间导航数据,时间滑块会根据图层将显示过滤为仅显示指定时间段内的行。
表中的每个要素或行可以在表示时刻的一个字段中包含时间值,或在表示从观测开始到结束的时间段的两个字段中包含时间值。
根据数据属性或各要素形状是否随着时间的推移而发生更改,您可选择将时态数据存储在单个表或单独的表中。
通常,可以在属性表的列中表示时间。 例如,1990 年、1991 年和 1992 年每个县的医疗成本可以在表中单一行的各个单独列中列出。 要使用时间滑块的数据过滤功能通过时间可视化此数据,必须重新格式化该表,以使时间值采用行格式。
包含时间值的索引字段
为改善时间可视化和查询性能,建议为包含时间值的字段建立索引。 您可以使用添加属性索引地理处理工具来将索引添加到现有表或要素类中的字段中。
使用标准时间
对于在按夏令时调整时间的区域内采集的时态数据,您应将时间值存储在采用标准时间的数据中。 使用夏令时收集的数据可能难以维护。 夏令时可能因地区而异,并且定义夏令时调整的规则可能会随时间变化。
如果以标准时间存储时间值,则可避免在数据编译期间发生任何数据缺失或叠置情况,并使时间在过渡期间可视而不会发生混淆。
在时间字段中使用空值
在某些情况下,空值存储在时间字段中。 例如,同时具有开始时间和结束时间的图层可以通过使用空结束时间来指示某个要素被视为未来要素。 然后,随着时间滑块的播放,包括开始时间时要素会出现,并在剩余的播放过程中继续显示。 反之亦然,空开始时间表示要素为过去要素,并从开始到已到达的结束时间立即显示。
但是,当时间存储在单个字段中时,具有空值的要素将被排除,因为它不能落在时间跨度内。
确定要使用的日期字段类型
数据的存储方式以及日期的计划使用方式会直接影响建议的日期和时间字段类型。 需要选择最符合您的需求的类型。 共有四种类型的可用日期字段:日期、仅日期、仅时间和时间戳偏移。
下表详述了确定要使用的日期字段类型时需要注意的事项。
日期字段类型 | 包含内容 | 时区的定义方式 | 适合的项目 |
---|---|---|---|
日期 | 日期和时间 | 当将图层设置为时间感知型时,可以为图层定义时区,从而以时间的形式定义其绝对位置。 字段中的所有值均视为采用相同时区。 | 这些时间值全部位于 UTC(示例 1)或全部位于同一本地时区(示例 2)中。
|
仅日期 旧版本:此格式是在 ArcGIS Pro 3.2 中引入的。 | 仅日期组件 | 如果将图层设置为时间感知型,则操作图层时时区将设置为“无”。 这意味着时间滑块的日期部分(无论地图的时区为何)将用于过滤和相识内容。 注:仅日期字段中的一天的有效时长为 24 小时,因此即使时间滑块过滤为显示部分该天,也会显示行。 | 按天的粒度采集的数据,或应用某些内容或表示一整天的数据。
|
仅时间 旧版本:此格式是在 ArcGIS Pro 3.2 中引入的。 | 仅时间组件 | 使用仅时间字段的图层无法设置为时间感知型。 | 每日重复的数据或仅时间组件相关的内容。
|
时间戳偏移 旧版本:此格式是在 ArcGIS Pro 3.2 中引入的。 | 相对于 UTC 的日期、时间和相对时区偏移 | 由于时区偏移值已使用每个单元格中的值进行存储,因此无法选择为图层选择指定时区。 表中的每个值可使用不同的时间偏移。 注:以小时为单位的偏移时间表示其相对于 UTC 的时间偏移,而不是太平洋标准时间等指定时区。 由于多个指定时区可以共享同一时间偏移,因此存储不是可额外感知夏令时或历史变化的特定时区。 | 日期跨多个时区并且当地时间值很重要的时间值。
|