国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種gis柵格數(shù)據(jù)云存儲(chǔ)方法

      文檔序號:8487882閱讀:1140來源:國知局
      一種gis柵格數(shù)據(jù)云存儲(chǔ)方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及一種云存儲(chǔ)方法,屬于GIS柵格數(shù)據(jù)存儲(chǔ)方法領(lǐng)域,具體涉及一種GIS 柵格數(shù)據(jù)云存儲(chǔ)方法。
      【背景技術(shù)】
      [0002] 柵格數(shù)據(jù)是指按網(wǎng)格單元的行與列排列、具有不同灰度或顏色的陣列數(shù)據(jù)。其結(jié) 構(gòu)是大小相等分布均勻、緊密相連的像素(網(wǎng)格單元)陣列來表示空間地物或現(xiàn)象分布的 數(shù)據(jù)組織,是最簡單、最直觀的空間數(shù)據(jù)結(jié)構(gòu)。它將地球表面劃分為大小、均勻、緊密相鄰 的網(wǎng)格陣列。每一個(gè)象素的位置由它的行列號定義。
      [0003] GIS行業(yè)中,遙感、航測等直觀反映地物地貌的影像數(shù)據(jù)(比如 MG,GRID,JPG,TIFF等文件格式),就屬于柵格數(shù)據(jù)的一種。可以是數(shù)字航空照片、衛(wèi)星影 像、數(shù)字圖片,甚至可以是掃描的地圖。這些文件的格式雖然不同,但它們都可以相互轉(zhuǎn)換。 在實(shí)際應(yīng)用中有以下幾個(gè)方面:
      [0004] 柵格數(shù)據(jù)用作地理底圖:在GIS中,航空攝影、衛(wèi)星影像和掃描地圖的正射影像這 些柵格數(shù)據(jù),常作為其他圖層的背景,用來顯示真實(shí)的對象。
      [0005] 柵格數(shù)據(jù)用作地形圖:柵格數(shù)據(jù)非常適于表示隨地形(地表)連續(xù)變化的數(shù)據(jù)。 它們提供了一種將連續(xù)性數(shù)據(jù)存儲(chǔ)為地表的有效方法。而且,還可以提供一種間隔均勻的 地表表示法。自地球表面測量的高程值是地形圖最常見的應(yīng)用,但是其他值,如降雨量、溫 度、濃度、人口密度也可用于定義可進(jìn)行空間分析的地形。
      [0006] 柵格數(shù)據(jù)用作專題地圖:常見的應(yīng)用是按土地覆蓋類別對衛(wèi)星影像進(jìn)行分類顯 不0
      [0007] 軟件技術(shù)發(fā)展到如今,已經(jīng)有很多第三方的柵格數(shù)據(jù)管理模塊,例如GDAL。這些柵 格數(shù)據(jù)管理模塊獨(dú)立性強(qiáng),功能全面。為避免重復(fù)開發(fā)和節(jié)約成本,市場上的GIS軟件在管 理柵格數(shù)據(jù)上都直接使用這些第三方模塊,包括著名的ESRI的ARCGIS 9. 3, Google Earth 和跨平臺的GRASS GIS系統(tǒng)。盡管這些柵格數(shù)據(jù)管理模塊的應(yīng)用如此廣泛,而且能夠很好 的封裝柵格數(shù)據(jù)并能夠相互轉(zhuǎn)換格式,但大多數(shù)情況下它被用來處理計(jì)算機(jī)硬盤上的文件 格式數(shù)據(jù)。例如GDAL,盡管從1.8.0版本后,增加了處理遠(yuǎn)程計(jì)算機(jī)上柵格數(shù)據(jù)和柵格數(shù) 據(jù)壓縮包的功能,但本質(zhì)上始終要求數(shù)據(jù)格式是文件形式。
      [0008] ARCGIS對數(shù)據(jù)存儲(chǔ)管理提供三種方式:硬盤文件,本地Access數(shù)據(jù)庫和大型 關(guān)系數(shù)據(jù)庫。大型關(guān)系數(shù)據(jù)庫涵蓋市面上流行的Oracle、MS SQL Server、IBM DB2、IBM Inf〇rmiX、P〇StgreSQL,柵格數(shù)據(jù)會(huì)被轉(zhuǎn)換成二進(jìn)制形式存在數(shù)據(jù)表中。ARCGIS在柵格數(shù)據(jù) 管理上由于使用了 GDAL,雖然支持處理內(nèi)存中二進(jìn)制形式的柵格數(shù)據(jù),但實(shí)現(xiàn)方式和處理 硬盤文件的方式不同,中間需要有一個(gè)內(nèi)存文件的過度。同樣的數(shù)據(jù),由于存儲(chǔ)方式不同, 而導(dǎo)致用多套代碼去管理,會(huì)減少重用代碼和增大開發(fā)量。

      【發(fā)明內(nèi)容】

      [0009] 本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的存儲(chǔ)量受限,存儲(chǔ)成本較大,并且代碼重復(fù) 利用率低的技術(shù)問題;提供了一種GIS柵格數(shù)據(jù)云存儲(chǔ)方法。該方法將柵格數(shù)據(jù)存儲(chǔ)在云 數(shù)據(jù)庫中,依賴云數(shù)據(jù)庫動(dòng)態(tài)伸縮存儲(chǔ)節(jié)點(diǎn)的能力,實(shí)現(xiàn)無容量上限存儲(chǔ)柵格數(shù)據(jù),并且通 過注入的方式擴(kuò)展了柵格數(shù)據(jù)管理模塊的文件系統(tǒng),使其具有讀寫云數(shù)據(jù)庫的能力,保證 了在二次開發(fā)方可以用同樣的方式打開硬盤柵格數(shù)據(jù)文件和云數(shù)據(jù)庫上的柵格數(shù)據(jù),減少 了開發(fā)量,增加了代碼重用。
      [0010] 本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
      [0011] 一種GIS柵格數(shù)據(jù)云存儲(chǔ)方法,基于GDAL實(shí)現(xiàn)空間數(shù)據(jù)的轉(zhuǎn)換,包括:繼承GDAL 的文件操作虛函數(shù)VSIFilesystemHandler類,將InstallHandler方法中的前綴osPrefix 的形式參數(shù)類型改為常字符類型,接收調(diào)用函數(shù)所傳遞的前綴osPrefix的實(shí)際參數(shù),如果 所接收到的實(shí)際參數(shù)為空則不執(zhí)行任何操作,否則將實(shí)際參數(shù)轉(zhuǎn)換為字符串類型后再調(diào)用 父函數(shù)的InstallHandler操作函數(shù),其中,所述InstallHandler方法用于將類的實(shí)例注入 到GDAL的實(shí)例容器中。
      [0012] 優(yōu)化的,上述的一種GIS柵格數(shù)據(jù)的管理方法,根據(jù)不同的云數(shù)據(jù)庫提供的二次 開發(fā)框架或者API實(shí)現(xiàn)用于以流方式讀寫文件的IStream接口,利用所述IStream接口實(shí) 現(xiàn)文件的讀寫。
      [0013] 優(yōu)化的,上述的一種GIS柵格數(shù)據(jù)的管理方法,在存儲(chǔ)GIS柵格數(shù)據(jù)時(shí),按照預(yù)設(shè) 的金字塔層級將原始的GIS柵格數(shù)據(jù)轉(zhuǎn)換成金字塔數(shù)據(jù)文件,將金字塔數(shù)據(jù)文件切割成預(yù) 定數(shù)量的數(shù)據(jù)塊,建立一個(gè)數(shù)據(jù)塊映射文件用于存儲(chǔ)金字塔數(shù)據(jù)文件中不同層級的數(shù)據(jù)與 各數(shù)據(jù)塊之間關(guān)系的映射關(guān)系,將各數(shù)據(jù)塊發(fā)送至云數(shù)據(jù)庫,由云數(shù)據(jù)庫存按照相應(yīng)的分 配規(guī)則存儲(chǔ)于不同的存儲(chǔ)節(jié)點(diǎn);
      [0014] 在讀取GIS柵格數(shù)據(jù)時(shí),根據(jù)映射文件找到所需層級的金字塔數(shù)據(jù)所對應(yīng)的數(shù)據(jù) 塊文件,在云數(shù)據(jù)庫中查找并取出相應(yīng)的數(shù)據(jù)塊文件。
      [0015] 優(yōu)化的,上述的一種GIS柵格數(shù)據(jù)的管理方法,在分割待保存的文件時(shí),若待保存 的文件大小為1GB以上,則將待保存的文件切割成16MB大小的若干個(gè)數(shù)據(jù)塊;
      [0016] 若待保存的文件大小為10MB以上并且小于1GB時(shí),則將待保存的文件切割成1MB 大小的若干個(gè)數(shù)據(jù)塊;
      [0017] 若待保存的文件大小小于10MB時(shí),則將待保存的文件切割成255K大小的若干個(gè) 數(shù)據(jù)塊。
      [0018] 因此,本發(fā)明具有如下優(yōu)點(diǎn):
      [0019] 1.本發(fā)明將柵格數(shù)據(jù)存儲(chǔ)在云數(shù)據(jù)庫中,依賴云數(shù)據(jù)庫動(dòng)態(tài)伸縮存儲(chǔ)節(jié)點(diǎn)的能 力,實(shí)現(xiàn)無容量上限存儲(chǔ)柵格數(shù)據(jù)。只要是能夠正常運(yùn)行的計(jì)算機(jī)就可以作為存儲(chǔ)節(jié)點(diǎn),不 再有配置要求,降低了存儲(chǔ)成本。
      [0020] 2.本發(fā)明通過注入的方式擴(kuò)展了柵格數(shù)據(jù)管理模塊的文件系統(tǒng),使其具有讀寫云 數(shù)據(jù)庫的能力。保證了在二次開發(fā)方可以用同樣的方式打開硬盤柵格數(shù)據(jù)文件和云數(shù)據(jù)庫 上的柵格數(shù)據(jù),減少了開發(fā)量,增加了代碼重用。
      【附圖說明】
      [0021] 附圖1是本發(fā)明的一種原理圖;
      [0022] 附圖2是本發(fā)明的柵格數(shù)示意圖;
      [0023] 附圖3是本發(fā)明的金字塔數(shù)據(jù)結(jié)構(gòu)示意圖;
      [0024] 附圖4是本發(fā)明的一種工作流程圖;
      [0025] 附圖5是本發(fā)明的柵格數(shù)據(jù)切割流程圖;
      [0026] 附圖6是本發(fā)明的柵格數(shù)據(jù)規(guī)則圖;
      [0027] 附圖7是本發(fā)明的云數(shù)據(jù)庫的柵格數(shù)據(jù)處理流程圖;
      [0028] 附圖8是本發(fā)明的組件關(guān)系圖;
      [0029] 附圖9是本發(fā)明的各組件間流程關(guān)系圖;
      [0030] 附圖10是本發(fā)明的虛擬文件系統(tǒng)的文件打開方法被調(diào)用流程圖;
      [0031]附圖11是本發(fā)明的虛擬文件系統(tǒng)的文件讀取方法被調(diào)用流程圖。
      【具體實(shí)施方式】
      [0032] 下面通過實(shí)施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明。
      [0033] 實(shí)施例:
      [0034] 本發(fā)明本質(zhì)上是一個(gè)能夠?qū)鸥駭?shù)據(jù)導(dǎo)入云數(shù)據(jù)庫,并擴(kuò)展所有第三方柵格數(shù)據(jù) 管理模塊,使其具備讀寫云數(shù)據(jù)庫中柵格數(shù)據(jù)能力的軟件模塊。將柵格數(shù)據(jù)導(dǎo)入云數(shù)據(jù)庫 存儲(chǔ)有三個(gè)目的:實(shí)現(xiàn)容量無上限存儲(chǔ)、簡約硬件成本的開銷、提升讀寫效率。
      [0035]1、系統(tǒng)結(jié)構(gòu)
      [0036] 如圖1所示,是一個(gè)云數(shù)據(jù)庫集群圖。圖中箭頭方向代表了數(shù)據(jù)的流動(dòng)。集群中 包含三種節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)邏輯概念上是一個(gè)服務(wù),物理上是一個(gè)進(jìn)程。
      [0037] 存儲(chǔ)節(jié)點(diǎn)是數(shù)據(jù)真正存放的位置。一臺計(jì)算機(jī)上可以部署一個(gè)存儲(chǔ)節(jié)點(diǎn),也可以 部署多個(gè)存儲(chǔ)節(jié)點(diǎn)(由端口號區(qū)分)。如何部署由需求決定。
      [0038] 配置節(jié)點(diǎn)負(fù)責(zé)負(fù)載均衡。根據(jù)每個(gè)存儲(chǔ)節(jié)點(diǎn)的壓力,決定將數(shù)據(jù)存儲(chǔ)到哪個(gè)存儲(chǔ) 節(jié)點(diǎn)上。
      [0039] 路由節(jié)點(diǎn)是整個(gè)集群對外暴露連接的唯一節(jié)點(diǎn)??蛻舳诉B接集群時(shí)只需要知道路 由節(jié)點(diǎn)的IP和端口,而不需要了解集群內(nèi)部的部署情況。路由節(jié)點(diǎn)隱藏了集群細(xì)節(jié)。當(dāng)集 群部署發(fā)生改變時(shí),無需通知或修改客戶端。
      [0040] 通過動(dòng)態(tài)增加存儲(chǔ)節(jié)點(diǎn),可實(shí)現(xiàn)容量無上限存儲(chǔ)。通過減少存儲(chǔ)節(jié)點(diǎn),可控制硬件 成本。
      [0041] 2、數(shù)據(jù)切割
      [0042] GIS柵格數(shù)據(jù)用來描述一個(gè)范圍內(nèi)的影像,所以通常很大。為了達(dá)到快速讀寫,需 要將原始數(shù)據(jù)切割成多個(gè)小的數(shù)據(jù)塊存儲(chǔ)。
      [0043] 柵格數(shù)據(jù)將地理空間劃分成若干行、若干列,稱為一個(gè)像元陣列,其最小單元稱為 像元或像素,每個(gè)像元的位置由行列號確定,通過單元格中的值記錄這一位置屬于何種地 理實(shí)體或記錄某一主題要素在這個(gè)位置上的數(shù)值。柵格數(shù)據(jù)的結(jié)構(gòu)如圖2所示。柵格數(shù)據(jù) 像元基本單元的大小,對柵格數(shù)據(jù)的分辨率和計(jì)算精度起關(guān)鍵作用。比如一個(gè)柵格像元大 小是1*1,那么一個(gè)柵格單元代表1平方米,其分辨率也是1米。柵格像元越小,影像分辨率 越高,對地物的表示越精致。
      [0044] 瀏覽柵格影像數(shù)據(jù)時(shí)做的放大,縮小操作,為提高顯示效率,并不是從原始文件提 取像元數(shù)據(jù)重新顯示,而是直接提取柵格金字塔數(shù)據(jù)。金字塔指在同一的空間參照下,根據(jù) 用戶需要以不同分辨率進(jìn)行存儲(chǔ)與顯示,形成分辨率由粗到細(xì)、數(shù)據(jù)量由小到大的金字塔 結(jié)構(gòu)。影像金字塔結(jié)構(gòu)用于圖像編碼和漸進(jìn)式圖像傳輸,是一種典型的分層數(shù)據(jù)結(jié)構(gòu)形式,
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1