温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
一种
地理
栅格
数据
自适应
压缩
传输
方法
亮亮
2023.02ELECTRONICS QUALITY一种地理栅格数据自适应压缩传输方法嵇亮亮,王伟,王传明(中国电子科技集团公司第二十八研究所,江苏 南京210007)摘 要:为了便于地理栅格数据的共享应用,通常会采用跨语言的JSON对栅格数据进行压缩传输。现有的JSON数据压缩传输算法主要是对JSON数据中重复的Key或者Value进行处理,或者通过转义、数据字典匹配等方式来达到数据压缩目的,其在对大块栅格数据流进行压缩传输时,效果并不明显。因此,针对栅格数据的特点,设计了一种自适应的压缩传输方法,从而降低了传输的JSON数据量,提高了传输效率,具有较好的实用价值。关键词:地理栅格;JSON;数据压缩;Base64;栅格字典;自适应中国分类号:P 21文献标识码:A文章编号:1003-0107(2023)02-0059-04doi:10.3969/j.issn.1003-0107.2023.02.013An Adaptive Compression and Transmission Method for GeographicGrid DataJI Liangliang,WANG Wei,WANG Chuanming(The 28th Research Institute of China Electronics Technology Group Corporation,Nanjing 210007,China)Abstract:In order to facilitate the sharing and application of geographic grid data,the JSON is designed to com-press and transmit the grid data.The existing JSON data compression transmission algorithm mainly achieves the pur-pose of data compression by processing repeated Key or value in JSON data or by escaping,data dictionary match-ing.However,the effect is not obvious when the data stream of large grid is compressed and transmitted.Therefore,according to the feature of grid data,an adaptive compression transmission method is designed,which reduces theamount of JSON data transmitted and improves the transmission efficiency.Keywords:geographical grid;JSON;compression of data;Base64;grid dictionary;self-adaption收稿日期:2022-11-29作者简介:嵇亮亮(1982),男,江苏南京人,中国电子科技集团公司第二十八研究所工程师,硕士,从事计算机工程方面的研究工作。0引言针对地理环境的复杂性,在进行地理数据分析时通常会将其栅格化。栅格化思想已经广泛地应用于测绘、交通、通信和资管等行业1-5,使用方式也多样化,包括云计算、服务化6等。为了方便共享地理栅格数据,栅格数据的跨平台、跨语 言 传 输 也 是 研 究 的 热 点。通 常 可 采 用JSON(JavaScript Object Notation)这一轻量级跨语言来进行栅格数据的跨语言传输,JSON编写解析简单,可阅读性强,其通过Key和Value来表明传输的数据项和具体内容7,并且在进行网络、消息交互过程中传输可靠、效率高8-9,是一种理想的数据交换语言。在利用JSON传输地理栅格等内存块数据时,必须先将内存转换为数据流,然后进行Base6410-11地球科学Earth Science59ELECTRONICSQUALITYELECTRONICS QUALITY编码,转成JSON中的Value。由于地理栅格数据量较大,通常情况必须进行压缩,以减少传输处理数据量12-13,提高传输效率。现有的JSON数据压缩传输算法主要是对JSON数据中重复的Key或者Value进行处理,或者通过转义或数据字典匹配的方式以达到压缩JSON数据的目的。但是,在对大块栅格数据流进行压缩传输时,效果并不明显。1主要工作流程针对现有的JSON数据压缩传输方法对大块栅格数据压缩效果不理想这一问题,本文提出了一种基于JSON的栅格数据压缩传输方法,可显著地降低传输数据量,提高传输效率,该方法的主要工作流程如图1所示,具体包括以下几个步骤:1)从地图中提取需要传输的区域,依据地理信息特征,将该区域转化为栅格数据矩阵T0;2)获取栅格矩阵T0中不同栅格元素值的数量和元素值,建立栅格数据字典MAP;3)依据栅格数据字典MAP,替换栅格矩阵中的元素值,生成新的栅格矩阵T1;4)计算自适应压缩因子n,对栅格矩阵自适应压缩,形成新的一维矩阵T2;5)基于通用Base64对照表和Base64字符转换方式,将一维数组T2转为字符串数组T3;6)组织JSON数据,设置JSON的Key和Value值,并将JSON通过网络或者消息进行传输;7)通过网络或者消息接收到JSON数据后,获取数据字典MAP和字符串数组T3;8)基于通用的Base64逆对照表和Base64逆转换方式,将字符串T3逆转换成一维数组T2;9)计算自适应压缩因子n,将压缩的栅格数据一维数组T2解压,形成栅格矩阵T1;10)按照步骤1)至步骤3)所描述的方法,进行逆操作,获取原始栅格矩阵T0。2技术途径2.1 地理区域栅格化从地图中提取需要传输的区域,依据地理信息特征,将该区域转化为栅格数据矩阵。在地理坐标系中选择起始坐标点S(Js,Ws)、结束坐标点E(Je,We),形成一个矩形区域,设置纬度、经度方向的离散精度KJ、KW,离散精度的单位为“度/单元”,按照公式(1),将矩形区域离散化为M*N栅格矩阵T0。M=INT(Je-JsKJ)+1N=INT(We-WsKM)+1T0(i,j)=TZ(Js+i*KJ,Ws+j*KW)?(1)式(1)中:M矩阵行数;N矩阵列数;INT取整;Js起始点经度;Je结束点经度;Ws起始点纬度;We结束点纬度;T0(i,j)矩阵T0中的第i行、第j列的元素;TZT0(i,j)对应坐标位置处的地理信息特征,通过查询地形数据库或者已有的对照表获得。2.2 栅格字典及矩阵归一化获取栅格矩阵中不同栅格元素值的数量和元素值,建立栅格数据字典。遍历栅格矩阵T0,将不同的栅格数据值保存至一维数组Am中,对数组进行升序排序,在数组元素索引与数组元素值之间建立字典MAP(index,A index),index表示数据字典的索引,A index为数组Am中第index个元素的取值,数据字典的长度与数组Am的长度相同,即为m,m一般不超过255。依据栅格数据字典,替换栅格矩阵中的元素值,生成新的栅格矩阵。遍历栅格矩阵T0,如果T0(i,j)与MAP中的某个元素A index相等,则将A index对应的索引index赋值给T0(i,j),依次将矩阵T0中所有元素替换完成后,获得新的栅格矩阵T1。2.3 栅格数据自适应压缩首先,依据公式(2),求得自适应压缩因子n,其中m为数据字典MAP的长度,min(n)表示取满足条件的所有n中的最小值;其次,遍历栅格矩阵T1,对于连续相同的多个元素,记录元素总数和元素值分别为Number和Value;最后,形成新的一维数组T2,根据n的大小计算一维数组T2中的每一个元素,如果n 0,4),则采用公式(3),否则采用公式(4)。602023.02ELECTRONICS QUALITY2n-1m,min(n)(2)T2i=(Numbern)|ValueNumber28-n-1(3)T2i=Number,T2i+1=ValueNumber25-5(4)在公式(3)中,T2i=(Numbern)|Value表示的是先将数值Number左移n位,然后与Value按位取或形成新的元素,Number(n-1)&(T2i n)Value=(07F(7-n)&(T2i-)(5)Number=T2i,Value=T2i+1-(6)式(5)中:Number=(07F(n-1)&(T2i n),表示的是从一维数组T2中某一个元素T2i中获取Number时,先将T2i右移n位、将07F右移n-1位,然后将右移之后的两个数按位相与得到Number;Value=(07F(7-n)&(T2i),表示的是从一维数组T2中某一个元素T2i中获取Value时,将07F右移7-n位之后,与T2i按位相与得到Value。3应用效果与现有技术相比,本文提出的方法具有以下优点:1)为栅格数据建立数据字典,可有效地减少栅格数据在传输时的种类;2)采用自适应方法动态调整字节中栅格的数值和数量,压缩方式灵活且压缩效率高;3)将压缩后的栅格数据转为基于Base64的字符串,不但能够基于JSON实现多种语言或者平台之间的栅格数据传输,且大大地减少了传输数据量。4结束语本文采用的自适应压缩方法,能够依据栅格数据的特征,建立栅格数据字典,自适应调整压缩因子,通过将栅格相关的参数及取值转换为JSON中的Key和Value,基于JSON实现栅格数据的压缩传输。相比于传统的基于JSON的压缩传输方法,其能够更大程度地压缩栅格数据,降低传输带宽需求,并且基于JSON使得栅格数据能够跨语言传输,具有更好的实用性和灵活性。参考文献:1陈艺航,王金鑫,曹泽宁,等.球体测地线八叉树网格的B-rep区域填充算法J.绘科学技术学报,2021,38(2):188-193.2徐鑫宇,石路军,陈平,等.基于GeoSOT网格的空域栅格化表征方法J.空军工程大学学报(自然科学版),2021,22(2):15-22.3陆川伟,孙群,赵云鹏,等.一种基于条件生成式对抗网络的道路提取方法J.武汉大学学报(信息科学版),2021,46(6):808-814.4吴姗姗.面向信息栅格的异构资源通用管理机制J.指挥信息系统与技术,2012,3(2):32-37.5赵岳,黄光.栅格网环境下的任务信息精准服务框架J.指挥信息系统与技术,2016,7(1):41-46.6易侃,黄松华,丁峰.军事栅格计算服务J.指挥信息系统与技术,2011,2(6):23-28.7崔璨,倪宏使用JSON对AJAX技术中的XML性能的优地球科学Earth Science61ELECTRONICSQUALITYELECTRONICS QUALITY在纳米级薄膜上,飞秒激光实现全彩色无油墨打印!信息与动态在自然界中,当光照射在细微处大量有序结构上,会发生折射、漫反射、衍射或干涉等反应,由此产生的颜色被称作结构色,比如昆虫和鸟类呈现出的彩色翅膀。这一过程并未用到“颜料”。据报道,西湖大学的仇旻教授和团队成员从这个现象中获得灵感,尝试利用超快激光在材料表面制造微纳结构以产生结构色。近日,国际期刊 自然通讯 刊登了该团队的研究成果。研究人员将氮化钛和氮化铝钛这两种超硬陶瓷材料组成的复合薄膜作为特殊“纸张”,在其表面利用超快激光进行微纳加工,实现“飞秒激光无墨彩印”,为激光无油墨彩色打印技术的产业化应用提供了新思路。全球范围内,打印机的年销售量可达上亿台。目前广泛使用的喷墨或激光彩色打印机需要大量使用墨水或碳粉,墨水中含有一定浓度的铅、镉、汞、多溴联苯等具有挥发性的有害物质,碳粉也会释放出可被人体吸收的微颗粒,对环境与人体形成危害。相比墨水颜料,结构色具有不褪色、高分辨、环保等优点。在超快激光打印技术中,激光既是“