• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SpatialWare的空間數(shù)據(jù)庫引擎研究

      2016-07-06 22:09:04袁詠儀張旭盧涵宇
      科技尚品 2016年12期

      袁詠儀 張旭 盧涵宇

      摘 要:隨著空間信息技術(shù)的應(yīng)用越來越廣泛,解決用戶應(yīng)用系統(tǒng)與空間數(shù)據(jù)庫間的數(shù)據(jù)傳輸成為充分利用空間數(shù)據(jù)庫的關(guān)鍵問題,而空間數(shù)據(jù)庫引擎能解決上述問題。本文以Mapinfo公司的SpatialWare空間數(shù)據(jù)引擎為例,使用SpatialWare在SQL Server 2000上構(gòu)建了空間數(shù)據(jù)庫,通過編程實(shí)現(xiàn)地理空間數(shù)據(jù)的透明訪問、共享和互操作等功能,從而建立真正意義上的分布式空間地理數(shù)據(jù)庫。

      關(guān)鍵詞:SpatialWare;空間數(shù)據(jù)庫;空間數(shù)據(jù)引擎;空間索引;空間查詢

      空間數(shù)據(jù)庫,是以描述空間位置和點(diǎn)、線、面、體特征拓?fù)浣Y(jié)構(gòu)的位置數(shù)據(jù)及描述這些特征的屬性數(shù)據(jù)為對象的數(shù)據(jù)庫,它采用關(guān)系數(shù)據(jù)庫來組織管理空間地理數(shù)據(jù)和屬性數(shù)據(jù),提供對這些數(shù)據(jù)的有效存儲查詢和分析??臻g數(shù)據(jù)庫引擎(Spatial Database Engine,SDE)通過空間數(shù)據(jù)庫引擎實(shí)現(xiàn)客戶/服務(wù)器的分布計算模式,實(shí)現(xiàn)地理空間數(shù)據(jù)的透明訪問、共享和互操作,從而建立真正意義上的分布式空間地理數(shù)據(jù)庫。

      1 空間數(shù)據(jù)庫引擎的概念

      空間數(shù)據(jù)庫引擎是指提供存儲、查詢、檢索空間地理數(shù)據(jù),以及對空間地理數(shù)據(jù)進(jìn)行空間關(guān)系運(yùn)算和空間分析的程序功能集合。

      1.1 基于SpatialWare的數(shù)據(jù)庫引擎具備的基本功能

      (1)多用戶權(quán)限和并發(fā)訪問??臻g數(shù)據(jù)庫引擎對不同用戶必須提供不同的權(quán)限,同時提供對用戶的多線程執(zhí)行,支持多用戶對數(shù)據(jù)庫的并發(fā)訪問。

      (2)多空間數(shù)據(jù)庫管理。為了滿足人們對分布信息的需求共享,往往需要同時操作若干個空間數(shù)據(jù)庫。這就需要為用戶建立多空間數(shù)據(jù)庫管理,實(shí)現(xiàn)用戶對空間數(shù)據(jù)庫的透明、安全訪問。

      (3)空間數(shù)據(jù)索引功能??臻g數(shù)據(jù)庫索引技術(shù)通過篩選,排除大量與特定空間操作無關(guān)的地理對象,從而縮小了空間數(shù)據(jù)的操作范圍,用來提高系統(tǒng)對數(shù)據(jù)獲取的效率。

      (4)空間關(guān)系運(yùn)算和空間分析功能。在GIS系統(tǒng)體系結(jié)構(gòu)中,都需要空間數(shù)據(jù)庫引擎對空間數(shù)據(jù)加以處理,提供對空間地理數(shù)據(jù)必要的空間關(guān)系運(yùn)算和空間分析功能。

      (5)GSQL語句的解釋執(zhí)行。對用戶提交的GSQL語句進(jìn)行語義分析,根據(jù)GSQL語句的語義,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行必要的操作,構(gòu)造執(zhí)行結(jié)果。

      1.2 基于SpatialWare的空間數(shù)據(jù)模型、結(jié)構(gòu)和存儲方式

      SpatialWare空間數(shù)據(jù)模型可分為幾何元素、空間要素、空間實(shí)體、圖層4層結(jié)構(gòu);它的基本數(shù)據(jù)結(jié)構(gòu)有:圖層基本結(jié)構(gòu)、空間實(shí)體基本結(jié)構(gòu)、空間要素基本結(jié)構(gòu)、幾何要素基本結(jié)構(gòu);它的空間數(shù)據(jù)存儲主要包含3個部分:空間數(shù)據(jù)類型,空間數(shù)據(jù)索引,空間運(yùn)算函數(shù)。

      2 空間數(shù)據(jù)索引機(jī)制和管理方式

      2.1 空間數(shù)據(jù)的索引機(jī)制

      空間索引是對存儲在介質(zhì)上的數(shù)據(jù)位置信息的描述,用來提高系統(tǒng)對數(shù)據(jù)獲取的效率。SpatialWare采用的R樹空間索引提供效率。就R樹而言,認(rèn)為有N個實(shí)體被N個外接矩形(Rectangles,R)所包圍,R樹空間索引就是按包含實(shí)體的矩形來確定的,樹的層次表達(dá)了分辨率信息,每個實(shí)體與R樹的結(jié)點(diǎn)相聯(lián)系。

      2.2 基于SpatialWare的空間數(shù)據(jù)管理方式

      SpatialWare可以建立在兩層或三層結(jié)構(gòu)上。兩層結(jié)構(gòu)指的是系統(tǒng)分為兩部分,包括客戶端和服務(wù)器。在兩層的情況下,SpatialWare服務(wù)器通過SpatialWare中間驅(qū)動與MapInfo客戶溝通,它既作為數(shù)據(jù)服務(wù)器也作為空間處理服務(wù)器。三層架構(gòu)包括客戶,中間服務(wù)器/客戶層及服務(wù)器。最高一層處理用戶接口和數(shù)據(jù)流的問題,中間服務(wù)器/客戶層專門處理申請,底層則進(jìn)行數(shù)據(jù)管理。在三層的情況下,可以把空間數(shù)據(jù)處理和數(shù)據(jù)服務(wù)器放在一臺計算機(jī)上,中間使用SpatialWare接口(ODBC or C-API)和用戶互動。

      3 構(gòu)建基于SpatialWare的空間數(shù)據(jù)庫

      在使用空間數(shù)據(jù)表前,必須向表中加入空間字段,同時還應(yīng)該建立一個R樹索引。如果表是通過Mapinfo EasyLoader或者是Mapinfo Professional方法生成的,那么空間化數(shù)據(jù)庫所必需的字段和索引已經(jīng)被自動創(chuàng)建了,不必要手動創(chuàng)建。

      3.1 空間數(shù)據(jù)庫的創(chuàng)建

      經(jīng)過空間化的表中必須包含st_spatial類型的字段,這個字段用于保存空間幾何數(shù)據(jù),在默認(rèn)的情況下該字段名是SW_GEOMETRY,也可以是其他合法的名字。創(chuàng)建空間數(shù)據(jù)庫的方法是在一個普通關(guān)系數(shù)據(jù)庫中加入空間數(shù)據(jù)庫所需要的空間數(shù)據(jù)類型,空間數(shù)據(jù)處理函數(shù)和空間索引機(jī)制等內(nèi)容。以SpatialWare為例創(chuàng)建空間數(shù)據(jù)庫必須先建立一個普通數(shù)據(jù)庫,然后利用exec sp_spatialize_db對數(shù)據(jù)庫進(jìn)行空間化操作。

      3.2 空間數(shù)據(jù)表的創(chuàng)建

      創(chuàng)建空間數(shù)據(jù)表主要有3種方式:采用EasyLoader上傳空間數(shù)據(jù);采用T-SQL命令創(chuàng)建空間數(shù)據(jù)表或者空間化數(shù)據(jù)庫中的現(xiàn)有表;使用Mapinfo Professional把打開的地圖數(shù)據(jù)保存到數(shù)據(jù)庫中。一張空間數(shù)據(jù)表還必須包含一個非空、唯一的integer類型的關(guān)鍵字段。這個字段用來維護(hù)空間字段和R樹索引(spatialzed columns and R-tree indexing)。

      本文采用T-SQL命令創(chuàng)建空間數(shù)據(jù)表,具體實(shí)現(xiàn)方法如下:

      create table spatialtable(

      sw_member integer not null IDENTITY Primary Key,

      sw_geometry st_spatial)

      新建表名:spatialtable 關(guān)鍵字段:sw_member,非空、唯一的integer類型

      geometry字段:sw_geometry

      3.3 空間索引的創(chuàng)建

      使用T-SQL 命令為SpatialWare創(chuàng)建空間索引

      exec sp_sw_create_rtree '','

      铜川市| 桐庐县| 社旗县| 龙游县| 长沙县| 高平市| 双辽市| 改则县| 宁波市| 巢湖市| 南昌县| 白沙| 东宁县| 和平县| 班玛县| 马边| 全椒县| 富民县| 安新县| 滦平县| 南皮县| 延寿县| 新密市| 宝坻区| 望江县| 安阳市| 衡东县| 郴州市| 庆云县| 饶河县| 微山县| 长乐市| 河南省| 河津市| 普格县| 永清县| 上蔡县| 酒泉市| 平泉县| 彭山县| 汤原县|