第一届“中国软件杯”大学生软件设计大赛比赛题目二:时空数据的有损压缩算法.docVIP

第一届“中国软件杯”大学生软件设计大赛比赛题目二:时空数据的有损压缩算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
比赛题目二:时空数据的有损压缩算法2011-12-12 10:14:12?来源:?作者: 【大?中?小】 浏览:9629次 评论:0条比赛题目二: ? 时空数据的有损压缩算法 ? 赛题简介:介绍整个赛题的思路和整体要求 ??? 时间、空间、属性是地理现象的三个基本特征,也是GIS数据库的三种基本数据组成。这里的“空间”指空间位置数据及其派生数据。“属性”指与空间位置无派生关系的专题属性数据。“时间”则指时间、空间和属性状态的时变信息。随着近年来以空间数据库为基础的GIS研究和应用的不断深入,随时间而变化的信息越来越受到人们的关注,因而提出了时态GIS(简称TGIS)的概念。时态GIS的组织核心是时空数据库,时空数据模型则是时空数据库的基础。 ? 赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景 时空数据库的数据主要来自于一类按照时间周期返回位置及属性数据的传感器,这类传感器通常会被安装在一些移动的个体上,比如车辆或者个人。通过传感器周期传回的位置及属性数据,系统可以完整的记录下个体的移动轨迹以及对应时间属性值(如速度、温度等)。当前的应用发展趋势表明,被监测个体的数目正在呈爆炸性的增长,同时随着技术的进步以及应用的需求,数据回传的周期也越来越短。例如,南京市的私家车保有量大约在100万台左右,如果后台系统想要实时的知道每台车的位置及属性信息,至少需要对每台车进行秒级采样,我们假设每次每台车上传的数据为50字节,其每天的数据增加将达到: 4.02T=50byte/条*100万*24*60*60 可以想见系统长时间的运行将占用非常庞大的磁盘空间,反之如果针对这些采集数据进行有效的压缩,而且压缩算法具备较高的压缩比,则能够节约大量的磁盘空间,极大的降低系统的建设成本。 数据压缩分为有损和无损两大类。有损一般采用线性拟合的方法,而无损则通过各类近似霍夫曼编码的方法压缩数据。有损压缩的精髓主要是如何抽取特征点,以特征点的连线来近似地表示(拟合)原始数据曲线。 本题对时空数据做如下定义: struct Data { ??? long long time; ??? double x; ??? double y; ??? double z; }; ??? 其中time代表位于移动个体的采集器上传数据的绝对时间,x,y,z分别代表该个体在当前时刻所在空间位置的三个坐标,因此同一采集器一组按时序排列的Data可以看做是一个个体在一段时间内的位移轨迹,为降低难度,本题目不考虑当前时刻采集的属性值。 ??? ?题目要求实现一套针对单一个体按时序排列的位置数据的有损压缩算法,即将一条基于等间隔时间变化的三维曲线进行压缩,要求能够对这条曲线进行拟合还原,原始点与拟合点的欧式距离之差小于某一给定参数。 ? 功能性需求 根据提供的6000个等时间间隔时空数据,根据时序实现一套有损压缩算法(不能借助任何已有的专利算法),该算法可行性要求可被数学证明,另外该算法需具备极高的效率以及压缩比。 ???若有损压缩阈值设置为x,则还原后的数据与元数据的欧氏距离差不能大于x,6000个事件的压缩应当在500毫秒内完成(不含读取6000个事件所需要的时间)(假定机器配置为 英特尔?酷睿?2双核处理器E7500 (2.93GHz/1066FSB/3M 二级缓存,32bit OS),或相近配置),压缩比至少达到6:1,即压缩后至多只保存1000个事件。 数据拟合应当在500毫秒内完成(即将1000个事件还原为6000个事件),而拟合后每个拟合值与原始值的误差都必须在有损压缩设置的阈值范围0.1以内,拟合度越高越好。 ??? 算法接口: int compress(Data data_in[], int count_in, Data data_out[], int count_out, double deadband); data_in:需要压缩的数据,时空数据数组 count_in:数组的个数 data_out:压缩过后的数据 count_out:压缩后剩下的数据 deadband:压缩死区 int decompress(Data data_in[], int count_in, Data data_out[], int count_out, int timeStep) data_in:需要还原的数组 count_in:数组的个数 data_out:还原后的结果 count_out:原数据个数 timeStep:时间的步进值 非功能性需求 要求以图文结合的方式给出算法的论述与证明。 ? 其他限制条件:开发环境,实验平台,开发语言,数据库,编译器限制等 代码采用c++方式实现,要求在win7平台上用vs2008能够编译通过。 验证方

文档评论(0)

8jmoiza5u9 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档