精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:存儲(chǔ)技術(shù)專區(qū) → 正文

帶你走進(jìn)開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial

責(zé)任編輯:企業(yè)網(wǎng) |來(lái)源:企業(yè)網(wǎng)D1Net  2010-08-06 16:36:47 原創(chuàng)文章 企業(yè)網(wǎng)D1Net

MsSQLSpatial是一個(gè)開(kāi)源空間數(shù)據(jù)引擎項(xiàng)目,本文通過(guò)介紹這一項(xiàng)目的同時(shí),也對(duì)基于MS SQLServer 2005 CLR Integration(公共語(yǔ)言運(yùn)行時(shí)集成,下文簡(jiǎn)稱“CLR集成”)技術(shù)實(shí)現(xiàn)一個(gè)空間數(shù)據(jù)引擎及優(yōu)缺點(diǎn)做一些簡(jiǎn)單分析。

開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial項(xiàng)目

這個(gè)項(xiàng)目遵從于OGC Simple Features Specification for SQL Revision 1.1,基于兩個(gè)著名的.NET平臺(tái)下的開(kāi)源GIS項(xiàng)目NetTopologySuite(NetTopologySuite是JTS Topology Suite的C#/.net版本,簡(jiǎn)稱NTS)和SharpMap(一個(gè)基于.net 2.0的Map渲染類庫(kù))來(lái)構(gòu)建,所以劃分為NTS、SharpMap和SqlClr三大模塊,SqlClr這部分為CLR集成實(shí)現(xiàn)代碼。主要實(shí)現(xiàn)了基于SQLServer 2005 CLR集成的空間數(shù)據(jù)庫(kù)相關(guān)封裝。當(dāng)前提供了一個(gè)命令行工具來(lái)支持shape文件和PostGIS的數(shù)據(jù)導(dǎo)入。

開(kāi)發(fā)語(yǔ)言:C Sharp 2.0。

目前版本:Release 0.1.RC2。

許可協(xié)議:GNU LESSER GENERAL PUBLIC LICENSE Version 2.1。

MsSQLSpatial官方給的說(shuō)法是一個(gè)MS SQLServer2005空間擴(kuò)展(Spatial Extensions),確切地說(shuō)它應(yīng)該是一個(gè)專屬于SQLServer2005的空間數(shù)據(jù)引擎。所謂的空間數(shù)據(jù)引擎,其實(shí)就是基于關(guān)系型數(shù)據(jù)庫(kù)的空間數(shù)據(jù)庫(kù)技術(shù)的軟件實(shí)現(xiàn),實(shí)質(zhì)上是個(gè)封裝了空間領(lǐng)域知識(shí)的中間件,GIS等應(yīng)用層通過(guò)這個(gè)中間層與關(guān)系型數(shù)據(jù)庫(kù)交互。

典型的莫過(guò)于GIS開(kāi)發(fā)者都比較熟悉的ESRI ArcSDE,Supermap SDX+等等。那么,這個(gè)MsSQLSpatial與以前的空間數(shù)據(jù)引擎差別在哪里?下文我們將討論這個(gè)問(wèn)題。(實(shí)際上Oracle 10g也支持CLR集成,但在此不進(jìn)行相關(guān)比較。)

基于CLR集成的空間數(shù)據(jù)引擎

顯而易見(jiàn),每一次數(shù)據(jù)庫(kù)技術(shù)與數(shù)據(jù)訪問(wèn)技術(shù)的進(jìn)步發(fā)展都會(huì)帶動(dòng)空間數(shù)據(jù)存儲(chǔ)管理解決方案的進(jìn)步與發(fā)展,就好像關(guān)系型數(shù)據(jù)庫(kù)上BLOB數(shù)據(jù)類型的支持才使得空間數(shù)據(jù)庫(kù)實(shí)現(xiàn)了空間特征數(shù)據(jù)與屬性數(shù)據(jù)一體化存儲(chǔ)管理。

關(guān)于MS SQLServer 2005有哪些新特性,在這里筆者就不再贅述,相信微軟已做了大量宣傳。

且不管廣告如何,作為一個(gè)與整個(gè).NET平臺(tái)緊密集成的全新一代的數(shù)據(jù)庫(kù)產(chǎn)品,我們更關(guān)心它的新特性會(huì)給GIS最重要的組成部分之一“空間數(shù)據(jù)庫(kù)技術(shù)”帶來(lái)什么樣的解決方案。這個(gè)關(guān)鍵,就是它的“CLR集成”。

通過(guò)宿主Microsoft.net Framework 2.0公共語(yǔ)言運(yùn)行時(shí) (CLR),可以在SQLServer 2005上利用.net Framework類庫(kù)和任何如C#、VB、.net、C++/CLI等CLR語(yǔ)言來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用,擴(kuò)展用戶自己的類型系統(tǒng)和聚合函數(shù)。許多之前在SQLServer 2000上用T-SQL或擴(kuò)展存儲(chǔ)過(guò)程等編程模型難以實(shí)現(xiàn)的或無(wú)法實(shí)現(xiàn)的任務(wù)現(xiàn)在可以用托管代碼來(lái)完成,譬如幾何計(jì)算這樣具有復(fù)雜邏輯的計(jì)算密集型任務(wù)。

在空間數(shù)據(jù)庫(kù)的設(shè)計(jì)問(wèn)題上,沒(méi)有CLR集成技術(shù)的RDBMS例如SQLServer2000,在涉及查詢腳本的空間表達(dá)時(shí)就出現(xiàn)了問(wèn)題,T-SQL語(yǔ)句難以做到空間關(guān)系和屬性特征聯(lián)合查詢。

因此,空間索引和以二進(jìn)制方式存儲(chǔ)的空間特征數(shù)據(jù)都必須通過(guò)數(shù)據(jù)訪問(wèn)接口獲取出來(lái)映射到空間數(shù)據(jù)引擎這個(gè)中間層還原成空間對(duì)象才能完成空間關(guān)系的判斷。還有點(diǎn)不妙的就是每次涉及空間分析的操作都會(huì)從空間數(shù)據(jù)庫(kù)服務(wù)器中取出一部分冗余的結(jié)果集,如果在I/O密集的情況下則更糟。

SQLServer 2005上,非常顯著的一個(gè)特點(diǎn)是,這類基于CLR集成的開(kāi)發(fā)的.NET應(yīng)用程序集是直接部署在數(shù)據(jù)庫(kù)服務(wù)器上,SQLServer2005在進(jìn)程內(nèi)宿主.net CLR,外部GIS應(yīng)用層可直接與空間數(shù)據(jù)庫(kù)交互時(shí)使用T-SQL語(yǔ)句操作。

我們來(lái)看開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial的解決方案, MsSQLSpatial用CLR表值函數(shù)封裝了一組簡(jiǎn)單而有效的空間索引實(shí)現(xiàn),在這些CLR表值函數(shù)中實(shí)習(xí)了OGC簡(jiǎn)單特征規(guī)范定義的用于描述各種對(duì)象的空間關(guān)系的空間關(guān)系謂詞,由NTS類庫(kù)提供底層的空間對(duì)象和空間關(guān)系算子,在數(shù)據(jù)庫(kù)進(jìn)程內(nèi)部直接完成空間查詢操作。

SQL Server 2005數(shù)據(jù)庫(kù)CLR集成技術(shù)代碼和數(shù)據(jù)的緊密結(jié)合使我們能夠充分利用服務(wù)器的處理能力。而且因?yàn)樗鼫p少了數(shù)據(jù)層和中間層之間的流量,CLR 函數(shù)也可以利用到SQLServer 2005查詢處理器的并行和優(yōu)化功能。但如果在空間數(shù)據(jù)引擎中完全封裝,這無(wú)異于把密集計(jì)算的任務(wù)完全放在空間數(shù)據(jù)庫(kù)服務(wù)器上,在空間數(shù)據(jù)庫(kù)的I/O量與計(jì)算資源之間如何取舍,這是值得斟酌之處。

