一種基于空間位置的快速聯(lián)機分析處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種聯(lián)機分析處理方法,屬于地理信息處理方法領(lǐng)域,具體涉及一種 基于空間位置的快速聯(lián)機分析處理方法。
【背景技術(shù)】
[0002] 隨著數(shù)據(jù)庫技術(shù)的發(fā)展和應(yīng)用,數(shù)據(jù)庫存儲的數(shù)據(jù)量從20世紀(jì)80年代的兆(M) 字節(jié)及千兆(G)字節(jié)過渡到現(xiàn)在的兆兆(T)字節(jié)和千兆兆(P)字節(jié),同時,用戶的查詢需求 也越來越復(fù)雜,涉及的已不僅是查詢或操縱一張關(guān)系表中的一條或幾條記錄,而且要對多 張表中千萬條記錄的數(shù)據(jù)進行數(shù)據(jù)分析和信息綜合。這種情況下通常采用聯(lián)機分析處理 (OLAP)技術(shù)以支持復(fù)雜的分析操作,可以根據(jù)分析人員的要求快速、靈活地進行大數(shù)據(jù)量 的復(fù)雜查詢處理。
[0003] 隨著地理信息系統(tǒng)產(chǎn)生越來越多數(shù)據(jù),如何將這些海量數(shù)據(jù)也納入到OLAP系統(tǒng) 中進行處理,提取對分析有用的信息,給管理人員分析決策以幫助,是當(dāng)前所面臨的重要難 題。
[0004] 由于聯(lián)機分析處理(OLAP)需要處理的海量的數(shù)據(jù)記錄,為提高查詢速度,一般會 根據(jù)查詢條件預(yù)先生產(chǎn)若干聚合表。聚合表的生產(chǎn)一般是通過提升維度層次或忽略某些維 度。對于一般的維度信息,如時間、產(chǎn)品等,都有明確的層次劃分方法。如時間可以小時、天、 月、季度、年的方式進行劃分,在生產(chǎn)聚合表時,即可按照不同的層次進行聚合統(tǒng)計。
[0005] 例如銷售記錄數(shù)據(jù)就可以按照時間維度,以月為單位建立聚合表,預(yù)先統(tǒng)計計算 每個月的銷售情況,也可以根據(jù)需要按季度或年份建立聚合表進行預(yù)統(tǒng)計,從而大大縮減 查詢時需要處理的記錄數(shù),提高查詢效率。
[0006] 但是在地理信息數(shù)據(jù)中的空間維度不同于一般的維度,本身就使用了二維或三維 的數(shù)據(jù)來定義。在定義空間維度的層次時通常有兩種方法:
[0007] 第一種是將這個空間位置轉(zhuǎn)換為行政區(qū)劃,利用行政區(qū)劃的層次來建立聚合表; 采用這種方式時,聚合表的建立只能通過行政區(qū)劃的劃分模式建立層次模型,但對于"大到 如熱帶數(shù)據(jù)分布,小到如指定矩形街區(qū)范圍"等不能按照行政區(qū)劃進行劃分的數(shù)據(jù)就無法 進行處理,也就不能支持按照任意的空間范圍進行快速統(tǒng)計分析;
[0008] 另一種是根據(jù)空間維度建立的四叉樹網(wǎng)格模型,從而支持任意范圍內(nèi)統(tǒng)計數(shù)據(jù)的 獲取,例如屬于開源項目的大數(shù)據(jù)可視化工具Nanocubes。采用這種方式,可以解決隨機框 選的問題,但在四叉樹的建立過程中,就將節(jié)點范圍的數(shù)據(jù)按照固定的模式(指定屬性項 求和)進行統(tǒng)計并記錄,因此無法滿足OLAP查詢的靈活性要求。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明主要是解決現(xiàn)有技術(shù)所存在的不能支持按照任意的空間范圍進行快速統(tǒng) 計分析以及查詢發(fā)靈活性較低等的技術(shù)問題,提供了一種基于空間位置的快速聯(lián)機分析處 理方法。該方法將四叉樹建模與OLAP聚合表的建立進行融合,從而解決基于任意空間范圍 的OLAP快速查詢的問題。
[0010] 本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
[0011] 一種基于空間位置的快速聯(lián)機分析處理方法,包括:
[0012] 將源數(shù)據(jù)按空間維度聚合成以四叉樹形式表示的聚合表數(shù)據(jù),其中,四叉樹的級 別代表聚合的空間層次,四叉樹節(jié)點的內(nèi)容包括節(jié)點所對應(yīng)地理范圍以及從數(shù)據(jù)屬性中選 擇的聚合維度進行聚合得到的輕量聚合數(shù)據(jù);
[0013] 在生成報表時,確定用戶在地圖上所選擇的框選范圍,根據(jù)用戶所選擇的查詢維 度將屬于所述框選范圍內(nèi)的各四叉樹節(jié)點的輕量聚合數(shù)據(jù)進行聚合得到查詢結(jié)果。
[0014] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理方法,將源數(shù)據(jù)按空間維 度聚合成以四叉樹形式表示的聚合表數(shù)據(jù)的過程包括:
[0015] 選擇需要進行四叉樹劃分的地理范圍,確定四叉樹的層級并從數(shù)據(jù)屬性中確定聚 合維度,按照四叉樹的層級將用戶所選擇的地理范圍組織成四叉樹形式,在四叉樹各個節(jié) 點的內(nèi)容中存儲節(jié)點所對應(yīng)的地理范圍信息;
[0016] 依據(jù)源數(shù)據(jù)中保存的各條數(shù)據(jù)所對應(yīng)的地理信息將源數(shù)據(jù)中的各條數(shù)據(jù)分別劃 分至對應(yīng)的四叉樹節(jié)點中,從四叉樹各節(jié)點以及其子節(jié)點所包括的各條數(shù)據(jù)中提取聚合維 度所對應(yīng)的數(shù)據(jù)進行聚合得到輕量聚合數(shù)據(jù)。
[0017] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理方法,報表生成的過程包 括:
[0018] 從四叉樹根節(jié)點開始遍歷各節(jié)點,根據(jù)節(jié)點的地理范圍信息判斷各節(jié)點與用戶框 選范圍之間的關(guān)系,若節(jié)點處于框選范圍之內(nèi)則將節(jié)點放入待判斷節(jié)點集合;若節(jié)點處于 框選范圍之外則將該節(jié)點丟棄;若節(jié)點與框選范圍相交,則繼續(xù)遍歷該節(jié)點的子節(jié)點并判 斷其子節(jié)點與框選范圍的關(guān)系。
[0019] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理方法,遍歷與框選范圍相 交節(jié)點的子節(jié)點的過程包括:
[0020] 獲取該節(jié)點所屬地理范圍的中心點,判斷中心點與框選范圍的關(guān)系,若中心點處 于框選范圍內(nèi),則繼續(xù)遍歷并判斷該節(jié)點的四個子節(jié)點的下一級節(jié)點與框選范圍的關(guān)系; 若中心點處于框選范圍外,則將該節(jié)點的坐與與其中心節(jié)點各頂點的坐標(biāo)進行組合得到四 個子節(jié)點的各頂點坐標(biāo),判斷子節(jié)點各頂點坐標(biāo)是否落入到框選范圍內(nèi),若是,則繼續(xù)遍歷 并判斷該子節(jié)點的下一級節(jié)點與框選范圍的關(guān)系,若否,則將該子節(jié)點丟棄。
[0021] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理方法,還包括:按從數(shù)據(jù)屬 性中選擇的聚合維度將源數(shù)據(jù)按行政區(qū)劃聚合成行政區(qū)聚合表數(shù)據(jù);在生成報表時,根據(jù) 查詢維度將用戶所選擇行政區(qū)的行政區(qū)聚合表數(shù)據(jù)進行聚合得到查詢結(jié)果。
[0022] 一種基于空間位置的快速聯(lián)機分析處理裝置,包括:
[0023] 預(yù)處理模塊,用于將源數(shù)據(jù)按空間維度聚合成以四叉樹形式表示的聚合表數(shù)據(jù), 其中,四叉樹的級別代表聚合的空間層次,四叉樹節(jié)點的內(nèi)容包括節(jié)點所對應(yīng)地理范圍以 及從數(shù)據(jù)屬性中選擇的聚合維度進行聚合得到的輕量聚合數(shù)據(jù);
[0024] 報表模塊,用于在生成報表時,確定用戶在地圖上所選擇的框選范圍,根據(jù)用戶所 選擇的查詢維度將屬于所述框選范圍內(nèi)的各四叉樹節(jié)點的輕量聚合數(shù)據(jù)進行聚合得到查 詢結(jié)果。
[0025] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理裝置,所述預(yù)處理模塊進 一步包括以下單元:
[0026] 建模單元,選擇需要進行四叉樹劃分的地理范圍,確定四叉樹的層級并從數(shù)據(jù)屬 性中確定聚合維度,按照四叉樹的層級將用戶所選擇的地理范圍組織成四叉樹形式,在四 叉樹各個節(jié)點的內(nèi)容中存儲節(jié)點所對應(yīng)的地理范圍信息;
[0027] 聚合單元,依據(jù)源數(shù)據(jù)中保存的各條數(shù)據(jù)所對應(yīng)的地理信息將源數(shù)據(jù)中的各條數(shù) 據(jù)分別劃分至對應(yīng)的四叉樹節(jié)點中,從四叉樹各節(jié)點以及其子節(jié)點所包括的各條數(shù)據(jù)中提 取聚合維度所對應(yīng)的數(shù)據(jù)進行聚合得到輕量聚合數(shù)據(jù)。
[0028] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理裝置,報表模塊包括:
[0029] 范圍判斷單元,用于從四叉樹根節(jié)點開始遍歷各節(jié)點,根據(jù)節(jié)點的地理范圍信息 判斷各節(jié)點與用戶框選范圍之間的關(guān)系,若節(jié)點處于框選范圍之內(nèi)則將節(jié)點放入待判斷節(jié) 點集合;若節(jié)點處于框選范圍之外則將該節(jié)點丟棄;若節(jié)點與框選范圍相交,則繼續(xù)遍歷 該節(jié)點的子節(jié)點并判斷其子節(jié)點與框選范圍的關(guān)系。
[0030] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理裝置,范圍判斷單元遍歷 與框選范圍相交節(jié)點的子節(jié)點的過程包括:
[0031] 獲取該節(jié)點所屬地理范圍的中心點,判斷中心點與框選范圍的關(guān)系,若中心點處 于框選范圍內(nèi),則繼續(xù)遍歷并判斷該節(jié)點的四個子節(jié)點的下一級節(jié)點與框選范圍的關(guān)系; 若中心點處于框選范圍外,則將該節(jié)點的坐與與其中心節(jié)點各頂點的坐標(biāo)進行組合得到四 個子節(jié)點的各頂點坐標(biāo),判斷子節(jié)點各頂點坐標(biāo)是否落入到框選范圍內(nèi),若是,則繼續(xù)遍歷 并判斷該子節(jié)點的下一級節(jié)點與框選范圍的關(guān)系,若否,則將該子節(jié)點丟棄。
[0032] 優(yōu)化的,上述的一種基于空間位置的快速聯(lián)機分析處理裝置,預(yù)先處理模塊還用 于按從數(shù)據(jù)屬性中選擇的聚合維度將源數(shù)據(jù)按行政區(qū)劃聚合成行政區(qū)聚合表數(shù)據(jù);報表生 成模塊還用于根據(jù)查詢維度將用戶所選擇行政區(qū)的行政區(qū)聚合表數(shù)據(jù)進行聚合得到查詢 結(jié)果。
[0033] 因此,本發(fā)明具有如下優(yōu)點:1.融入基于地理坐標(biāo)的預(yù)統(tǒng)計,支持任意范圍內(nèi)任 意聚合維度的報表生成;2.滿足大數(shù)據(jù)情況下實時行政區(qū)劃和隨機范圍查詢的兩種能力, 以彌補傳統(tǒng)行政區(qū)劃查詢的不足。
【附圖說明】
[0034] 附圖1是本發(fā)明的數(shù)據(jù)預(yù)處理原理圖;
[0035] 附圖2是本發(fā)明的四叉樹劃分示意圖;
[0036] 附圖3是本發(fā)明的數(shù)據(jù)聚全流程圖;
[0037] 附圖4是本發(fā)明的報表生成流程圖;
[0038] 附圖5是本發(fā)明的四叉樹節(jié)點的中心點示意圖;
[0039] 附圖6是本發(fā)明的框選范圍內(nèi)的節(jié)點示意圖。
【具體實施方式】
[0040] 下面通過實施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進一步具體的說明。
[0041] 實施例:
[0042] 如圖1所示,首先需要進行數(shù)據(jù)的預(yù)處理操作,將源數(shù)據(jù)按空間維度聚合成以四 叉樹形式表示的聚合表數(shù)據(jù),這里的聚合表是為了提升特定維度層次的查詢所建立的,如 用戶關(guān)心的是省級按年度的統(tǒng)計數(shù)據(jù),則建立聚合表的時候,只需要保留時間和行政區(qū)劃 的維度,且只需要按省和年的層次進行聚合計算。同樣的,如果需要對任意范圍按年度進行 統(tǒng)計,那么在建立聚合表時就需要設(shè)置該聚合表的維度包含空間范圍和時間,并根據(jù)范圍 統(tǒng)計的精確程度選擇四叉樹的級別數(shù)。
[0043] 這里,四叉樹的級別代表聚合的空間