欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

空間數(shù)據(jù)索引方法及系統(tǒng)的制作方法

文檔序號:6584501閱讀:198來源:國知局
專利名稱:空間數(shù)據(jù)索引方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及地理信息系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種空間數(shù)據(jù)索引方法及系統(tǒng)。
背景技術(shù)
絕大多數(shù)用戶在地理信息系統(tǒng)中查詢空間數(shù)據(jù)時往往釆用兩種方式。 一種是通過空間數(shù)據(jù)的空間信息査找屬性信息。例如在地圖上劃定一個范圍,查找該范圍含有的地物都有哪些。另一種是通過空間數(shù)據(jù)的屬性信息查找空間信息。例如在搜索框中輸入"中國農(nóng)業(yè)大學(xué)",查找中國農(nóng)業(yè)大學(xué)的具體空間位置。大量的實際應(yīng)用表明,后一種查詢方式是用戶采用的最普遍的查詢方式,因此,如果針對空間數(shù)據(jù)的屬性數(shù)據(jù)建立索引,就可以大大加快用戶的查詢速度,具有很大的實用意義。在目前現(xiàn)有的空間數(shù)據(jù)索引方法中,基于二叉樹的索
引方法、基于四叉樹的索引方法、基于B樹的索引方法、基于哈希的格子文件和基于空間對象的填充曲線等都是適用于第一種查詢方式的索引方法。僅有樹型多鍵索引方法適用于第二種查詢方式,但在實際應(yīng)用中存在一定的問題由于樹型多鍵索引往往根據(jù)數(shù)據(jù)的多個屬性項而建,這就需要用戶在查詢數(shù)據(jù)時要給出所查數(shù)據(jù)的大部分屬性,至少在樹型多鍵索引中所包含的屬性項內(nèi)容都要給出,這樣才能保證對索引樹的查詢是沿著樹的一條路徑進行的,否則就需要遍歷整棵樹來找到目標數(shù)據(jù),而這個要求對用戶來說幾乎是不可能的,因此,亟待提出更適用于第二種查詢方式的索引方法。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種空間數(shù)據(jù)索引方法及系統(tǒng),可提高用戶通過空間數(shù)據(jù)的屬性數(shù)據(jù)查詢信息的速度,以克服現(xiàn)有技術(shù)的不足。為實現(xiàn)上述目的,本發(fā)明釆用如下技術(shù)方案。本發(fā)明提供了一種空間數(shù)據(jù)索引方法,該方法包括
51. 獲取索引關(guān)鍵字;
52. 建立所述索引關(guān)鍵字的倒排文件;
53. 計算所述索引關(guān)鍵字的倒排表記錄ID在散列表中的位置并建立散列表;
54. 根據(jù)所述索引關(guān)鍵字計算散列編碼,并在所述散列表中獲取所述索引關(guān)鍵字的倒排表記錄ID號;
55. 根據(jù)所述倒排表記錄ID號獲取倒排文件中與所述索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;
56. 獲取所述地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值并顯示。
其中,所述倒排文件由詞表及記錄文件構(gòu)成,所述詞表以空間數(shù)據(jù)中屬性數(shù)據(jù)表的一預(yù)設(shè)屬性項的所有屬性值作為關(guān)鍵字記錄,所述記錄文件對應(yīng)記錄空間數(shù)據(jù)中包含所述屬性值的所有地物ID號及相應(yīng)的圖層ID號。
其中,所述倒排表由所述倒排表記錄ID號、所述詞表中的關(guān)鍵字、與所述關(guān)鍵字對應(yīng)的所有地物ID號及相應(yīng)的圖層ID號。其中,所述散列表針對所述詞表建立,其建立包括步驟S3.1計算所述詞表中每一個關(guān)鍵字的散列編碼;S3.2根據(jù)散列函數(shù),將每一個所述散列編碼分別映射到散列表的相應(yīng)位置,并將所述散列編碼對應(yīng)的關(guān)鍵字所對應(yīng)的倒排表記錄ID號存入所述映射的位置;S3.3處理沖突。
其中,按照如下多項式散列公式計算所述散列編碼
Xo 一1 + X一"2 H-----h :^一2 + X卜!
"為不等于1的非零常數(shù),(x。,;…,xw)對應(yīng)所述屬性值字符串
6中的每一位字符的Unicode統(tǒng)一碼值,A為所述字符串中字符的個數(shù)。其中,"為100以內(nèi)的素數(shù)。
其中,所述步驟S3.2中映射釆用的方法為除法散列法,所述散列函數(shù)為
《為所述散列編碼,7V是存儲散列表的桶數(shù)組的容量,初始時,TV取ll,散列表的裝填因子LoadFactor取缺省值0.75,當(dāng)散列表中存儲的所有表項總數(shù)C滿足C/iV >丄o^F""w時,令7V^2xiV + l,對散列表進行重組。
其中,所述步驟S3.3中解決沖突的方法為鏈地址法,即所述桶數(shù)組的每一個單元都存儲一個鏈表,所述鏈表中的每一個數(shù)據(jù)節(jié)點記錄所述倒排表記錄ID號和發(fā)生沖突時的關(guān)鍵字的內(nèi)容。
本發(fā)明還提供了 一種空間數(shù)據(jù)索引系統(tǒng),該系統(tǒng)包括輸入模塊,用于獲取索引關(guān)鍵字;倒排文件生成模塊,用于建立所述索引關(guān)鍵字的倒排文件;散列表生成模塊,用于計算所述索引關(guān)鍵字的倒排表記錄ID在散列表中的位置并建立散列表;倒排表記錄ID號獲取模塊,用于根據(jù)所述索引關(guān)鍵字計算散列編碼,并在所述散列表中獲取所述索引關(guān)鍵字的倒排表記錄ID號;空間信息獲取模塊,用于根據(jù)所述倒排表記錄ID號獲取倒排文件中與所述索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;顯示模塊,用于獲取所述地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值并顯示。
本發(fā)明的空間數(shù)據(jù)索引方法及系統(tǒng)借鑒多鍵索引的層次思想,從用戶的角度出發(fā),使用倒排文件索引和散列表索引相結(jié)合的方式索引空間數(shù)據(jù),可提高用戶通過空間數(shù)據(jù)的屬性數(shù)據(jù)查詢信息的速度。


