專利名稱:地理xml數(shù)據(jù)庫(kù)管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種XML數(shù)據(jù)庫(kù)管理系統(tǒng)以及用于提供地理信息的數(shù)據(jù)庫(kù)。
背景技術(shù):
對(duì)于許多技術(shù)應(yīng)用而言,地理數(shù)據(jù)日益重要。例如,諸如街道、鐵路、 輸水管道和電網(wǎng)之類的基礎(chǔ)設(shè)施網(wǎng)絡(luò)的規(guī)劃經(jīng)常涉及地理學(xué)問(wèn)題。
越來(lái)越多的信息技術(shù)被使用以產(chǎn)生可用形式的地理學(xué)數(shù)據(jù),其遠(yuǎn)遠(yuǎn)超越 了簡(jiǎn)單地圖的能力。地理信息系統(tǒng)(GIS)允許將信息屬性鏈接到定位數(shù)據(jù), 例如將人鏈接到地址,將建筑鏈接到一塊地或者網(wǎng)絡(luò)內(nèi)的街道。將可用的地 理信息提供在允許對(duì)數(shù)據(jù)進(jìn)行單獨(dú)處理的若干層以及示出各層之間關(guān)系的完 整視圖中。
用于存儲(chǔ)地理信息的通用數(shù)據(jù)格式是所謂的形文件(shape file),其由 Redlands, California的ESRI公司開發(fā)。形文件將非拓?fù)鋷缀涡螤詈蛯傩孕畔?存儲(chǔ)在通用數(shù)據(jù)集中。針對(duì)一個(gè)特征定義空間特征的幾何形狀被存儲(chǔ)為包括 一組矢量坐標(biāo)的形狀。屬性信息通常被存儲(chǔ)為文本信息。
形文件可以支持點(diǎn)、線和面特征。面特征被表示為閉環(huán)、雙重?cái)?shù)字化 (double-digitized)多邊形。屬性被保存在犯八5£@格式文件中。每個(gè)屬性記錄
與相關(guān)形狀記錄具有一對(duì)一的關(guān)系。
ESRI形文件由主文件、索引文件和dBASE表格組成。主文件是一種可直 接訪問(wèn)、可變記錄長(zhǎng)度文件,其中每個(gè)記錄利用形狀的頂點(diǎn)列表來(lái)描述形 狀。在索引文件中,每個(gè)記錄包含距主文件起點(diǎn)的相應(yīng)主文件記錄的偏移 量。dBASE表格包含具有每個(gè)特征一個(gè)記錄的特征屬性。幾何形狀和屬性之 間的一對(duì)一關(guān)系是基于記錄號(hào)的。dBASE文件中的屬性記錄必須與主文件中 的記錄具有相同的順序。作為一個(gè)示例,形文件可以被用來(lái)在地理上反映某 一國(guó)家,其中,國(guó)家或州的形狀反映在主文件和索引文件中,而有關(guān)該國(guó)家 的附加信息屬性存儲(chǔ)在dBASE表格中的一個(gè)或多個(gè)屬性中。
3為了使得形文件所包含的信息可為用戶訪問(wèn)或用于進(jìn)一步的處理步驟, 必須將其轉(zhuǎn)換成不同的數(shù)據(jù)格式。可以利用 一些轉(zhuǎn)換工具來(lái)將地理數(shù)據(jù)轉(zhuǎn)換
為類似于GML和KML的XML格式,所述GML描述了幾何形狀本身,而 KML描述了如何顯示它們。然而,單獨(dú)轉(zhuǎn)換成某一文件格式是不足以輔助使 用形文件的。還需要在多個(gè)其他形文件中對(duì)某一形文件進(jìn)行有效檢索。
所以本發(fā)明的一個(gè)方面在于,基于所述技術(shù)問(wèn)題,輔助對(duì)幾何數(shù)據(jù),特 別是形狀文件的檢索和管理,以使得在所述文件中存儲(chǔ)的幾何信息很容易被 用戶訪問(wèn)或用于進(jìn)一步的處理步驟。
發(fā)明內(nèi)容
在本發(fā)明的一個(gè)方面中,通過(guò)根據(jù)權(quán)利要求1的用于提供地理信息的 XML數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)解決該問(wèn)題。在一個(gè)實(shí)施例中,XML數(shù)據(jù)庫(kù)管理系統(tǒng) 包括裝入程序,該裝入程序能夠根據(jù)預(yù)定義的XML模式將地理空間數(shù)據(jù)文 檔特別是形文件轉(zhuǎn)換成XML文檔,其中,預(yù)定義的XML模式定義了將被存 儲(chǔ)在XML文檔的單個(gè)XML節(jié)點(diǎn)中的非拓?fù)鋷缀涡螤詈蛯傩裕灰约癤Queiy能 力,該XQueiy能力使得用戶能夠基于XML文檔的一個(gè)或多個(gè)屬性而對(duì)其進(jìn) 行檢索。
本發(fā)明基于以下認(rèn)識(shí)如果地理空間數(shù)據(jù)文檔所轉(zhuǎn)換成的XML文檔遵循 一 XML模式,該XML模式定義了地理空間信息和相關(guān)屬性一起被存儲(chǔ)在單 個(gè)節(jié)點(diǎn)中,則XML數(shù)據(jù)庫(kù)系統(tǒng)將能夠用于有效存儲(chǔ)和檢索地理信息。因此, 可以基于屬性的值執(zhí)行XQuery査找,其中該查找不僅提供屬性而且提供整個(gè) 地理空間文檔。優(yōu)選的是,XML數(shù)據(jù)庫(kù)管理系統(tǒng)還包括用于以可伸縮矢量圖 形(SVG)格式和/或KML格式和/或作為形文件來(lái)輸出XML文檔的輸出能 力,以使得任意被檢索到的地理空間文檔可以立即被顯示或被進(jìn)一步處理。
在一個(gè)實(shí)施例中,基于用戶輸入定義了用于裝入程序的XML模式。因 此,用戶能夠定義地理空間文檔如何被轉(zhuǎn)換成一般的XML文檔,這又將影響 利用XQuery可以如何查找所存儲(chǔ)的文檔。
根據(jù)另一方面,本發(fā)明涉及一種提供地理信息的方法,該方法包括以下 步驟根據(jù)預(yù)定義的XML模式將地理空間數(shù)據(jù)文檔特別是形文件轉(zhuǎn)換成 XML文檔,其中,預(yù)定義的XML模式定義了將被存儲(chǔ)在單個(gè)XML節(jié)點(diǎn)中的地理空間數(shù)據(jù)和屬性;以及基于一個(gè)或多個(gè)屬性執(zhí)行XQueiy以檢索XML文 檔。該方法還包括以下步驟以可伸縮矢量圖形(SVG)格式和減KML格式 和/或作為形文件來(lái)輸出XML文檔。
最后,本發(fā)明涉及一種XML數(shù)據(jù)庫(kù),其包括以上描述的任意XML數(shù)據(jù) 庫(kù)管理系統(tǒng),以及涉及一種計(jì)算機(jī)程序,其包括適于執(zhí)行以上所述方法的指 令。
以下將參考附圖進(jìn)一步描述本發(fā)明的實(shí)施例,在附圖中
圖1:示意性圖示出了根據(jù)本發(fā)明的方法的實(shí)施例的流程圖2:具有在單個(gè)XML節(jié)點(diǎn)中存儲(chǔ)的地理信息和屬性信息的XML文檔
的示意性表示;以及
圖3:用于基于施加在屬性上的條件對(duì)圖2的XML文檔進(jìn)行檢索的
XQuery的示例。
具體實(shí)施例方式
下面描述本發(fā)明方法的示例性實(shí)施例。將能理解的是以下所描述的功
能能夠以多種可選方式來(lái)實(shí)施,例如在用于單個(gè)XML數(shù)據(jù)庫(kù)的管理系統(tǒng)中、 在具有集成存儲(chǔ)器或外部存儲(chǔ)器的多個(gè)XML數(shù)據(jù)庫(kù)的分布式布置中,等等。
數(shù)據(jù)庫(kù)管理系統(tǒng)能夠緊密地與數(shù)據(jù)庫(kù)本身集成或者被單獨(dú)提供。對(duì)于本發(fā)明
而言,所述實(shí)現(xiàn)方式的細(xì)節(jié)并不是必要的。
圖1提供了描述以下處理的示例性步驟的示意性流程圖,所述處理用于 將地理空間數(shù)據(jù)存儲(chǔ)在XML數(shù)據(jù)庫(kù)中并且使用XQuery來(lái)檢索所存儲(chǔ)的數(shù) 據(jù)。如步驟1所示,數(shù)據(jù)可以作為各種文件格式的輸入而被提供,所述各種 文件格式例如是具有擴(kuò)展名.shp, .shx和.dbf的形文件。其他合適的文件格式 也是可能用作輸入的。
在步驟2,根據(jù)給定的XML模式(schema),通過(guò)海量裝入程序(mass loader)(未示出)將地理數(shù)據(jù)轉(zhuǎn)換成XML文檔。取決于某組地理空間數(shù)據(jù) 的結(jié)構(gòu),特別是形文件的.dbf文件所包含的各種屬性,可以使用適合的XML模式。此外,預(yù)定義的XML模式也將影響以后如何能夠從XML數(shù)據(jù)庫(kù)中檢 索指定集的地理空間數(shù)據(jù)。
轉(zhuǎn)換之后,在步驟3,所產(chǎn)生的XML文檔以與任何其它XML文檔相同 的方式被存儲(chǔ)到XML數(shù)據(jù)庫(kù)中。名為"Tamino"的從申請(qǐng)人處可獲得的數(shù)據(jù) 庫(kù)是適合于執(zhí)行步驟3的XML數(shù)據(jù)庫(kù)的一個(gè)示例。
在目前優(yōu)選的實(shí)施例中,預(yù)定義的XML模式是特定于Tamino的XML模 式。因此,將繼承Tamino中的XML模式的以下優(yōu)點(diǎn)
-Tamino定義了具有各自名稱的屬于給定集合的文檔類型 ("doctypes"),并且指定它們是否允許存儲(chǔ)XML或非XML文檔。
-在將該文檔存儲(chǔ)在Tamino內(nèi)的同時(shí),模式確保在該模式中定義的 doctype中所存儲(chǔ)的每個(gè)實(shí)例相對(duì)于該模式是有效的。
-Tamino例如將索引或校對(duì)(collation)選項(xiàng)與在所述模式中定義的元素和 屬性相關(guān)聯(lián)。這些選項(xiàng)對(duì)于性能和排序問(wèn)題是很重要的。
-Tamino將映射信息與元素和屬性相關(guān)聯(lián)。該特征允許指定他們是本地存 儲(chǔ)在Tamino中還是(經(jīng)由X-Tension)存儲(chǔ)在外部數(shù)據(jù)存儲(chǔ)器,例如Adabas 或SQL數(shù)據(jù)庫(kù)中。在査詢時(shí),從外部數(shù)據(jù)庫(kù)中檢索這些元素和屬性。
-Tamino允許指定觸發(fā)功能,當(dāng)文檔被插入到Tamino數(shù)據(jù)存儲(chǔ)器或從 Tamino數(shù)據(jù)存儲(chǔ)器中刪除時(shí),該功能被調(diào)用。
圖2提供了如圖1的轉(zhuǎn)換步驟2所提供的包含地理空間信息的XML文檔 的簡(jiǎn)化示例。如所能夠看到的那樣,定義多邊形形狀的非拓?fù)湫畔?0和關(guān)于 在XML文檔中定義的地理空間對(duì)象的屬性信息20 —起被存儲(chǔ)在單個(gè)節(jié)點(diǎn) 中。在圖2的示例中,節(jié)點(diǎn)定義了國(guó)家India,并且屬性信息指示該國(guó)家人口 數(shù)量。雖然圖2的示例僅給出了單個(gè)屬性20,但可以存在包含在單個(gè)節(jié)點(diǎn)中 的更多的并且具有樹型層次的結(jié)構(gòu)化屬性。
轉(zhuǎn)換成一般的XML文檔并且隨后存儲(chǔ)在XML數(shù)據(jù)庫(kù)中的重要優(yōu)點(diǎn)是容 易檢索所存儲(chǔ)的地理空間數(shù)據(jù)。如以下參考圖3示例將要說(shuō)明的那樣,通過(guò) 對(duì)屬性使用XQuery對(duì)屬性定義査詢,能夠很容易地檢索地理空間數(shù)據(jù)。
在圖3的XQuery示例中,在節(jié)點(diǎn)々tat^上定義一些條件,也就是,其包 括屬性"population"并且該屬性的值處于所指示的限制1000000-2000000以 內(nèi)。很明顯,這僅僅是簡(jiǎn)單的示例,并且到目前為止,對(duì)節(jié)點(diǎn)的一個(gè)或多個(gè)屬性的更加復(fù)雜的査詢可以使用XQueiy、以本領(lǐng)域技術(shù)人員公知的方式來(lái)定 義。
在圖l流程圖的步驟4中,執(zhí)行定義過(guò)的查詢。因此,XML數(shù)據(jù)庫(kù)將提 供符合在查詢中定義的條件的一個(gè)或多個(gè)XML文檔。這些結(jié)果能夠簡(jiǎn)單地輸 出給用戶,例如通過(guò)列舉所檢索到的節(jié)點(diǎn)的名稱。替代地或者另外地,它們 能夠立即被進(jìn)一步處理,例如通過(guò)將所檢索到的XML文檔轉(zhuǎn)換成一個(gè)或多個(gè) 特殊輸出格式,這些特殊的輸出格式適合于進(jìn)一步的處理,例如為隨后的顯 示或打印輸出而再現(xiàn)XML文檔中所定義的地理空間對(duì)象。
適合于顯示的一種格式示例是KML格式。KML是一種用于在地球?yàn)g覽 器中顯示地理數(shù)據(jù)的文件格式,地球?yàn)g覽器例如是Google Earth, Google Map 以及用于移動(dòng)通信的Google Map。 KML具有基于標(biāo)簽的結(jié)構(gòu),該結(jié)構(gòu)具有用 于特定顯示目的的名稱和屬性。所以,Google Earth和Map用作針對(duì)KML文 件的瀏覽器。KML格式中查詢結(jié)果的輸出例如允許指定屏幕上的圖像覆蓋。 采用圖3中的示例性XQuery, XML數(shù)據(jù)庫(kù)的一種可能響應(yīng)可以是基于在所檢 索到的XML文檔中存儲(chǔ)的地理空間信息而在屏幕上或任意其他顯示設(shè)備上呈 現(xiàn)印度的Gujarat州的形狀。
適合于輸出和進(jìn)一步處理XQuery結(jié)果的另一格式是由Adobe開發(fā)的可縮 放矢量圖形(SVG)格式。SVG使得網(wǎng)頁(yè)開發(fā)者和設(shè)計(jì)者能夠利用精確的結(jié) 構(gòu)和直觀控制根據(jù)實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)創(chuàng)建生成的高質(zhì)量圖形。所產(chǎn)生的SVG文件 能夠用于顯示針對(duì)與XQuery內(nèi)容"相關(guān)聯(lián)"的國(guó)家或某一地理區(qū)域(例如石 油鉆探要求)的地圖。
最后,優(yōu)選的是,XML數(shù)據(jù)庫(kù)也能夠?qū)⒉樵兘Y(jié)果輸出為形文件,也就是 與用于圖1流程圖的步驟1中的地理空間信息的輸入具有相同的格式。
權(quán)利要求
1. 一種用于提供地理信息的XML數(shù)據(jù)庫(kù)管理系統(tǒng),包括a. 裝入程序,該裝入程序能夠根據(jù)預(yù)定義的XML模式將地理空間數(shù)據(jù)文檔特別是形文件轉(zhuǎn)換(1)成XML文檔,其中,所述預(yù)定義的XML模式定義了將被存儲(chǔ)在XML文檔的單個(gè)XML節(jié)點(diǎn)中的地理空間數(shù)據(jù)(10)和屬性(20);以及b. XQuery能力,使得用戶能夠基于XML文檔的一個(gè)或多個(gè)屬性而對(duì)該XML文檔進(jìn)行檢索(4)。
2. 根據(jù)權(quán)利要求1所述的XML數(shù)據(jù)庫(kù)管理系統(tǒng),還包括用于以可伸縮矢 量圖形(SVG)格式和/或KML格式輸出XML文檔的輸出能力。
3. 根據(jù)權(quán)利要求1或2所述的XML數(shù)據(jù)庫(kù)管理系統(tǒng),還包括用于將XML 文檔輸出為形文件的輸出能力。
4. 根據(jù)先前的權(quán)利要求任一項(xiàng)所述的XML數(shù)據(jù)庫(kù)管理系統(tǒng),其中,所述 形文件包括.shp、 .shx和.dbf文件。
5. 根據(jù)先前的權(quán)利要求任一項(xiàng)所述的XML數(shù)據(jù)庫(kù)管理系統(tǒng),其中,基于 用戶輸入來(lái)定義用于所述裝入程序的XML模式。
6. —種XML數(shù)據(jù)庫(kù)系統(tǒng),包括XML數(shù)據(jù)庫(kù)和根據(jù)權(quán)利要求1-5任一項(xiàng) 所述的XML數(shù)據(jù)庫(kù)管理系統(tǒng)。
7. —種提供地理信息的方法,包括以下步驟a. 根據(jù)預(yù)定義的XML模式將地理空間數(shù)據(jù)文檔特別是形文件轉(zhuǎn)換(1) 成XML文檔,其中,所述預(yù)定義的XML模式定義了將被存儲(chǔ)在XML文檔 的單個(gè)XML節(jié)點(diǎn)中的地理空間數(shù)據(jù)(10)和屬性(20);以及b. 基于一個(gè)或多個(gè)屬性(20)執(zhí)行XQuery以檢索(4) XML文檔。
8. 根據(jù)權(quán)利要求7所述的方法,還包括以下步驟以可伸縮矢量圖形 (SVG)格式和/或KML格式和/或作為形文件輸出XML文檔。
9. 根據(jù)權(quán)利要求8所述的方法,其中,所述形文件包括.shp, .shx和.dbf文件。
10. 一種計(jì)算機(jī)程序,包括適于執(zhí)行權(quán)利要求7-9任一項(xiàng)所述方法的指令。
全文摘要
本發(fā)明涉及一種地理XML數(shù)據(jù)庫(kù)管理系統(tǒng)。在一個(gè)實(shí)施例中,用于提供地理信息的XML數(shù)據(jù)庫(kù)管理系統(tǒng)包括裝入程序,能夠根據(jù)預(yù)定義的XML模式將地理空間數(shù)據(jù)文檔特別是形文件轉(zhuǎn)換(1)成XML文檔,其中,預(yù)定義的XML模式定義了將被存儲(chǔ)在XML文檔的單個(gè)XML節(jié)點(diǎn)中的地理空間數(shù)據(jù)(10)和屬性(20);以及XQuery能力,使得用戶能夠基于XML文檔的一個(gè)或多個(gè)屬性(20)而對(duì)其進(jìn)行檢索(4)。
文檔編號(hào)G06F17/30GK101425080SQ20081017996
公開日2009年5月6日 申請(qǐng)日期2008年10月23日 優(yōu)先權(quán)日2007年10月23日
發(fā)明者科沃·B·瓦拉 申請(qǐng)人:軟件股份公司