李杰,李文輝,石瑜(石家莊市勘察測繪設計研究院,河北石家莊 050019)
二維碼技術實現及其在測繪中的應用
李杰?,李文輝,石瑜
(石家莊市勘察測繪設計研究院,河北石家莊 050019)
摘 要:二維碼作為一種信息的存儲和傳遞技術,在眾多行業獲得廣泛應用,測繪業務中也有其發揮優勢的空間。本文重點介紹二維碼技術及其具體編程實現過程,結合具體測繪業務,總結其在設備與資料管理、數據實地巡檢與公眾參與、數據保密以及地圖出版等方面的應用,并通過部分實例進行了說明。對二維碼的應用前景進行了預測,以期對同行有所借鑒,促進二維碼在測繪與地理信息行業中的應用。
關鍵詞:二維碼;實現;應用;QR Code;地圖
二維碼是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息。在代碼編制上巧妙利用構成計算機內部邏輯基礎的“0”、“1”比特流概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,通過圖像輸入設備或光電掃描設備可以自動識讀以實現信息自動處理。
常用的二維碼制有:Data Matrix,Maxi Code,Aztec, QR Code,Vericode,PDF417等,其中QR碼起源于日本,已成為目前流行的二維空間條碼之一。
二維碼從誕生之時就受到國際社會的廣泛關注,在眾多領域得到廣泛推廣。本文結合測繪相關業務,探討二維碼技術的實現及應用。
少量數據信息的二維碼可以通過互聯網制作軟件來實現,批量數據生成專業應用或信息數據涉密時,獨立編程實現更為便捷。
本文以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.1設備管理
測繪單位擁有較多的儀器設備,儀器表面可貼面積小,采用口取紙標簽書寫內容有限。二維碼可以將儀器的參數如設備編號、檢查時間、狀態、技術指標、供應商電話、網址、責任人、使用注意事項等信息蘊含其中,便于儀器的保管、維修與使用。
在儀器使用過程中,作業人員需要查閱儀器檢定證書,證書為紙質,反復查閱難免有折舊,還可能會造成損壞、遺失等。引入二維碼技術后,一塊10 mm ×10 mm的標簽足夠容納儀器主要檢定參數[1],便于使用,可以多人同時借閱。
3.2資料管理
測繪紙質資料提交、管理、借閱以及日常作業過程會涉及很多元數據(如項目編號、類型、委托單位、位置、作業人員、完成日期、檢查人員、檢查日期、經手人、提交日期、內容關鍵字等),將上述信息存儲在二維碼中作為資料存檔,借閱者不用借助數據庫即可實現關鍵信息查詢,軟件開銷很小,非常便捷。
當需要建立資料元數據庫時,通過二維碼識別亦可快速完成建庫數據準備。
3.3實地巡檢與公眾參與
二維碼制作成本低廉,具有批量制印到客觀實體上的可能,通過簡單的掃描碼手段可促進社會公眾參與城市管理。公眾參與度的提升,對于搞好城市管理至關重要。
以地下管線數據庫應用為例,在地下管線附屬物上制印上二維碼或增加二維碼銘牌。實地巡視核查時,不用通過電話或網絡,直接掃描二維碼獲取信息,將極大提高管理效率。同時,便于公眾社會管理參與,可以較好地減少或消除很多突發事件隱患。
3.4數據保密
在日常測繪業務中,有涉密數據,數據量小,涉密等級較低。使用專業加密設備操作繁瑣,且有時受現場條件所限,不便于使用電子存儲設備。此時,使用加密二維碼便可以解決問題,便于攜帶和傳輸,從而提高作業效率。
3.5地圖出版
在傳統地圖基礎上,拓展手機應用是地圖適應科技發展的趨勢,二維碼應用是解決這一問題的利器。
紙質地圖的“一覽性”能提供宏觀空間地理信息,通過二維碼拓展閱讀可以為游客提供更加便利、貼心的增值服務,成為傳統地圖行業轉型升級的新模式。
寧波市發布了奉化市景區二維碼手繪地圖,該地圖整合了傳統地圖和旅游基礎數據,涵蓋當地旅游城市宣傳推廣片、自助騎行步行線路以及地方旅游小吃等內容,方便游客通過智能手機快速獲取信息[2]。
二維條碼具有可讀而不可改寫的特性,能夠實現驗證防偽,在抑制盜版地圖方面具有一定的作用。通過驗證碼和出版信息的約束,可以很快識別盜版地圖,對于盜版者形成一定威懾力。
在筆者撰寫的文獻[3]中,對紙質地圖的拓展應用進行了探討,地圖二維碼應成為紙質地圖拓展應用的熱點之一。
二維碼作為一種新的信息存儲、傳遞和識別技術,可以把很多數字化信息進行編碼,以條碼的形式表現出來,手機用戶可以通過攝像頭和解碼軟件將相關信息重新解碼并查看內容。二維碼技術的低成本和較高的效率使得其應用愈發“親民”,在全球各行業的應用將日益廣泛。
有著“移動互聯網入口”之稱的二維碼,結合數據庫以及地理信息移動技術,在今后的城市管理、應急處理、智慧城市和物聯網建設等方面具有廣闊的應用空間。
作為從事基礎地理數據生成的測繪地理信息行業,可以結合自身優勢,充分發揮二維碼技術的特性,從而推動行業發展。
參考文獻
[1] 吳劍波.二維碼識別技術在測量設備管理中的應用[J].上海計量測試,2011(5).
[2] 王?。罨l布國內首張縣級城市智慧旅游手繪地圖[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—),男,正高職高級工程師,注冊測繪師,主要從事技術管理與地理信息軟件研發工作。