孟凡姿,宣丙龍
(吉林建筑大學(xué)城建學(xué)院 電氣信息工程系,長春 130114)
基于MIF格式的地圖數(shù)據(jù)存儲方法研究
孟凡姿,宣丙龍
(吉林建筑大學(xué)城建學(xué)院 電氣信息工程系,長春 130114)
在分析地圖數(shù)據(jù)模型和實際需求的基礎(chǔ)上,設(shè)計一種二進制數(shù)據(jù)存儲方式存儲地圖數(shù)據(jù)。針對經(jīng)緯度坐標(biāo)到平面坐標(biāo)轉(zhuǎn)換計算較為復(fù)雜的情況,本文建立線性轉(zhuǎn)化模型實現(xiàn)地心地固(Earth-centered, Earth-fixed, ECEF)坐標(biāo)系下經(jīng)緯度坐標(biāo)到本地坐標(biāo)系下平面坐標(biāo)的快速轉(zhuǎn)換,分開存儲屬性信息和幾何數(shù)據(jù)信息,建立兩種數(shù)據(jù)的交互索引關(guān)系。在保證地圖精度的條件下,提出整型數(shù)據(jù)代替浮點數(shù)據(jù)的存儲方式,減小數(shù)據(jù)存儲的物理空間的同時,提高了地圖幾何數(shù)據(jù)到屏幕坐標(biāo)的轉(zhuǎn)換效率,加快了地圖繪制的速度。
地圖數(shù)據(jù);坐標(biāo)轉(zhuǎn)化;數(shù)據(jù)存儲
隨著工業(yè)自動化程度的日益提高,可編程控制器和組態(tài)軟件相結(jié)合[1]的使用越來越普遍。在目前的很多自控系統(tǒng)中,常常選用PLC作為現(xiàn)場級的控制設(shè)備,用于數(shù)據(jù)采集和控制。而在系統(tǒng)上位機上利用工控組態(tài)軟件來完成工業(yè)流程及控制參數(shù)的顯示實現(xiàn)生產(chǎn)監(jiān)控和管理等功能[2]。
地圖數(shù)據(jù)包含幾何數(shù)據(jù)和屬性數(shù)據(jù)兩類子數(shù)據(jù),由它們共同組成的一條記錄代表電子地圖中的一個具體圖元[1]。幾何數(shù)據(jù)反映了圖元所對應(yīng)的實物在地理實體中的實際空間位置,它通過坐標(biāo)形式給出,如經(jīng)緯度坐標(biāo)形式。按形狀劃分,幾何數(shù)據(jù)可以分為點型數(shù)據(jù)、線型數(shù)據(jù)以及區(qū)域型數(shù)據(jù);按類型劃分,幾何數(shù)據(jù)可分為固有數(shù)據(jù)和拓撲數(shù)據(jù)[2]。屬性數(shù)據(jù)反映了地圖圖元位置以外的其他信息,它是對圖元的具體描述,屬性數(shù)據(jù)與幾何數(shù)據(jù)的結(jié)合構(gòu)成了完整的地圖圖元數(shù)據(jù)[2]。
地圖按照組織結(jié)構(gòu)的不同可分為矢量地圖和柵格地圖,相應(yīng)地,地圖數(shù)據(jù)形式包括矢量形式和柵格形式兩種[2]。在柵格形式的地圖數(shù)據(jù)中,采用橫豎交織的網(wǎng)格線對地圖進行分割處理,且一般要滿足一個條件,即平行相鄰的網(wǎng)格線之間的跨度是相等的。這樣地圖會被分為一個個的小的正方形區(qū)域,每個小正方形區(qū)域代表一個信息,單位地圖區(qū)域內(nèi)網(wǎng)格線的數(shù)量越多,則被分割出的正方形區(qū)域越多,這意味著柵格地圖的分辨率越高。
不同于柵格形式地圖數(shù)據(jù)的離散化效果,矢量形式的地圖數(shù)據(jù)將地圖看作是一個連續(xù)的整體,地圖中的任意小的一個點都有自己唯一的坐標(biāo),且其一定在地圖所跨越的坐標(biāo)范圍內(nèi)。
很顯然,柵格形式地圖數(shù)據(jù)和矢量形式地圖數(shù)據(jù)在表達方式上差別很大,但它們都能有效地完成地圖的繪制,且能夠反映出地圖圖元的空間分布情況。由于柵格形式數(shù)據(jù)有固定分辨率特性,決定了它不適于對地圖進行縮放操作,而且它的數(shù)據(jù)離散特點也令其很難滿足地圖匹配和路徑尋優(yōu)等算法的需求,所以在導(dǎo)航系統(tǒng)中,地圖應(yīng)該采用矢量數(shù)據(jù)形式進行表達。
MapInfo軟件在地圖數(shù)據(jù)處理方面技術(shù)成熟,它能夠與很多其他地圖數(shù)據(jù)文件兼容,是目前應(yīng)用最為廣泛的地圖繪制軟件之一。按照基本的地圖數(shù)據(jù)模型,在MapInfo軟件中,也是將地圖圖元分為點圖元、線圖元和區(qū)域圖元三種不同的類型[3],它們對應(yīng)的地圖數(shù)據(jù)則為點型、線型和區(qū)域型,這些數(shù)據(jù)是以矢量形式進行組織的。
2.1 TAB型數(shù)據(jù)
MapInfo對地圖數(shù)據(jù)的組織分為兩種形式,一種為TAB型數(shù)據(jù)形式,另一種為MIF型數(shù)據(jù)形式。前者所包含的數(shù)據(jù)信息更加全面,相比于前者,后者只包含了部分數(shù)據(jù)信息。TAB型數(shù)據(jù)是MapInfo軟件存儲地圖的原始數(shù)據(jù)形式,它是一種專用的數(shù)據(jù)格式,其必須要在MapInfo軟件上才能順利地繪制地圖,同時,它也作為MapInfo公司的商業(yè)機密而存在,這就決定了它的具體格式和結(jié)構(gòu)是對外保密的。由此引入對MIF數(shù)據(jù)格式的研究。
2.2 MIF型數(shù)據(jù)
為了對原始的TAB型數(shù)據(jù)進行保護,同時方便用戶利用地圖數(shù)據(jù)開發(fā)出更多的功能,MapInfo公司提供了一種對用戶公開的數(shù)據(jù)文件,并將之命名為MIF格式數(shù)據(jù)文件,它是對原始數(shù)據(jù)進行了裁剪的結(jié)果,去除了TAB型數(shù)據(jù)所擁有的拓撲數(shù)據(jù),MIF格式數(shù)據(jù)的優(yōu)點就是以ASCII方式進行存儲,令人一目了然,方便與其他地圖軟件交換信息。
MIF格式數(shù)據(jù)對圖元的存儲是分為兩個文件進行的,一個是擴展名為.MID的文件,該文件用于存儲圖元的名稱、ID號等屬性數(shù)據(jù)信息,一個是擴展名為.MIF的文件,與屬性數(shù)據(jù)對應(yīng),該文件主要存儲圖元的幾何數(shù)據(jù)信息[3]。
3.1 二進制數(shù)據(jù)存儲
根據(jù)數(shù)據(jù)存儲方式的不同,數(shù)據(jù)存儲包括二進制方式存儲和ASCII方式存儲,它們都可以完成對地圖數(shù)據(jù)的存儲任務(wù),不同的是ASCII方式存儲要占用較大的存儲空間,造成不必要的空間浪費,而二進制存儲占用的空間相對較小,且對所存儲內(nèi)容存在加密效果。因此,針對嵌入式系統(tǒng)來說,二進制存儲更能滿足要求,能提高其數(shù)據(jù)處理效率。在具體的存儲過程中,對不同類型的數(shù)據(jù)進行有針對性的處理,保證其占用的存儲空間為最小。在坐標(biāo)信息的存儲過程中,不采用浮點型數(shù)據(jù)進行存儲的方式,而是用32位無符號整形代替浮點型進行存儲,在存儲前對原始數(shù)據(jù)進行相應(yīng)的放大處理,確保其有足夠的精度來滿足導(dǎo)航系統(tǒng)的相應(yīng)要求。針對不同的圖元信息,將它們區(qū)分為點、線、區(qū)域三大類別,對每種類別又分別采用兩個文件來存儲它們的地圖數(shù)據(jù)信息,一個是屬性索引文件,另一個是幾何數(shù)據(jù)文件。屬性索引文件存儲的是各個圖元的基本屬性信息,幾何數(shù)據(jù)文件存儲的是相應(yīng)圖元的空間數(shù)據(jù)信息和詳細屬性信息,對于兩個文件中的同一圖元,分別設(shè)置了偏移信息來進行相互索引,保證其對相同的圖元能夠快速的實現(xiàn)信息融合,無論是對地圖繪制,還是對信息搜尋,這樣的結(jié)構(gòu)都有很大的好處。
3.2 坐標(biāo)的線性轉(zhuǎn)化法
因為從MIF格式地圖數(shù)據(jù)中只能得到基于WGS-84坐標(biāo)系的經(jīng)緯度坐標(biāo),而經(jīng)緯度坐標(biāo)是不能直接用于地圖繪制的[4],要進行地圖繪制,就必須將經(jīng)緯度坐標(biāo)轉(zhuǎn)換為平面坐標(biāo),然后再將平面坐標(biāo)轉(zhuǎn)換為屏幕像素坐標(biāo)[5]。本文研究處理的地圖數(shù)據(jù)是哈爾濱市地圖數(shù)據(jù),所以用Beijing-54坐標(biāo)系的平面坐標(biāo)最為符合[6]。將經(jīng)緯度坐標(biāo)轉(zhuǎn)換為平面坐標(biāo)之后,就可以經(jīng)過進一步的轉(zhuǎn)換而繪制電子地圖。
在WGS-84坐標(biāo)系下,令某一點的經(jīng)緯度坐標(biāo)轉(zhuǎn)換為平面坐標(biāo),可以通過高斯投影,但運算較為復(fù)雜,不適于在嵌入式設(shè)備上進行。針對這種情況,本文設(shè)計了一種坐標(biāo)的線性轉(zhuǎn)化法來實現(xiàn)經(jīng)緯度坐標(biāo)到平面坐標(biāo)的轉(zhuǎn)換工作,在地圖數(shù)據(jù)處理階段,可以用該方法將數(shù)據(jù)轉(zhuǎn)換后進行存儲,在導(dǎo)航定位期間,可以用該方法對衛(wèi)星接收模塊接收到的定位經(jīng)緯度信息進行轉(zhuǎn)換,以此減輕嵌入式設(shè)備的運算壓力,若已知某點的經(jīng)緯度坐標(biāo)為(lon,lat),則該轉(zhuǎn)化方法如下
(1)
式中,east代表完成坐標(biāo)轉(zhuǎn)換后的東向坐標(biāo),north表示完成坐標(biāo)轉(zhuǎn)換后的北向坐標(biāo),a,b,c,d,e,f為轉(zhuǎn)化模型的6個參數(shù)。
MapInfo軟件有各坐標(biāo)之間的轉(zhuǎn)換模塊,應(yīng)用軟件模塊可以完成WGS-84坐標(biāo)系下的經(jīng)緯度坐標(biāo)到Beijing-54坐標(biāo)系下的平面坐標(biāo)的轉(zhuǎn)換[7],為了使利用線型轉(zhuǎn)化法轉(zhuǎn)換后的坐標(biāo)誤差較小,選取一定數(shù)量的有代表性的參考點,它們的經(jīng)緯度坐標(biāo)信息為已知信息,然后,應(yīng)用MapInfo軟件的坐標(biāo)轉(zhuǎn)換得到它們在Beijing-54坐標(biāo)系下的平面坐標(biāo)信息,將這些坐標(biāo)信息代入到公式1中,運用最小二乘法求出模型中相應(yīng)的6個參數(shù)。
3.3 數(shù)據(jù)處理過程
本文對哈爾濱市地圖進行了數(shù)據(jù)處理,其中的兩個關(guān)鍵技術(shù)就是線性坐標(biāo)轉(zhuǎn)換和二進制數(shù)據(jù)存儲。前文已經(jīng)做了詳盡的闡述,這里只對數(shù)據(jù)處理的過程進行描述,它在總體上分為兩個步驟來進行。
(1)第一步數(shù)據(jù)處理
第一步數(shù)據(jù)處理的目的是把MIF格式地圖數(shù)據(jù)不同圖層的數(shù)據(jù)信息進行提取,保存有用信息并根據(jù)數(shù)據(jù)類型的差別分為點、線和區(qū)域三個文本文件進行存貯,初步實現(xiàn)地圖數(shù)據(jù)的壓縮。
(2)第二步數(shù)據(jù)處理
第二步數(shù)據(jù)處理的目的是把第一步得到的每個文本進行信息提取并保存為二進制形式的索引文件和數(shù)據(jù)文件,進一步實現(xiàn)地圖數(shù)據(jù)的壓縮。在數(shù)據(jù)處理過程中涉及到經(jīng)緯度坐標(biāo)到東北坐標(biāo)的坐標(biāo)轉(zhuǎn)換工作。
經(jīng)過本文的地圖數(shù)據(jù)處理,文件得到了較大的壓縮,且最后存儲的文件為二進制形式,既方便機器閱讀,又具有加密特性。
3.4 平面坐標(biāo)到屏幕坐標(biāo)的轉(zhuǎn)換
在前面的地圖數(shù)據(jù)處理過程中,我們已經(jīng)將WGS-84坐標(biāo)系下的經(jīng)緯度坐標(biāo)轉(zhuǎn)換成了Beijing-54平面坐標(biāo)下的東北坐標(biāo),并且是以東北坐標(biāo)的形式存儲在地圖數(shù)據(jù)文件中,但這樣的坐標(biāo)在地圖繪制中是不能直接采用的,必須將其轉(zhuǎn)換為屏幕坐標(biāo)后才能進行地圖的繪制。電子地圖在顯示過程中往往都是將其一部分繪制在屏幕上,所以為了加快顯示速度,沒有必要將所有地圖數(shù)據(jù)都進行坐標(biāo)轉(zhuǎn)換,只要將需要顯示的部分進行坐標(biāo)轉(zhuǎn)換即可,如圖1所示。
圖1 地圖顯示示意圖
本文存儲的平面東北坐標(biāo)以厘米為單位,原點在左下角,向右為x軸正方向,向上為y軸正方向,而屏幕坐標(biāo)以像素為單位,其原點在左上角,向右為X軸正正向,向下為Y軸正方向[8]。坐標(biāo)轉(zhuǎn)換如圖2所示。
圖2 地圖坐標(biāo)轉(zhuǎn)換示意圖
(2)
式中,xScale、yScale分別代表屏幕上在X方向和Y方向一個像素所代表的地圖范圍,即橫縱坐標(biāo)的比例系數(shù),因為本文所用ARM嵌入式系統(tǒng)的屏幕規(guī)格為480×272,所以xScale和yScale的具體實現(xiàn)如下:
(3)
經(jīng)過這樣的處理,雖然能充分利用屏幕資源顯示當(dāng)前截取的地圖區(qū)域,但是由于比例系數(shù)xScale和yScale的不同,會使地圖存在橫向或縱向的拉伸狀況。為了更加真實地還原地理狀況,同時又要包含截取地圖區(qū)域,所以選取xScale和yScale中較大的一個作為比例系數(shù),替換掉原來較小的比例系數(shù),從而使比例系數(shù)統(tǒng)一,將統(tǒng)一后的比例系數(shù)記為Scale,則:
(4)
利用統(tǒng)一后的比例系數(shù),通過如下公式改變原來截取的地圖范圍:
minX=minX
minY=minY
maxX=minX+272×Scale
maxY=minY+480×Scale
(5)
將公式4中的Scale和公式5中的新范圍代入公式2,則原式變?yōu)椋?/p>
(6)
通過上面的坐標(biāo)轉(zhuǎn)換,會使地圖在原有基礎(chǔ)上增加一部分區(qū)域,拉伸現(xiàn)象消失。
路徑導(dǎo)航需要依靠電子地圖作為支撐,地圖數(shù)據(jù)作為電子地圖的基礎(chǔ),不僅應(yīng)該包含完整的地理信息,而且應(yīng)該具有良好的數(shù)據(jù)結(jié)構(gòu),以便減小地圖數(shù)據(jù)占用的空間,加快地圖的繪制速度。從而能夠快速準(zhǔn)確的幫助駕駛員進行路徑規(guī)劃。
[1] 王三軍. GPS導(dǎo)航電子地圖的應(yīng)用研究[D].上海:同濟大學(xué),2007.
[2] 胡衛(wèi)民,徐雪仁,郭建恩,等. 空間數(shù)據(jù)庫引擎(SDE)在地圖資源數(shù)據(jù)庫管理中的應(yīng)用[J]. 國土資源遙感,2000(4):67-70.
[3] 楊倫,彭春光,黃健,等.兵棋推演中地形量化算法研究與實現(xiàn)[J].計算機仿真,2008(9):96-99.
[4] 斯亮.嵌入式GPS/GIS導(dǎo)航系統(tǒng)的研究與設(shè)計[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.
[5] 王開拓.基于電子紙的嵌入式電子地圖設(shè)計與開發(fā)[D].西安:西安電子科技大學(xué),2011.
[6] 周文彬,朱德好.GPS坐標(biāo)成果空間坐標(biāo)系轉(zhuǎn)換及精度分析[J].測繪與空間地理信息,2007(3):147-149.
[7] 張勇剛.電子海圖快速拼圖顯示技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2004.
[8] 劉毅.車載定位導(dǎo)航系統(tǒng)的研究與實現(xiàn)[D].鎮(zhèn)江:江蘇大學(xué),2007.
責(zé)任編輯:程艷艷
Research of Map Data Storage Method Based on MIF Format
MENG Fanzi, XUAN Binglong
(Department of Electrical and Information Engineer, City College of Jilin Jianzhu University, Changchun 130114, China)
Based on analyzing map data model and the actual needs, this paper designs a binary data storage method to store map data. In view of the situation that the calculation of conversing the longitude and latitude coordinates to plane coordinate is complex, it establishes a linear transformation model to converse rapidly the longitude and latitude coordinates in ECEF to the plane coordinate in local coordinate system, separating attribute information from geometric data information in an interactive indexing storage way. Integer data type is used to take place of floating-point data under the condition of ensuring the accuracy of map, which can further reduce the data storage space, improve the efficiency of conversing geometric data of map to the screen coordinate and speed up the map rendering speed.
map data; coordinate transformation; data storage
2016-08-21
孟凡姿(1982-),女,山東諸城人,講師,碩士,主要從事控制理論與控制工程方面研究。
P208
A
1009-3907(2016)12-0029-04