李杰,李文輝,石瑜(石家莊市勘察測繪設(shè)計(jì)研究院,河北石家莊 050019)
二維碼技術(shù)實(shí)現(xiàn)及其在測繪中的應(yīng)用
李杰?,李文輝,石瑜
(石家莊市勘察測繪設(shè)計(jì)研究院,河北石家莊 050019)
摘 要:二維碼作為一種信息的存儲(chǔ)和傳遞技術(shù),在眾多行業(yè)獲得廣泛應(yīng)用,測繪業(yè)務(wù)中也有其發(fā)揮優(yōu)勢的空間。本文重點(diǎn)介紹二維碼技術(shù)及其具體編程實(shí)現(xiàn)過程,結(jié)合具體測繪業(yè)務(wù),總結(jié)其在設(shè)備與資料管理、數(shù)據(jù)實(shí)地巡檢與公眾參與、數(shù)據(jù)保密以及地圖出版等方面的應(yīng)用,并通過部分實(shí)例進(jìn)行了說明。對(duì)二維碼的應(yīng)用前景進(jìn)行了預(yù)測,以期對(duì)同行有所借鑒,促進(jìn)二維碼在測繪與地理信息行業(yè)中的應(yīng)用。
關(guān)鍵詞:二維碼;實(shí)現(xiàn);應(yīng)用;QR Code;地圖
二維碼是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息。在代碼編制上巧妙利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流概念,使用若干個(gè)與二進(jìn)制相對(duì)應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖像輸入設(shè)備或光電掃描設(shè)備可以自動(dòng)識(shí)讀以實(shí)現(xiàn)信息自動(dòng)處理。
常用的二維碼制有:Data Matrix,Maxi Code,Aztec, QR Code,Vericode,PDF417等,其中QR碼起源于日本,已成為目前流行的二維空間條碼之一。
二維碼從誕生之時(shí)就受到國際社會(huì)的廣泛關(guān)注,在眾多領(lǐng)域得到廣泛推廣。本文結(jié)合測繪相關(guān)業(yè)務(wù),探討二維碼技術(shù)的實(shí)現(xiàn)及應(yīng)用。
少量數(shù)據(jù)信息的二維碼可以通過互聯(lián)網(wǎng)制作軟件來實(shí)現(xiàn),批量數(shù)據(jù)生成專業(yè)應(yīng)用或信息數(shù)據(jù)涉密時(shí),獨(dú)立編程實(shí)現(xiàn)更為便捷。
本文以QR Code實(shí)現(xiàn)為例,采用Microsoft Visual Studio 2010 VB.net為編程語言,介紹編程實(shí)現(xiàn)生成二維碼。
2.1編程組件
QRMAKER.OCX、ThoughtWorks.QRCode.dll和谷歌zxing.dll等相應(yīng)版本的組件可適用于多個(gè)平臺(tái)下生成二維碼。本文以ThoughtWorks.QRCode.dll和谷歌zxing.dll組件編程進(jìn)行介紹。
2.2具體實(shí)現(xiàn)
首先,在編程環(huán)境下引用與操作系統(tǒng)匹配的dll類,因?yàn)閐ll組件類版本很多,引用不當(dāng)會(huì)導(dǎo)致貌似正確的代碼卻無法運(yùn)行,選擇正確的dll版本至關(guān)重要;其次,創(chuàng)建窗體,增加2個(gè)Button按鈕(生成和識(shí)別二維碼)、1個(gè)TextBox和1個(gè)PictureBox;然后,導(dǎo)入相應(yīng)命名空間,編寫程序代碼;最后,進(jìn)行軟件測試與發(fā)布。
具體實(shí)現(xiàn)過程及主要代碼如下:
(1)生成二維碼
①采用ThoughtWorks公司組件
'聲明一個(gè)QRCodeEncoder類實(shí)例
Dim qrCodeEncoder = New ThoughtWorks.QRCode.Codec.QRCodeEncoder
'設(shè)置編碼方式,字節(jié)編碼
qrCodeEncoder.QRCodeEncodeMode =QRCodeEncoder.ENCODE_MODE.BYTE
'設(shè)置規(guī)模和版本
qrCodeEncoder.QRCodeScale=3 qrCodeEncoder.QRCodeVersion=0
'設(shè)置錯(cuò)誤校驗(yàn)級(jí)別,錯(cuò)誤校驗(yàn)級(jí)別L級(jí):約可糾錯(cuò)7%的數(shù)據(jù)碼字;M級(jí):約可糾錯(cuò)15%;Q級(jí):約可糾錯(cuò)25%;H級(jí):約可糾錯(cuò)30%的數(shù)據(jù)碼字。
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L
'生成二維碼圖像
PictureBox1.Image=qrCodeEncoder.Encode(TextBox1.Text, System.Text.Encoding.UTF8)
調(diào)用PictureBox1.Image.save方法保存生成的圖像到制定路徑。
②采用谷歌zxing.dll組件
生成二維碼圖像過程與①相似,關(guān)鍵代碼如下: Dim mutiWriter=New MultiFormatWriter()
Dim bm=mutiWriter.encode(TextBox1.Text,BarcodeFormat.QR_CODE,400,400)
PictureBox1.Image=bm.ToBitmap()
調(diào)用PictureBox1.Image.save方法保存生成的圖像到制定路徑。
③以上代碼生成的二維碼圖像可以被廣泛識(shí)別,如出于保密需要,可生成加密二維碼。
(2)識(shí)別二維碼
識(shí)別二維碼與生成類似,分別采用兩種組件實(shí)現(xiàn)。
①采用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
③對(duì)于加密二維碼需要加入針對(duì)性的解密算法才能識(shí)別,用戶需要下載專用APP才能解碼,會(huì)影響公眾使用心理和體驗(yàn)。
二維碼是動(dòng)態(tài)數(shù)據(jù)應(yīng)用的一種,具有信息量大、可靠性高、保密防偽性強(qiáng)、追蹤性高以及成本便宜等特性。二維碼識(shí)讀不需要網(wǎng)絡(luò)及數(shù)據(jù)庫支持,為二維碼的廣泛、便捷應(yīng)用奠定了物質(zhì)基礎(chǔ)。
二維碼應(yīng)用分為主讀類和被讀類。目前階段,二維碼在測繪中以主讀應(yīng)用為主,在設(shè)備與資料管理、數(shù)據(jù)檢索與保密以及地圖出版等方面具有應(yīng)用前景。
3.1設(shè)備管理
測繪單位擁有較多的儀器設(shè)備,儀器表面可貼面積小,采用口取紙標(biāo)簽書寫內(nèi)容有限。二維碼可以將儀器的參數(shù)如設(shè)備編號(hào)、檢查時(shí)間、狀態(tài)、技術(shù)指標(biāo)、供應(yīng)商電話、網(wǎng)址、責(zé)任人、使用注意事項(xiàng)等信息蘊(yùn)含其中,便于儀器的保管、維修與使用。
在儀器使用過程中,作業(yè)人員需要查閱儀器檢定證書,證書為紙質(zhì),反復(fù)查閱難免有折舊,還可能會(huì)造成損壞、遺失等。引入二維碼技術(shù)后,一塊10 mm ×10 mm的標(biāo)簽足夠容納儀器主要檢定參數(shù)[1],便于使用,可以多人同時(shí)借閱。
3.2資料管理
測繪紙質(zhì)資料提交、管理、借閱以及日常作業(yè)過程會(huì)涉及很多元數(shù)據(jù)(如項(xiàng)目編號(hào)、類型、委托單位、位置、作業(yè)人員、完成日期、檢查人員、檢查日期、經(jīng)手人、提交日期、內(nèi)容關(guān)鍵字等),將上述信息存儲(chǔ)在二維碼中作為資料存檔,借閱者不用借助數(shù)據(jù)庫即可實(shí)現(xiàn)關(guān)鍵信息查詢,軟件開銷很小,非常便捷。
當(dāng)需要建立資料元數(shù)據(jù)庫時(shí),通過二維碼識(shí)別亦可快速完成建庫數(shù)據(jù)準(zhǔn)備。
3.3實(shí)地巡檢與公眾參與
二維碼制作成本低廉,具有批量制印到客觀實(shí)體上的可能,通過簡單的掃描碼手段可促進(jìn)社會(huì)公眾參與城市管理。公眾參與度的提升,對(duì)于搞好城市管理至關(guān)重要。
以地下管線數(shù)據(jù)庫應(yīng)用為例,在地下管線附屬物上制印上二維碼或增加二維碼銘牌。實(shí)地巡視核查時(shí),不用通過電話或網(wǎng)絡(luò),直接掃描二維碼獲取信息,將極大提高管理效率。同時(shí),便于公眾社會(huì)管理參與,可以較好地減少或消除很多突發(fā)事件隱患。
3.4數(shù)據(jù)保密
在日常測繪業(yè)務(wù)中,有涉密數(shù)據(jù),數(shù)據(jù)量小,涉密等級(jí)較低。使用專業(yè)加密設(shè)備操作繁瑣,且有時(shí)受現(xiàn)場條件所限,不便于使用電子存儲(chǔ)設(shè)備。此時(shí),使用加密二維碼便可以解決問題,便于攜帶和傳輸,從而提高作業(yè)效率。
3.5地圖出版
在傳統(tǒng)地圖基礎(chǔ)上,拓展手機(jī)應(yīng)用是地圖適應(yīng)科技發(fā)展的趨勢,二維碼應(yīng)用是解決這一問題的利器。
紙質(zhì)地圖的“一覽性”能提供宏觀空間地理信息,通過二維碼拓展閱讀可以為游客提供更加便利、貼心的增值服務(wù),成為傳統(tǒng)地圖行業(yè)轉(zhuǎn)型升級(jí)的新模式。
寧波市發(fā)布了奉化市景區(qū)二維碼手繪地圖,該地圖整合了傳統(tǒng)地圖和旅游基礎(chǔ)數(shù)據(jù),涵蓋當(dāng)?shù)芈糜纬鞘行麄魍茝V片、自助騎行步行線路以及地方旅游小吃等內(nèi)容,方便游客通過智能手機(jī)快速獲取信息[2]。
二維條碼具有可讀而不可改寫的特性,能夠?qū)崿F(xiàn)驗(yàn)證防偽,在抑制盜版地圖方面具有一定的作用。通過驗(yàn)證碼和出版信息的約束,可以很快識(shí)別盜版地圖,對(duì)于盜版者形成一定威懾力。
在筆者撰寫的文獻(xiàn)[3]中,對(duì)紙質(zhì)地圖的拓展應(yīng)用進(jìn)行了探討,地圖二維碼應(yīng)成為紙質(zhì)地圖拓展應(yīng)用的熱點(diǎn)之一。
二維碼作為一種新的信息存儲(chǔ)、傳遞和識(shí)別技術(shù),可以把很多數(shù)字化信息進(jìn)行編碼,以條碼的形式表現(xiàn)出來,手機(jī)用戶可以通過攝像頭和解碼軟件將相關(guān)信息重新解碼并查看內(nèi)容。二維碼技術(shù)的低成本和較高的效率使得其應(yīng)用愈發(fā)“親民”,在全球各行業(yè)的應(yīng)用將日益廣泛。
有著“移動(dòng)互聯(lián)網(wǎng)入口”之稱的二維碼,結(jié)合數(shù)據(jù)庫以及地理信息移動(dòng)技術(shù),在今后的城市管理、應(yīng)急處理、智慧城市和物聯(lián)網(wǎng)建設(shè)等方面具有廣闊的應(yīng)用空間。
作為從事基礎(chǔ)地理數(shù)據(jù)生成的測繪地理信息行業(yè),可以結(jié)合自身優(yōu)勢,充分發(fā)揮二維碼技術(shù)的特性,從而推動(dòng)行業(yè)發(fā)展。
參考文獻(xiàn)
[1] 吳劍波.二維碼識(shí)別技術(shù)在測量設(shè)備管理中的應(yīng)用[J].上海計(jì)量測試,2011(5).
[2] 王?。罨l(fā)布國內(nèi)首張縣級(jí)城市智慧旅游手繪地圖[EB/ OL].http:/ / news.cnnb.com.cn/ ,2012-12-27
[3] 李杰,石瑜,段曉鶴等.紙質(zhì)地圖的應(yīng)用拓展及創(chuàng)新發(fā)展[J].城市勘測,2015(2).
[4] 盛秋康.二維碼編解碼技術(shù)的研究與應(yīng)用[D].南京:南京理工大學(xué),2012.
[5] GB/ T 16829-2003/ IEC 16390:1999.信息技術(shù)、自動(dòng)識(shí)別與數(shù)據(jù)采集技術(shù)條碼制規(guī)范、交插二五條碼[S].
[6] GB/ T 18284-2000.快速響應(yīng)矩陣碼[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
文章編號(hào):1672-8262(2015)06-132-03中圖分類號(hào):P209
文獻(xiàn)標(biāo)識(shí)碼:B
收稿日期:?2015—07—09
作者簡介:李杰(1974—),男,正高職高級(jí)工程師,注冊測繪師,主要從事技術(shù)管理與地理信息軟件研發(fā)工作。