MAPGIS通过建立历史数据索引表来管理历史数据,历史数据索引表分“历史事件索引表”和“历史动作索引表”,每个需要保存历史的数据集都有这两个索引表。
1.历史动作索引表
动作标识符:历史动作的唯一标志;
动作类型:历史动作分类,如快照、添加、修改、删除等;
动作对象类型:说明动作对应的实体的元组,如点、线、区、网等;
动作对象子类型:(0:空间数据;1:属性数据;2:图形参数等);
动作数据:完成“动作类型和子类型”规定的动作所需的数据;
动作日期:记录动作发生的日期和时间;
动作负责人:记录对该动作负直接责任的人员;
父实体数:记录该动作涉及的实体数。
2.父实体索引表(按动作标识符聚族索引)
动作标识符:标识父实体对应的历史动作;
父实体号:父实体标识符;
3.事件索引表
事件标识符:历史事件的唯一标志;
事件类型 :说明是“普通事件”还是“快照”;
事件描述 :历史事件描述,如“第1次修编结束”;
动作标识符:历史事件对应的历史动作标识符;
事件日期 :记录事件结束的日期和时间;
事件负责人:对该事件记录负直接责任的人员;
上述内容中,“事件描述”在记录历史事件时由用户输入,其余字段都由MAPGIS根据用户登录信息和系统的当前状态自动生成
管理功能
MAPGIS提供历史数据管理功能,并提供调用接口,使得应用层可控制时态数据的记录、追踪历史状态。
开始记录历史:通知空间数据管理器开始根据应用层的操作自动记录历史。
停止记录历史:通知空间数据管理器停止自动记录历史。停止自动记录历史后,后面的变化不再能够自动追踪,重新开始记录历史时,空间数据管理器自动添加一个快照做为新的基态。
添加历史事件:往数据库的历史事件索引表中添加一条“事件”描述信息,作为历史追溯的阶段性标识。
添加历史动作:往数据库的历史动作索引表中添加“动作”及其参数。
取历史事件列表:根据全部、描述、给定的日期等不同条件检索从数据库中取得历史事件列表。
取历史动作:根据全部、某个历史事件之前或之后、某个时间段等限定条件,从数据库中取得历史动作及其参数。
装入某个历史事件结束时(或该事件前某个历史动作为止)的数据:即将数据历史回溯到指定的历史事件结束时的状态。
取某个数据的历史状态:确认数据是否有对应的历史数据。
开始追踪实体历史:开始进行单个实体的历史演变过程追踪,建立实体演变链。
结束追踪实体历史:结束单个实体的历史演变过程追踪,释放实体演变链。