- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用多线程与Huffman编码压缩SVG矢量空间数据
应用多线程与Huffman编码压缩SVG矢量空间数据
摘要:在分析矢量数据以及SVG的结构特点、多线程和Huffman算法原理的基础上,提出了用多线程和Huffman算法对矢量数据进行压缩的流程,大大缩短了压缩时间。
关键词:多线程;Huffman算法;矢量数据压缩
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2012)30-7332-03
随着网络GIS快速发展,需要传输的空间数据量急剧增长,而网络带宽的提速相对滞后。因此,为了提高网络GIS效率,对空间数据的压缩技术的研究越来越受到重视。
对数据的压缩分为无损压缩和有损压缩,常见的无损压缩方法有Huffman编码和LZW等,这些无损压缩方法同样适用于对空间数据的压缩。本文提出综合应用多线程和Huffman编码压缩空间矢量数据以提高压缩效率,减少压缩时间。
1 矢量数据结构及其特点
矢量数据通常由两种数据模型表示:拓扑数据结构和简单数据结构(又称无拓扑数据结构)。其中简单数据结构通过点、线、面来表示地理实体,而地理实体坐标用其边界的坐标的X和Y值来表示。点由一个(X,Y)表示;线由多个(X,Y)排列在一起表示;面则由闭合的一系列(X,Y)表示。每个地理实体自成一体,各自维护自己的坐标和属性信息,没有相邻或相离等拓扑信息[1]。比如SVG格式的空间矢量数据等。
2 多线程原理
计算机中运行的程序称为进程,每个进程都有独立的一块内存空间和一组系统资源。而一个进程可以有多个线程同时执行。线程是进程的最小执行单元。多线程之间相互独立,各自完成自己的任务,可有效提高进程的执行速度。
在 Java 中,有两种创建线程的方法[2]:
第一种是通过继承classThread实现多线程
classThread中有两个最重要的函数run()和start()。其中run()函数必须把要在多个线程中并行处理的代码放入其中。通过调用start()函数来调用run()函数。在调用start()的时候,start()函数会首先进行与多线程相关的初始化(这也是为什么不能直接调用run()函数的原因),然后再调用run()函数。
第二种是通过实现 Runnable 接口的类来实现。
如果有一个类,它已继承了某个类,又想实现多线程,那就可以通过实现Runnable接口来实现。Runnable接口只有一个run()函数。把一个实现了Runnable接口的对象作为参数产生一个Thread对象,再调用Thread对象的start()函数就可执行并行操作。如果在产生一个Thread对象时以一个Runnable接口的实现类的对象作为参数,那么在调用start()函数时,start()会调用Runnable接口的实现类中的run()函数。
3 Huffman编码压缩思想
霍夫曼(Huffman)编码是1952年为文本文件而建立,是一种统计编码。属于无损压缩编码。霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。
构造Huffman编码的算法:
1)将需压缩文件的字符按照出现频率递减的顺序排列。假设每个字符出现的频率作为权重值 wi(i=1,2……n),将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);
2)在森林中选出两个根结点的权重值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权重值为其左、右子树根结点权重值之和。在合并运算时,权重值大的字符用编码0表示,权重值小的符号用编码1表示;
3)从森林中删除刚被选取的两棵树,并将新树加入森林;
4)重复2)、3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树;
5)每个字符的Huffman编码就是从根节点到该字符节点路径上的0、1序列。
4 应用多线程和Huffman编码压缩SVG矢量空间数据
4.1 可行性分析
1)SVG与地图。
SVG能为地图提供标准的矢量方法,而不是特定的插件或Javaapplet等,同时提供高
质量的图形和很强的交互功能。地图符号可以由SVG的形状元素进行描述;注记由SVG的文本元素表示;图层由SVG的组元素表示【3】(图1)。
2)SVG的特点
SVG(可缩放矢量图形,Scalable Vector Graphics)是基于可扩展标记语言(XML)的,用于描述二维矢量图形的一种图形格式;它采用文本格式描述图形对象;SVG完全支持DOM (Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。DO
您可能关注的文档
- 小微企业税收优惠政策现状分析与优化措施研究.doc
- 小微企业财务管理信息化建设途径与对策研究.doc
- 小微企业融资风险与对策研究.doc
- 小微企业贷款保证保险发展问题与对策.doc
- 小微型企业融资结构与影响因素分析.doc
- 小微型企业融资结构与影响因素分析调查报告.doc
- 小洼油田洼38块东二段低含油饱与度油藏成因研究.doc
- 小柴胡汤加减联合雷贝拉唑治疗反流性食管炎肝胃不与证40例疗效观察.doc
- 小牛脾提取物注射液联合白介素11与糖皮质激素治疗慢性特发性血小板减少性紫癜临床疗效评价.doc
- 小湖集站STPKA型无线调车机车信号与监控系统通信改进技术方案.doc
- 2025年鸡西市麻山区公益性岗位招聘8人(公共基础知识)测试题附答案.docx
- 杭州之江湾股权投资基金管理有限公司招聘参考题库附答案.docx
- 2026江苏辖区农村商业银行常熟农商银行校园招聘200人(公共基础知识)测试题附答案.docx
- 2025年中国石油新疆油田分公司秋季高校毕业生招聘360人(公共基础知识)综合能力测试题附答案.docx
- 2023年攀枝花市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026广发银行太原分行校园招聘(公共基础知识)测试题附答案.docx
- 2025四川成都医学院招聘事业编制辅导员10人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库必考题.docx
- 2025年合肥市某国有企业2025年岗位外包招聘(公共基础知识)测试题附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
最近下载
- “三新”背景下教学策略.pptx VIP
- 中考语文专项复习:《古诗词曲阅读》课件.pptx VIP
- 2025年高考满分作文范文合集.docx VIP
- 长输油气管道智能阴极保护电位监测技术应用与实践探索.docx VIP
- 2024年部编版中考语文总复习第四部分古诗文阅读专题一古诗词曲鉴赏.pptx VIP
- 湘教版五年级上册科学复习资料汇总.pdf VIP
- 中化泉州石化3万吨年干气脱硫制二甲基亚砜项目3-创新性说明.doc VIP
- 小学数学新苏教版三年级下册 一 第3课时 角的认识和大小比较 教学课件(2026春).pptx VIP
- 法院书记员面试题目及答案.doc VIP
- 2025中医医院护理中长期发展规划.docx VIP
原创力文档


文档评论(0)