開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial體系架構(gòu)

MsSQLSpatial展望

MsSQLSpatial是開(kāi)源GIS網(wǎng)站Freegis.org于2006年8月份加入的一個(gè)新開(kāi)源項(xiàng)目,更新比較頻繁。正由于其剛剛開(kāi)始,可能作者忙于調(diào)整架構(gòu)和實(shí)現(xiàn)相關(guān)應(yīng)用,所以相關(guān)文檔和介紹相當(dāng)?shù)纳伲瑢?duì)其長(zhǎng)遠(yuǎn)的發(fā)展規(guī)劃和定位還不得而知。

這個(gè)新生的開(kāi)源項(xiàng)目目前還比較簡(jiǎn)單,沒(méi)有提供構(gòu)建高級(jí)空間索引的能力,進(jìn)行空間查詢時(shí)其僅是對(duì)最小外包矩形(MBR)比較后獲得粗略子集后就通過(guò)一個(gè)委托調(diào)用NTS中空間對(duì)象的操作算子進(jìn)行精確的匹配計(jì)算以獲得目標(biāo)結(jié)果集。

MsSQLSpatial目前也沒(méi)有柵格數(shù)據(jù)相關(guān)部分,要達(dá)到海量矢量/柵格管理,拓?fù)潢P(guān)系支持、長(zhǎng)事務(wù)、日志、多用戶并發(fā)、權(quán)限控制等商業(yè)層次要求的空間數(shù)據(jù)引擎還有很長(zhǎng)的距離。不過(guò)在這個(gè)技術(shù)體系框架之下,這個(gè)的緊密捆綁目前最好的商業(yè)關(guān)系型數(shù)據(jù)庫(kù)之一與采用先進(jìn)的數(shù)據(jù)庫(kù)編程模型的開(kāi)源空間數(shù)據(jù)庫(kù)項(xiàng)目,還是很具發(fā)展?jié)摿Φ模覀兤诖浜罄^版本能夠帶來(lái)更多的東西。