圖l為依照本發(fā)明一種實施方式的空間數(shù)據(jù)索引方法流程圖;圖2為依照本發(fā)明 一種實施方式的空間數(shù)據(jù)索引方法中倒排文件的結(jié)構(gòu)圖3為依照本發(fā)明一種實施方式的空間數(shù)據(jù)索引方法中倒排文件
的倒排表結(jié)構(gòu)圖4為依照本發(fā)明 一種實施方式的空間數(shù)據(jù)索引方法中倒排文件
的生成過程示意圖5為依照本發(fā)明一種實施方式的空間數(shù)據(jù)索引方法中散列表的建立過程示意圖6為依照本發(fā)明 一種實施方式的空間數(shù)據(jù)索引系統(tǒng)框圖7為依照實施例的空間數(shù)據(jù)索引過程示意圖。
具體實施例方式
本發(fā)明提出的空間數(shù)據(jù)索引方法及系統(tǒng),結(jié)合附圖和實施例說明如下。
如圖1所示,依照本發(fā)明一種實施方式的空間數(shù)據(jù)索引方法包括步驟
51. 獲取用戶輸入需查詢內(nèi)容的索引關(guān)鍵字;
52. 建立索引關(guān)鍵字的倒排文件;
53. 計算該索引關(guān)鍵字的倒排表記錄ID在散列表中的位置并建立散歹'J表;
54. 根據(jù)索引關(guān)鍵字計算散列編碼,并在散列表中獲取所述索引獲取該索引關(guān)鍵字的倒排表記錄ID號;
55. 根據(jù)該倒排表記錄ID號獲取倒排文件中與該索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;
56. 獲取所述地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值,并將其顯示在索引結(jié)果界面上。
在本發(fā)明的方法中,散列表索引是第一層索引,索引的是倒排文件的詞表。倒排文件是第二層索引,索引的是空間數(shù)據(jù)的屬性數(shù)據(jù)。之所以采用兩層索引是因為若只使用倒排文件一層索引,那么當(dāng)用戶輸入關(guān)鍵字后,首先要在倒排文件中順序查找與用戶輸入關(guān)鍵字有關(guān)的倒排表,這種查找過程所花費的時間與倒排文件的長度成正比。若倒排文件的長度為h,那么上述查找過程的時間復(fù)雜度為O(h)??梢姡?dāng)?shù)古盼募拈L度增長到一定程度時,對倒排文件的査找將浪費不少時間。為了節(jié)約對倒排文件的査找時間,本發(fā)明方法對倒排文件的詞表建立了散列表索引。通過散列表索引直接獲得與用戶輸入關(guān)鍵字有關(guān)的倒排表集合,從而省去了順序查找倒排文件的時間,能夠極大地提高整個查詢速度。
其中,本發(fā)明方法中建立的倒排文件的結(jié)構(gòu)如圖2所示,倒排文件由詞表及記錄文件構(gòu)成,詞表以空間數(shù)據(jù)中屬性數(shù)據(jù)表的某一屬性項的所有屬性值作為關(guān)鍵字記錄,記錄文件對應(yīng)記錄空間數(shù)據(jù)中包含
上述屬性值的所有地物ID號及相應(yīng)的圖層ID號。倒排文件記錄著每
個關(guān)鍵字和包含此關(guān)鍵字的所有地物標識符。通常二維地理信息空間數(shù)據(jù)都會包含一個或多個圖層,當(dāng)數(shù)據(jù)只有一個圖層的時候,地物標
識符可以是地物ID號;當(dāng)數(shù)據(jù)包含多個圖層的時候,地物標識符除了地物ID號之外還要記錄地物所在圖層的圖層ID號。本發(fā)明方法中所使用的倒排文件的倒排表包括倒排表記錄ID號、關(guān)鍵字、與關(guān)鍵字對應(yīng)的所有地物ID號及相應(yīng)的圖層ID號,如圖3所示。在倒排文件中,每個倒排表按照上述結(jié)構(gòu)順序記錄,形成一個數(shù)據(jù)表放在數(shù)據(jù)庫中。數(shù)據(jù)庫中存放倒排文件的數(shù)據(jù)表的設(shè)計如表1所示。
根據(jù)上述倒排文件的結(jié)構(gòu),對數(shù)據(jù)庫中的空間數(shù)據(jù)進行處理從而生成倒排文件,其具體過程如圖4所示針對二維地理空間數(shù)據(jù)中的屬性數(shù)據(jù)表的某一屬性項的所有屬性值,在空間數(shù)據(jù)中查找包含該屬
表1倒排表設(shè)計
字段名 類型長度是否為空
記錄ID號,自動增1
關(guān)鍵字地物標識符
9性值的所有地物的ID號及相應(yīng)的圖層ID號,并將其寫入倒排文件的記錄文件中,同時將該屬性值作為關(guān)鍵字寫入詞表中。例如以屬性數(shù)據(jù)表中的名稱字段創(chuàng)建倒排文件,則針對"name"字段的每 一個屬性值,比如"豐臺區(qū)",在空間數(shù)據(jù)中查找包含"豐臺區(qū)"屬性值的所有地物。假設(shè)包含"豐臺區(qū)"屬性值的地物共有三個,它們的地物ID號分別是2、 7、 10,這三個地物分別在圖層l、圖層2、圖層3上,則記錄文件需要存儲的內(nèi)容是"2 (1); 7(2); 10(3)",括號中是相應(yīng)地物的圖層ID號,詞表需要存儲的內(nèi)容是"豐臺區(qū)"。
本發(fā)明方法中,對倒排文件的詞表建立散列表包括步驟S3.1計算倒排文件詞表中每一關(guān)鍵字的散列編碼;S3.2根據(jù)散列函數(shù),將每一個散列編碼分別映射到散列表的相應(yīng)位置,并將將散列編碼對應(yīng)的關(guān)鍵字所對應(yīng)的倒排表記錄ID號存入散列表中該散列編碼映射的位置;S3.3處理沖突。
其中,散列編碼的計算是后面兩個步驟的基礎(chǔ),如果在散列編碼階段能夠極大地避免沖突或使散列編碼沒有沖突,那么散列函數(shù)的設(shè)計和對沖突的處理將相對容易很多。
本發(fā)明方法對倒排文件的詞表建立散列表的具體過程如圖5所示。首先針對詞表中的每一個關(guān)鍵字按照多項式散列公式
計算其散列編碼。其中"是不等于l的非零常數(shù),(X。,Xp…,Xw)對應(yīng)表示關(guān)鍵字字符串中的每一位字符的Unicode (統(tǒng)一碼)值,&為字符串中的字符數(shù)。例如,假設(shè)詞表中有一個關(guān)鍵字是"豐臺區(qū)",那么、="豐"的Unicode值,&="臺"的Unicode值,義2="區(qū)"的Unicode值,^=3。在應(yīng)用上述公式生成散列編碼時,a值的選取至關(guān)重要,合適的a值能夠極大地避免沖突,也就是避免兩個不同的關(guān)鍵字生成相同的散列編碼。為了減少計算量,本發(fā)明取a值為100以內(nèi)的素數(shù),針對100以內(nèi)的所有素數(shù),計算所有關(guān)鍵字的散列編碼并記錄沖突發(fā)生的次數(shù),當(dāng)每種情況的沖突小于7次或沒有沖突發(fā)生的時候,當(dāng)前的"值即為選定的"值。
散列編碼生成后,將生成的散列編碼映射到散列表的相應(yīng)為之,
即區(qū)間[O, TV-1]上。優(yōu)選地釆用一種簡單的壓縮映射——除法散列法
來完成這一步驟。
除法散列法的公式即為散列函數(shù),公式如下.
其中,《是生成的散列編碼,V是存儲散列表的桶數(shù)組的容量。初始時,TV取默認值ll,散列表的裝填因子(LoadFactor)取缺省值0.75。當(dāng)散列表中存儲的所有表項總數(shù)C滿足C/iV〉丄o"^^ctor時,令7V二2xiV + l,對散列表進行重組。
確定好散列函數(shù)后,就可以按照散列函數(shù)計算的結(jié)果將倒排表記錄ID號存儲在桶數(shù)組中。
優(yōu)選地,釆用鏈地址法解決沖突,具體方法是桶數(shù)組的每一個單元都存儲一個鏈表,鏈表中每一個數(shù)據(jù)結(jié)點記錄倒排文件的ID號,即倒排表記錄ID號,和發(fā)生沖突時的關(guān)鍵字內(nèi)容。
如圖6所示,依照本發(fā)明另 一實施方式的空間數(shù)據(jù)索引系統(tǒng)包括輸入模塊,用于獲取索引關(guān)鍵字;倒排文件生成模塊,用于建立索引關(guān)鍵字的倒排文件;散列表生成模塊,用于計算索引關(guān)鍵字的倒排表記錄ID在散列表中的位置并建立散列表;倒排表記錄ID號獲取模塊,用于根據(jù)索引關(guān)鍵字計算散列編碼,并在散列表中獲取索引關(guān)鍵字的倒排表記錄ID號;空間信息獲取模塊,用于根據(jù)倒排表記錄ID號獲取倒排文件中與索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;顯示模塊,用于獲取地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值并顯示。
實施例
ii如圖7所示,本實施例的空間數(shù)據(jù)索引方法具體過程如下用戶
輸入想要索引內(nèi)容的索引關(guān)鍵字,如"豐臺區(qū)";首先計算"豐臺區(qū)"的倒排表記錄ID在散列表中的位置;然后根據(jù)計算得到的位置去散列表中取"豐臺區(qū)"的倒排表記錄ID號;再根據(jù)記錄ID號去倒排文件中取與"豐臺區(qū)"有關(guān)的所有地物ID號和圖層ID號;最后再到圖形數(shù)據(jù)中根據(jù)地物ID號和圖層ID號獲取具體的坐標值,將其顯示在界面上。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1、一種空間數(shù)據(jù)索引方法,該方法包括步驟S1.獲取索引關(guān)鍵字;S2.建立所述索引關(guān)鍵字的倒排文件;S3.計算所述索引關(guān)鍵字的倒排表記錄ID在散列表中的位置并建立散列表;S4.根據(jù)所述索引關(guān)鍵字計算散列編碼,并在所述散列表中獲取所述索引關(guān)鍵字的倒排表記錄ID號;S5.根據(jù)所述倒排表記錄ID號獲取倒排文件中與所述索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;S6.獲取所述地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值并顯示。
2、 如權(quán)利要求1所述的空間數(shù)據(jù)索引方法,其特征在于,所述 倒排文件由詞表及記錄文件構(gòu)成,所述詞表以空間數(shù)據(jù)中屬性數(shù)據(jù)表 的一預(yù)設(shè)屬性項的所有屬性值作為關(guān)鍵字記錄,所述記錄文件對應(yīng)記 錄空間數(shù)據(jù)中包含所述屬性值的所有地物ID號及相應(yīng)的圖層ID號。
3、 如權(quán)利要求2所述的空間數(shù)據(jù)索引方法,其特征在于,所述 倒排表由所述倒排表記錄ID號、所述詞表中的關(guān)鍵字、與所述關(guān)鍵 字對應(yīng)的所有地物ID號及相應(yīng)的圖層ID號。
4、 如權(quán)利要求1或3所述的空間數(shù)據(jù)索引方法,其特征在于, 所述散列表針對所述詞表建立,其建立包括步驟S3.1計算所述詞表中每一個關(guān)鍵字的散列編碼;S3.2根據(jù)散列函數(shù),將每一個所述散列編碼分別映射到散列表的相應(yīng)位置,并將所述散列編碼對應(yīng)的關(guān)鍵字所對應(yīng)的倒排表記錄ID號存入所述映射的位置; S3.3處理沖突。
5、 如權(quán)利要求4所述的空間數(shù)據(jù)索引方法,其特征在于,按照如下多項式散列公式計算所述散列編碼其中,"為不等于l的非零常數(shù),(x。,^…,Xw)對應(yīng)所述屬性值 字符串中的每一位字符的Unicode統(tǒng)一碼值,A:為所述字符串中字符 的個數(shù)。
6、 如權(quán)利要求5所述的空間數(shù)據(jù)索引方法,其特征在于,"為 100以內(nèi)的素數(shù)。
7、 如權(quán)利要求4所述的空間數(shù)據(jù)索引方法,其特征在于,所述步驟S3.2中映射釆用的方法為除法散列法,所述散列函數(shù)為 /z(yt) = |《|mod7V其中,尺為所述散列編碼,7V是存儲散列表的桶數(shù)組的容量,初 始時,W取ll,散列表的裝填因子LoadFactor取缺省值0.75,當(dāng)散 列表中存儲的所有表項總數(shù)C滿足C/W〉 LoadFactor時,令 A^ = 2xW + l,對散列表進行重組。
8、 如權(quán)利要求7所述的空間數(shù)據(jù)索引方法,其特征在于,所述 步驟S3.3中解決沖突的方法為鏈地址法,即所述桶數(shù)組的每一個單 元都存儲一個鏈表,所述鏈表中的每一個數(shù)據(jù)節(jié)點記錄所述倒排表記 錄ID號和發(fā)生沖突時的關(guān)鍵字的內(nèi)容。
9、 一種空間數(shù)據(jù)索引系統(tǒng),該系統(tǒng)包括 輸入模塊,用于獲取索引關(guān)鍵字;倒排文件生成模塊,用于建立所述索引關(guān)鍵字的倒排文件;散列表生成模塊,用于計算所述索引關(guān)鍵字的倒排表記錄ID在散 列表中的位置并建立散列表;倒排表記錄ID號獲取模塊,用于根據(jù)所述索引關(guān)鍵字計算散列編 碼,并在所述散列表中獲取所述索引關(guān)鍵字的倒排表記錄ID號;空間信息獲取模塊,用于根據(jù)所述倒排表記錄ID號獲取倒排文件 中與所述索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;顯示模塊,用于獲取所述地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值并顯示。
全文摘要
本發(fā)明涉及一種空間數(shù)據(jù)索引方法及系統(tǒng),該方法包括步驟獲取索引關(guān)鍵字;建立索引關(guān)鍵字的倒排文件;計算索引關(guān)鍵字的倒排表記錄ID在散列表中的位置并建立散列表;根據(jù)索引關(guān)鍵字計算散列編碼,并在散列表中獲取索引關(guān)鍵字的倒排表記錄ID號;根據(jù)倒排表記錄ID號獲取倒排文件中與索引關(guān)鍵字有關(guān)的所有地物ID號及圖層ID號;獲取地物ID號及圖層ID號在圖形數(shù)據(jù)中的具體坐標值并顯示。本發(fā)明的空間數(shù)據(jù)索引方法及系統(tǒng)借鑒多鍵索引的層次思想,從用戶的角度出發(fā),使用倒排文件索引和散列表索引相結(jié)合的方式索引空間數(shù)據(jù),可提高用戶通過空間數(shù)據(jù)的屬性數(shù)據(jù)查詢信息的速度。
文檔編號G06F17/30GK101673307SQ200910236430
公開日2010年3月17日 申請日期2009年10月21日 優(yōu)先權(quán)日2009年10月21日
發(fā)明者張曉東, 時振通, 林 李, 王龍鶴, 劍 秦, 蕾 薛 申請人:中國農(nóng)業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
卢湾区| 桓台县| 青海省| 广东省| 隆昌县| 开远市| 确山县| 白城市| 大埔县| 广饶县| 澄江县| 安西县| 红桥区| 南郑县| 台中市| 东宁县| 滨州市| 卢氏县| 即墨市| 牟定县| 称多县| 黄石市| 清徐县| 屯昌县| 瓦房店市| 盐池县| 临西县| 林州市| 伊吾县| 武平县| 普宁市| 个旧市| 满洲里市| 冕宁县| 凭祥市| 濉溪县| 云安县| 新和县| 南和县| 峨边| 乡城县|