一種利用打包技術(shù)解決地圖瓦片存儲的方法
【專利摘要】本發(fā)明公開了一種利用打包技術(shù)解決地圖瓦片存儲的方法,包括以下步驟:整理所有層的瓦片文件,并對其進行統(tǒng)一化命名;根據(jù)每一層中瓦片文件的個數(shù)決定打包文件的組織結(jié)構(gòu);打包文件根目錄增加一個配置資源,用來存儲瓦片的尺寸、命名規(guī)則、圖片類型和組織結(jié)構(gòu),每層對應(yīng)一個打包文件;根據(jù)具體任務(wù)使用打包文件,轉(zhuǎn)移、FTP下載、FTP上傳或發(fā)布。本發(fā)明利用帶索引的打包文件提高查詢效率,最大限度減小算法的時間復(fù)雜度。有效減少了節(jié)點的搜索數(shù)目,有效提高了算法的實時性,并保證了查找的準(zhǔn)確性。同時,也有效提高了查詢效率和有效節(jié)省了查詢時間。
【專利說明】一種利用打包技術(shù)解決地圖瓦片存儲的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種利用打包技術(shù)解決地圖瓦片存儲的方法。
【背景技術(shù)】
[0002] 瓦片地圖模型是一種多分辨率層次模型,從模型的第0層開始到頂層,分辨率越 來越低,但表示的地理范圍不變。首先把縮放級別最低、地圖比例尺最大的地圖圖片作為模 型的底層,即第〇層,并對其進行分塊,從地圖圖片的左上角開始,從左至右、從上到下進行 切割,分割成相同大?。ū热?56x256像素)的正方形地圖瓦片,形成第0層瓦片矩陣;在 第〇層地圖圖片的基礎(chǔ)上,按每2x2像素合成為一個像素的方法生成第1層地圖圖片,并對 其進行分塊,分割成與下一層相同大小的正方形地圖瓦片,形成第1層瓦片矩陣;采用同樣 的方法生成第2層瓦片矩陣;直到第N層,構(gòu)成整個瓦片模型。
[0003] 從上述原理可以看出,每層瓦片矩陣的塊個數(shù)成4的倍數(shù)增長,以最簡單的第0層 1張圖片為例,第一層為1*4 = 4,第二層1*4*4 = 16,第三層1*4*4*4,…;如此下去,第 10層將是4的10次方,等于1048576,數(shù)量已經(jīng)相當(dāng)可觀了。在常見的文件系統(tǒng)中,存儲、 轉(zhuǎn)移、拷貝和發(fā)布這些數(shù)量龐大的文件時,都會面臨耗時的等待問題。如果向第三方發(fā)布瓦 片文件,還將面臨數(shù)據(jù)保護問題。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明為了解決上述問題,提出了一種利用打包技術(shù)解決地圖瓦片存儲的方法, 本方法將地圖瓦片內(nèi)容按照一定的命名規(guī)則和組織結(jié)構(gòu),存儲在一個打包文件內(nèi)的方法。 此種方式既有效的解決了存儲、轉(zhuǎn)移、拷貝和發(fā)布地圖瓦片時的耗時問題,又較好的執(zhí)行了 數(shù)據(jù)保護。
[0005] 為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0006] -種利用打包技術(shù)解決地圖瓦片存儲的方法,包括以下步驟:
[0007] (1)整理所有層的瓦片文件,并對其進行統(tǒng)一化命名;
[0008] (2)根據(jù)每一層中瓦片文件的個數(shù)決定打包文件的組織結(jié)構(gòu);
[0009] (3)打包文件根目錄增加一個配置資源,用來存儲瓦片的尺寸、命名規(guī)則、圖片類 型和組織結(jié)構(gòu),每層對應(yīng)一個打包文件;
[0010] (4)根據(jù)具體任務(wù)使用打包文件,轉(zhuǎn)移、FTP下載、FTP上傳或發(fā)布。
[0011] 所述步驟(1)中,按照先行后列的命名原則整理所有層的瓦片文件。
[0012] 所述步驟(2)中,如果瓦片文件個數(shù)小于65535,則打包文件中不分級;否則將打 包文件分為兩級,第一級使用行號命名,第二級使用列號命名;分級既有利于使機構(gòu)變得清 晰,亦有利于瓦片的快速查找。
[0013] 所述步驟(2)中,具體包括以下步驟:
[0014] (i)獲取本層瓦片的總個數(shù);
[0015] (ii)如果瓦片總個數(shù)小于65535,則直接將所有文件放在同一級目錄內(nèi)打包入文 件;將此類屬性的地圖層稱為"小地圖";
[0016] (iii)如果瓦片總個數(shù)小于65535,則直接將所有文件放在同一級目錄內(nèi)打包入 文件;將此類屬性的地圖層稱為"小地圖"。
[0017] 所述步驟(3)中,具體步驟包括:使用XML格式存儲配置數(shù)據(jù),分別定義大地圖、小 地圖的瓦片的矩陣行數(shù)、列數(shù)、命名模式、開始行號、開始列號、地圖的大小屬性、瓦片的屬 性、瓦片的名稱、是否通配、寬度與高度。
[0018] 所述步驟(4)中,每層對一個打包文件,具體步驟包括:
[0019] (a)準(zhǔn)備打包文件的文件頭;
[0020] (b)開始資源系統(tǒng):如果是小地圖,依次添加瓦片文件到打包文件的根目錄;如果 是大地圖,首先根據(jù)當(dāng)前行號增加文件夾結(jié)構(gòu),然后將同行瓦片添加到此目錄;
[0021] (C)生成xml配置文件,并將文件添加到打包文件的根目錄。
[0022] 所述步驟(5)中,使用打包文件的方法具體包括:
[0023] ㈧轉(zhuǎn)移:拷貝打包文件到其它任何需要的地方,拷貝一個大文件要比拷貝同等 總大小,但數(shù)量多的小文件,速度要快上幾十倍;
[0024] (B) FTP下載:可選擇從FTP服務(wù)器下載整個打包文件,然后解壓使用或不解壓直 接使用;或選擇從FTP上邊下載,邊在內(nèi)存中解壓瓦片文件,不需要在本地磁盤存儲龐大的 中間文件;
[0025] (C)FTP上傳:可選擇在本地生成打包文件后,再上傳打包文件到FTP服務(wù)器;或者 直接邊在內(nèi)存中打包,邊上傳到FTP服務(wù)器,不需要在本地磁盤存儲龐大的中間文件;
[0026] (D)發(fā)布:向第三方合作伙伴或客戶直接發(fā)布打包文件。
[0027] 資源,代表單個獨立的實體,其包含資源名稱、創(chuàng)建、修改時期、數(shù)據(jù)大小、是否壓 縮、壓縮大小和實際的資源數(shù)據(jù);資源組,代表一組資源的分組,其包含組名稱、創(chuàng)建、修改 日期和資源系統(tǒng);資源系統(tǒng),各類資源總成的抽象概念,打包文件的文件體就是一個完整的 資源系統(tǒng),其包含資源的總個數(shù)和資源或資源組的總個數(shù)和資源組。
[0028] 資源系統(tǒng)的組成為自描述結(jié)構(gòu),整個系統(tǒng)的層次、命名和日期信息,連續(xù)存儲在整 個文件體中,實現(xiàn)向FTP服務(wù)器邊打包邊上傳,和從FTP服務(wù)器邊下載邊解包。
[0029] 本發(fā)明的有益效果為:
[0030] (1)在計算機或各種手持嵌入式可移動設(shè)備地圖瓦片存儲處理【技術(shù)領(lǐng)域】是一個 新的突破,全面解決了轉(zhuǎn)移、發(fā)布效率低的問題,提供了一種地理信息處理【技術(shù)領(lǐng)域】的新思 路;
[0031] (2)利用打包文件來存儲地圖瓦片,最大限度地減少文件系統(tǒng)的負擔(dān),這樣不僅提 高了文件的查找、拷貝、轉(zhuǎn)移和發(fā)布效率,也會有效提高計算機或者各種手持嵌入式可移動 設(shè)備的存儲使用效率,有效提高了各種設(shè)備的運行效率;
[0032] (3)利用帶索引的打包文件提高查詢效率,最大限度減小算法的時間復(fù)雜度。有效 減少了節(jié)點的搜索數(shù)目,有效提高了算法的實時性,并保證了查找的準(zhǔn)確性。同時,也有效 提高了查詢效率和有效節(jié)省了查詢時間。
【專利附圖】
【附圖說明】
[0033] 圖1為本發(fā)明的總體流程圖;
[0034] 圖2為本發(fā)明的瓦片打包的流程圖;
[0035] 圖3為本發(fā)明的瓦片使用流程圖;
[0036] 圖4為本發(fā)明的小地圖層次示意圖;
[0037] 圖5為本發(fā)明的大地圖層次示意圖。
【具體實施方式】:
[0038] 下面結(jié)合附圖與實施例對本發(fā)明作進一步說明。
[0039] 如圖1所示,首先按照一定的命名規(guī)則整理地圖瓦片文件,然后將瓦片文件打包, 打包完成后,生成配置數(shù)據(jù)存入打包文件,最后打包文件生成成功后,使用打包文件。
[0040] 整理瓦片文件,按照先行后列的命名規(guī)則整理瓦片文件,例如第1行,第1列,命名 ylxl。第m行,第η列,命名ymxn。此種命名方法,簡單易懂,不會重名,且易于后期處理和 使用,y表示行,X表示列,第m行,第η列,表示成ymxn。
[0041] 如圖4、5所示,打包處理,依據(jù)瓦片的個數(shù),分為兩種打包方式,個數(shù)小于65535的 不分層,所有瓦片數(shù)據(jù)同層存儲在根目錄下,約定將此類屬性的地圖層稱為"小地圖";大于 65535的,分為兩層存儲,第一層使用行號命名,第二層使用列號命名,第二層存儲瓦片數(shù) 據(jù),約定將此類屬性的地圖層稱為"大地圖"。
[0042] 配置數(shù)據(jù),對瓦片的一些屬性使用XML格式存儲,并打包入打包文件,后期使用打 包文件內(nèi)容時,將以此配置數(shù)據(jù)內(nèi)的內(nèi)容為依據(jù)。
[0043] 使用打包文件,打包文件不解壓,就可以直接在軟件中使用,根據(jù)索引數(shù)據(jù)查詢瓦 片文件位置,然后讀取瓦片數(shù)據(jù)使用。
[0044] 如圖2所示,進一步說明如下:
[0045] 步驟一、獲取本層瓦片的總個數(shù);
[0046] 步驟二、如果瓦片總個數(shù)小于65535,則直接將所有文件放在同一級目錄內(nèi)打包入 文件;
[0047] 步驟三、如果瓦片總個數(shù)大于65535,則將行號作為目錄的第一層,列號作為第二 層存儲瓦片數(shù)據(jù);檢查以行號命名的目錄是否存在,不存在就創(chuàng)建目錄,然后再將瓦片打包 入此目錄;
[0048] 步驟四、準(zhǔn)備地圖瓦片的配置數(shù)據(jù),并把配置數(shù)據(jù)打包入打包文件;
[0049] 如圖3所示,進一步說明如下:
[0050] 步驟一、讀取打包文件的索引數(shù)據(jù);
[0051] 步驟二、在資源系統(tǒng)中查找配置數(shù)據(jù);
[0052] 如果找到配置數(shù)據(jù),則讀取配置數(shù)據(jù)的內(nèi)容;
[0053] 如果找不到配置數(shù)據(jù),則使用缺省值初始化配置項;
[0054] 步驟三、(GIS系統(tǒng)或其它子系統(tǒng))需要瓦片數(shù)據(jù):
[0055] 判斷是否為"大地圖",如是,則按照先行后列的規(guī)則組織查詢條件,查找瓦片文 件;
[0056] 如果為"小地圖",則按照配置數(shù)據(jù)中定義的命名規(guī)則組織查詢條件,然后查找瓦 片文件;
[0057] 步驟四、向查詢子系統(tǒng)返回查詢結(jié)果。
[0058] 上述雖然結(jié)合附圖對本發(fā)明的【具體實施方式】進行了描述,但并非對本發(fā)明保護范 圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不 需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。
【權(quán)利要求】
1. 一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:包括以下步驟: (1) 整理所有層的瓦片文件,并對其進行統(tǒng)一化命名; (2) 根據(jù)每一層中瓦片文件的個數(shù)決定打包文件的組織結(jié)構(gòu); (3) 打包文件根目錄增加一個配置資源,用來存儲瓦片的尺寸、命名規(guī)則、圖片類型和 組織結(jié)構(gòu),每層對應(yīng)一個打包文件; (4) 根據(jù)具體任務(wù)使用打包文件,轉(zhuǎn)移、FTP下載、FTP上傳或發(fā)布。
2. 如權(quán)利要求1所述的一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:所述 步驟(1)中,按照先行后列的命名原則整理所有層的瓦片文件。
3. 如權(quán)利要求1所述的一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:所述 步驟(2)中,如果瓦片文件個數(shù)小于65535,則打包文件中不分級;否則將打包文件分為兩 級,第一級使用行號命名,第二級使用列號命名;分級既有利于使機構(gòu)變得清晰,亦有利于 瓦片的快速查找。
4. 如權(quán)利要求3所述的一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:所述 步驟(2)中,具體包括以下步驟: (i) 獲取本層瓦片的總個數(shù); (ii) 如果瓦片總個數(shù)小于65535,則直接將所有文件放在同一級目錄內(nèi)打包入文件; 將此類屬性的地圖層稱為"小地圖"; (iii) 如果瓦片總個數(shù)小于65535,則直接將所有文件放在同一級目錄內(nèi)打包入文件; 將此類屬性的地圖層稱為"小地圖"。
5. 如權(quán)利要求1所述的一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:所述 步驟(4)中,每層對一個打包文件,具體步驟包括: (a) 準(zhǔn)備打包文件的文件頭; (b) 開始資源系統(tǒng):如果是小地圖,依次添加瓦片文件到打包文件的根目錄;如果是大 地圖,首先根據(jù)當(dāng)前行號增加文件夾結(jié)構(gòu),然后將同行瓦片添加到此目錄; (c) 生成xml配置文件,并將文件添加到打包文件的根目錄。
6. 如權(quán)利要求1所述的一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:所述 步驟(3)中,具體步驟包括:使用XML格式存儲配置數(shù)據(jù),分別定義大地圖、小地圖的瓦片 的矩陣行數(shù)、列數(shù)、命名模式、開始行號、開始列號、地圖的大小屬性、瓦片的屬性、瓦片的名 稱、是否通配、寬度與高度。
7. 如權(quán)利要求1所述的一種利用打包技術(shù)解決地圖瓦片存儲的方法,其特征是:所述 步驟(5)中,使用打包文件的方法具體包括: (A) 轉(zhuǎn)移:拷貝打包文件到其它任何需要的地方,拷貝一個大文件要比拷貝同等總大 小,但數(shù)量多的小文件,速度要快上幾十倍; (B) FTP下載:可選擇從FTP服務(wù)器下載整個打包文件,然后解壓使用或不解壓直接使 用;或選擇從FTP上邊下載,邊在內(nèi)存中解壓瓦片文件,不需要在本地磁盤存儲龐大的中間 文件; (C) FTP上傳:可選擇在本地生成打包文件后,再上傳打包文件到FTP服務(wù)器;或者直接 邊在內(nèi)存中打包,邊上傳到FTP服務(wù)器,不需要在本地磁盤存儲龐大的中間文件; (D) 發(fā)布:向第三方合作伙伴或客戶直接發(fā)布打包文件。
【文檔編號】G06F17/30GK104217023SQ201410499279
【公開日】2014年12月17日 申請日期:2014年9月25日 優(yōu)先權(quán)日:2014年9月25日
【發(fā)明者】楊震威, 于少飛 申請人:山東康威通信技術(shù)股份有限公司