以上就是關(guān)于開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial的簡(jiǎn)單介紹。

關(guān)鍵字:

原創(chuàng)文章 企業(yè)網(wǎng)D1Net

x 帶你走進(jìn)開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial 掃一掃
分享本文到朋友圈
當(dāng)前位置:存儲(chǔ)技術(shù)專區(qū) → 正文

帶你走進(jìn)開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial

責(zé)任編輯:企業(yè)網(wǎng) |來(lái)源:企業(yè)網(wǎng)D1Net  2010-08-06 16:36:47 原創(chuàng)文章 企業(yè)網(wǎng)D1Net

MsSQLSpatial是一個(gè)開(kāi)源空間數(shù)據(jù)引擎項(xiàng)目,本文通過(guò)介紹這一項(xiàng)目的同時(shí),也對(duì)基于MS SQLServer 2005 CLR Integration(公共語(yǔ)言運(yùn)行時(shí)集成,下文簡(jiǎn)稱“CLR集成”)技術(shù)實(shí)現(xiàn)一個(gè)空間數(shù)據(jù)引擎及優(yōu)缺點(diǎn)做一些簡(jiǎn)單分析。

開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial項(xiàng)目

這個(gè)項(xiàng)目遵從于OGC Simple Features Specification for SQL Revision 1.1,基于兩個(gè)著名的.NET平臺(tái)下的開(kāi)源GIS項(xiàng)目NetTopologySuite(NetTopologySuite是JTS Topology Suite的C#/.net版本,簡(jiǎn)稱NTS)和SharpMap(一個(gè)基于.net 2.0的Map渲染類庫(kù))來(lái)構(gòu)建,所以劃分為NTS、SharpMap和SqlClr三大模塊,SqlClr這部分為CLR集成實(shí)現(xiàn)代碼。主要實(shí)現(xiàn)了基于SQLServer 2005 CLR集成的空間數(shù)據(jù)庫(kù)相關(guān)封裝。當(dāng)前提供了一個(gè)命令行工具來(lái)支持shape文件和PostGIS的數(shù)據(jù)導(dǎo)入。

開(kāi)發(fā)語(yǔ)言:C Sharp 2.0。

目前版本:Release 0.1.RC2。

許可協(xié)議:GNU LESSER GENERAL PUBLIC LICENSE Version 2.1。

MsSQLSpatial官方給的說(shuō)法是一個(gè)MS SQLServer2005空間擴(kuò)展(Spatial Extensions),確切地說(shuō)它應(yīng)該是一個(gè)專屬于SQLServer2005的空間數(shù)據(jù)引擎。所謂的空間數(shù)據(jù)引擎,其實(shí)就是基于關(guān)系型數(shù)據(jù)庫(kù)的空間數(shù)據(jù)庫(kù)技術(shù)的軟件實(shí)現(xiàn),實(shí)質(zhì)上是個(gè)封裝了空間領(lǐng)域知識(shí)的中間件,GIS等應(yīng)用層通過(guò)這個(gè)中間層與關(guān)系型數(shù)據(jù)庫(kù)交互。

典型的莫過(guò)于GIS開(kāi)發(fā)者都比較熟悉的ESRI ArcSDE,Supermap SDX+等等。那么,這個(gè)MsSQLSpatial與以前的空間數(shù)據(jù)引擎差別在哪里?下文我們將討論這個(gè)問(wèn)題。(實(shí)際上Oracle 10g也支持CLR集成,但在此不進(jìn)行相關(guān)比較。)

基于CLR集成的空間數(shù)據(jù)引擎

顯而易見(jiàn),每一次數(shù)據(jù)庫(kù)技術(shù)與數(shù)據(jù)訪問(wèn)技術(shù)的進(jìn)步發(fā)展都會(huì)帶動(dòng)空間數(shù)據(jù)存儲(chǔ)管理解決方案的進(jìn)步與發(fā)展,就好像關(guān)系型數(shù)據(jù)庫(kù)上BLOB數(shù)據(jù)類型的支持才使得空間數(shù)據(jù)庫(kù)實(shí)現(xiàn)了空間特征數(shù)據(jù)與屬性數(shù)據(jù)一體化存儲(chǔ)管理。

關(guān)于MS SQLServer 2005有哪些新特性,在這里筆者就不再贅述,相信微軟已做了大量宣傳。

且不管廣告如何,作為一個(gè)與整個(gè).NET平臺(tái)緊密集成的全新一代的數(shù)據(jù)庫(kù)產(chǎn)品,我們更關(guān)心它的新特性會(huì)給GIS最重要的組成部分之一“空間數(shù)據(jù)庫(kù)技術(shù)”帶來(lái)什么樣的解決方案。這個(gè)關(guān)鍵,就是它的“CLR集成”。

通過(guò)宿主Microsoft.net Framework 2.0公共語(yǔ)言運(yùn)行時(shí) (CLR),可以在SQLServer 2005上利用.net Framework類庫(kù)和任何如C#、VB、.net、C++/CLI等CLR語(yǔ)言來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用,擴(kuò)展用戶自己的類型系統(tǒng)和聚合函數(shù)。許多之前在SQLServer 2000上用T-SQL或擴(kuò)展存儲(chǔ)過(guò)程等編程模型難以實(shí)現(xiàn)的或無(wú)法實(shí)現(xiàn)的任務(wù)現(xiàn)在可以用托管代碼來(lái)完成,譬如幾何計(jì)算這樣具有復(fù)雜邏輯的計(jì)算密集型任務(wù)。

在空間數(shù)據(jù)庫(kù)的設(shè)計(jì)問(wèn)題上,沒(méi)有CLR集成技術(shù)的RDBMS例如SQLServer2000,在涉及查詢腳本的空間表達(dá)時(shí)就出現(xiàn)了問(wèn)題,T-SQL語(yǔ)句難以做到空間關(guān)系和屬性特征聯(lián)合查詢。

因此,空間索引和以二進(jìn)制方式存儲(chǔ)的空間特征數(shù)據(jù)都必須通過(guò)數(shù)據(jù)訪問(wèn)接口獲取出來(lái)映射到空間數(shù)據(jù)引擎這個(gè)中間層還原成空間對(duì)象才能完成空間關(guān)系的判斷。還有點(diǎn)不妙的就是每次涉及空間分析的操作都會(huì)從空間數(shù)據(jù)庫(kù)服務(wù)器中取出一部分冗余的結(jié)果集,如果在I/O密集的情況下則更糟。

SQLServer 2005上,非常顯著的一個(gè)特點(diǎn)是,這類基于CLR集成的開(kāi)發(fā)的.NET應(yīng)用程序集是直接部署在數(shù)據(jù)庫(kù)服務(wù)器上,SQLServer2005在進(jìn)程內(nèi)宿主.net CLR,外部GIS應(yīng)用層可直接與空間數(shù)據(jù)庫(kù)交互時(shí)使用T-SQL語(yǔ)句操作。

我們來(lái)看開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial的解決方案, MsSQLSpatial用CLR表值函數(shù)封裝了一組簡(jiǎn)單而有效的空間索引實(shí)現(xiàn),在這些CLR表值函數(shù)中實(shí)習(xí)了OGC簡(jiǎn)單特征規(guī)范定義的用于描述各種對(duì)象的空間關(guān)系的空間關(guān)系謂詞,由NTS類庫(kù)提供底層的空間對(duì)象和空間關(guān)系算子,在數(shù)據(jù)庫(kù)進(jìn)程內(nèi)部直接完成空間查詢操作。

SQL Server 2005數(shù)據(jù)庫(kù)CLR集成技術(shù)代碼和數(shù)據(jù)的緊密結(jié)合使我們能夠充分利用服務(wù)器的處理能力。而且因?yàn)樗鼫p少了數(shù)據(jù)層和中間層之間的流量,CLR 函數(shù)也可以利用到SQLServer 2005查詢處理器的并行和優(yōu)化功能。但如果在空間數(shù)據(jù)引擎中完全封裝,這無(wú)異于把密集計(jì)算的任務(wù)完全放在空間數(shù)據(jù)庫(kù)服務(wù)器上,在空間數(shù)據(jù)庫(kù)的I/O量與計(jì)算資源之間如何取舍,這是值得斟酌之處。

