二维码技术实现及其在测绘中的应用
2015-02-23李杰李文辉石瑜石家庄市勘察测绘设计研究院河北石家庄050019
李杰,李文辉,石瑜(石家庄市勘察测绘设计研究院,河北石家庄 050019)
二维码技术实现及其在测绘中的应用
李杰∗,李文辉,石瑜
(石家庄市勘察测绘设计研究院,河北石家庄 050019)
摘 要:二维码作为一种信息的存储和传递技术,在众多行业获得广泛应用,测绘业务中也有其发挥优势的空间。本文重点介绍二维码技术及其具体编程实现过程,结合具体测绘业务,总结其在设备与资料管理、数据实地巡检与公众参与、数据保密以及地图出版等方面的应用,并通过部分实例进行了说明。对二维码的应用前景进行了预测,以期对同行有所借鉴,促进二维码在测绘与地理信息行业中的应用。
关键词:二维码;实现;应用;QR Code;地图
1 引 言
二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息。在代码编制上巧妙利用构成计算机内部逻辑基础的“0”、“1”比特流概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备可以自动识读以实现信息自动处理。
常用的二维码制有:Data Matrix,Maxi Code,Aztec, QR Code,Vericode,PDF417等,其中QR码起源于日本,已成为目前流行的二维空间条码之一。
二维码从诞生之时就受到国际社会的广泛关注,在众多领域得到广泛推广。本文结合测绘相关业务,探讨二维码技术的实现及应用。
2 二维码生成的实现
少量数据信息的二维码可以通过互联网制作软件来实现,批量数据生成专业应用或信息数据涉密时,独立编程实现更为便捷。
本文以QR Code实现为例,采用Microsoft Visual Studio 2010 VB.net为编程语言,介绍编程实现生成二维码。
2.1编程组件
QRMAKER.OCX、ThoughtWorks.QRCode.dll和谷歌zxing.dll等相应版本的组件可适用于多个平台下生成二维码。本文以ThoughtWorks.QRCode.dll和谷歌zxing.dll组件编程进行介绍。
2.2具体实现
首先,在编程环境下引用与操作系统匹配的dll类,因为dll组件类版本很多,引用不当会导致貌似正确的代码却无法运行,选择正确的dll版本至关重要;其次,创建窗体,增加2个Button按钮(生成和识别二维码)、1个TextBox和1个PictureBox;然后,导入相应命名空间,编写程序代码;最后,进行软件测试与发布。
具体实现过程及主要代码如下:
(1)生成二维码
①采用ThoughtWorks公司组件
'声明一个QRCodeEncoder类实例
Dim qrCodeEncoder = New ThoughtWorks.QRCode.Codec.QRCodeEncoder
'设置编码方式,字节编码
qrCodeEncoder.QRCodeEncodeMode =QRCodeEncoder.ENCODE_MODE.BYTE
'设置规模和版本
qrCodeEncoder.QRCodeScale=3 qrCodeEncoder.QRCodeVersion=0
'设置错误校验级别,错误校验级别L级:约可纠错7%的数据码字;M级:约可纠错15%;Q级:约可纠错25%;H级:约可纠错30%的数据码字。
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L
'生成二维码图像
PictureBox1.Image=qrCodeEncoder.Encode(TextBox1.Text, System.Text.Encoding.UTF8)
调用PictureBox1.Image.save方法保存生成的图像到制定路径。
②采用谷歌zxing.dll组件
生成二维码图像过程与①相似,关键代码如下: Dim mutiWriter=New MultiFormatWriter()
Dim bm=mutiWriter.encode(TextBox1.Text,BarcodeFormat.QR_CODE,400,400)
PictureBox1.Image=bm.ToBitmap()
调用PictureBox1.Image.save方法保存生成的图像到制定路径。
③以上代码生成的二维码图像可以被广泛识别,如出于保密需要,可生成加密二维码。
(2)识别二维码
识别二维码与生成类似,分别采用两种组件实现。
①采用ThoughtWorks公司组件
Dim decoder As=New QRCodeDecoder()
Dim decodedString= decoder.decode(New QRCodeBitmapImage(New Bitmap(PictureBox1.Image)),System.Text.Encoding.UTF8)
TextBox1.Text=""
TextBox1.Text=decodedString
②采用谷歌zxing.dll组件
Dim mutiReader=New MultiFormatReader()
Dim img As Bitmap=PictureBox1.Image
Dim ls = New RGBLuminanceSource(img,img.Width,img.Height)
Dim readtxt As Result = mutiReader.decode(New BinaryBitmap(New HybridBinarizer(ls)))
TextBox1.Text=""
TextBox1.Text=readtxt.Text
③对于加密二维码需要加入针对性的解密算法才能识别,用户需要下载专用APP才能解码,会影响公众使用心理和体验。
3 二维码技术在测绘业务中的应用
二维码是动态数据应用的一种,具有信息量大、可靠性高、保密防伪性强、追踪性高以及成本便宜等特性。二维码识读不需要网络及数据库支持,为二维码的广泛、便捷应用奠定了物质基础。
二维码应用分为主读类和被读类。目前阶段,二维码在测绘中以主读应用为主,在设备与资料管理、数据检索与保密以及地图出版等方面具有应用前景。
3.1设备管理
测绘单位拥有较多的仪器设备,仪器表面可贴面积小,采用口取纸标签书写内容有限。二维码可以将仪器的参数如设备编号、检查时间、状态、技术指标、供应商电话、网址、责任人、使用注意事项等信息蕴含其中,便于仪器的保管、维修与使用。
在仪器使用过程中,作业人员需要查阅仪器检定证书,证书为纸质,反复查阅难免有折旧,还可能会造成损坏、遗失等。引入二维码技术后,一块10 mm ×10 mm的标签足够容纳仪器主要检定参数[1],便于使用,可以多人同时借阅。
3.2资料管理
测绘纸质资料提交、管理、借阅以及日常作业过程会涉及很多元数据(如项目编号、类型、委托单位、位置、作业人员、完成日期、检查人员、检查日期、经手人、提交日期、内容关键字等),将上述信息存储在二维码中作为资料存档,借阅者不用借助数据库即可实现关键信息查询,软件开销很小,非常便捷。
当需要建立资料元数据库时,通过二维码识别亦可快速完成建库数据准备。
3.3实地巡检与公众参与
二维码制作成本低廉,具有批量制印到客观实体上的可能,通过简单的扫描码手段可促进社会公众参与城市管理。公众参与度的提升,对于搞好城市管理至关重要。
以地下管线数据库应用为例,在地下管线附属物上制印上二维码或增加二维码铭牌。实地巡视核查时,不用通过电话或网络,直接扫描二维码获取信息,将极大提高管理效率。同时,便于公众社会管理参与,可以较好地减少或消除很多突发事件隐患。
3.4数据保密
在日常测绘业务中,有涉密数据,数据量小,涉密等级较低。使用专业加密设备操作繁琐,且有时受现场条件所限,不便于使用电子存储设备。此时,使用加密二维码便可以解决问题,便于携带和传输,从而提高作业效率。
3.5地图出版
在传统地图基础上,拓展手机应用是地图适应科技发展的趋势,二维码应用是解决这一问题的利器。
纸质地图的“一览性”能提供宏观空间地理信息,通过二维码拓展阅读可以为游客提供更加便利、贴心的增值服务,成为传统地图行业转型升级的新模式。
宁波市发布了奉化市景区二维码手绘地图,该地图整合了传统地图和旅游基础数据,涵盖当地旅游城市宣传推广片、自助骑行步行线路以及地方旅游小吃等内容,方便游客通过智能手机快速获取信息[2]。
二维条码具有可读而不可改写的特性,能够实现验证防伪,在抑制盗版地图方面具有一定的作用。通过验证码和出版信息的约束,可以很快识别盗版地图,对于盗版者形成一定威慑力。
在笔者撰写的文献[3]中,对纸质地图的拓展应用进行了探讨,地图二维码应成为纸质地图拓展应用的热点之一。
4 结 语
二维码作为一种新的信息存储、传递和识别技术,可以把很多数字化信息进行编码,以条码的形式表现出来,手机用户可以通过摄像头和解码软件将相关信息重新解码并查看内容。二维码技术的低成本和较高的效率使得其应用愈发“亲民”,在全球各行业的应用将日益广泛。
有着“移动互联网入口”之称的二维码,结合数据库以及地理信息移动技术,在今后的城市管理、应急处理、智慧城市和物联网建设等方面具有广阔的应用空间。
作为从事基础地理数据生成的测绘地理信息行业,可以结合自身优势,充分发挥二维码技术的特性,从而推动行业发展。
参考文献
[1] 吴剑波.二维码识别技术在测量设备管理中的应用[J].上海计量测试,2011(5).
[2] 王巍.奉化发布国内首张县级城市智慧旅游手绘地图[EB/ OL].http:/ / news.cnnb.com.cn/ ,2012-12-27
[3] 李杰,石瑜,段晓鹤等.纸质地图的应用拓展及创新发展[J].城市勘测,2015(2).
[4] 盛秋康.二维码编解码技术的研究与应用[D].南京:南京理工大学,2012.
[5] GB/ T 16829-2003/ IEC 16390:1999.信息技术、自动识别与数据采集技术条码制规范、交插二五条码[S].
[6] GB/ T 18284-2000.快速响应矩阵码[S].
Implementation and Application of 2-Dimensional Code in Surveying and Mapping
Li Jie,Li Wenhui,Shi Yu
(Shijiazhuang Institute of Surveying,Mapping & Geotechnical Investigation,Shijiazhuang 050019,China)
Abstract:As a kind of information storage and transmission technology,two dimensional code has been widely used in many industries.This paper introduced the two-dimensional code technology and its implementation,combined with some surveying and mapping business,summed up the equipment and data management,data field inspection and public participation in,data confidentiality and paper map publishing,hoping to provide reference for peers.
Key words:two-dimensional code;implementation;application;QR Code;paper map
文章编号:1672-8262(2015)06-132-03中图分类号:P209
文献标识码:B
收稿日期:∗2015—07—09
作者简介:李杰(1974—),男,正高职高级工程师,注册测绘师,主要从事技术管理与地理信息软件研发工作。