開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial體系架構(gòu)

MsSQLSpatial展望

MsSQLSpatial是開(kāi)源GIS網(wǎng)站Freegis.org于2006年8月份加入的一個(gè)新開(kāi)源項(xiàng)目,更新比較頻繁。正由于其剛剛開(kāi)始,可能作者忙于調(diào)整架構(gòu)和實(shí)現(xiàn)相關(guān)應(yīng)用,所以相關(guān)文檔和介紹相當(dāng)?shù)纳伲瑢?duì)其長(zhǎng)遠(yuǎn)的發(fā)展規(guī)劃和定位還不得而知。

這個(gè)新生的開(kāi)源項(xiàng)目目前還比較簡(jiǎn)單,沒(méi)有提供構(gòu)建高級(jí)空間索引的能力,進(jìn)行空間查詢時(shí)其僅是對(duì)最小外包矩形(MBR)比較后獲得粗略子集后就通過(guò)一個(gè)委托調(diào)用NTS中空間對(duì)象的操作算子進(jìn)行精確的匹配計(jì)算以獲得目標(biāo)結(jié)果集。

MsSQLSpatial目前也沒(méi)有柵格數(shù)據(jù)相關(guān)部分,要達(dá)到海量矢量/柵格管理,拓?fù)潢P(guān)系支持、長(zhǎng)事務(wù)、日志、多用戶并發(fā)、權(quán)限控制等商業(yè)層次要求的空間數(shù)據(jù)引擎還有很長(zhǎng)的距離。不過(guò)在這個(gè)技術(shù)體系框架之下,這個(gè)的緊密捆綁目前最好的商業(yè)關(guān)系型數(shù)據(jù)庫(kù)之一與采用先進(jìn)的數(shù)據(jù)庫(kù)編程模型的開(kāi)源空間數(shù)據(jù)庫(kù)項(xiàng)目,還是很具發(fā)展?jié)摿Φ模覀兤诖浜罄^版本能夠帶來(lái)更多的東西。

以上就是關(guān)于開(kāi)源空間數(shù)據(jù)引擎MsSQLSpatial的簡(jiǎn)單介紹。

關(guān)鍵字:

原創(chuàng)文章 企業(yè)網(wǎng)D1Net

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 工布江达县| 阿城市| 全椒县| 黄梅县| 双鸭山市| 西宁市| 安福县| 涪陵区| 弥勒县| 桓仁| 津市市| 洞头县| 宁河县| 马公市| 社旗县| 峨边| 横山县| 井冈山市| 福泉市| 垣曲县| 昆明市| 湾仔区| 五华县| 论坛| 阳城县| 鹰潭市| 鱼台县| 宜州市| 广南县| 乡城县| 平顶山市| 黑河市| 台东县| 绥阳县| 哈巴河县| 凤冈县| 大埔区| 牡丹江市| 揭西县| 礼泉县| 琼结县|