亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于視圖、ADO.Net和ArcEngine的空間數(shù)據(jù)聯(lián)合存取技術(shù)

        2012-12-31 00:00:00董哲

        摘要:隨著地理信息技術(shù)應(yīng)用的深入,尤其是大型企業(yè)的空間信息數(shù)據(jù)越來越多,對(duì)空間數(shù)據(jù)的管理要求就越來越多,也越來越高。優(yōu)化最終用戶的使用體驗(yàn)、提高數(shù)據(jù)的存取速度,變得越來越重要了。為了實(shí)現(xiàn)這些目標(biāo),本文著重介紹如何創(chuàng)建多版本視圖,以及如何實(shí)現(xiàn)ADO.Net數(shù)據(jù)源對(duì)空間數(shù)據(jù)庫的多表對(duì)多表的數(shù)據(jù)保存。

        關(guān)鍵詞:多版本視圖;空間數(shù)據(jù)存??;ADO.Net

        中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 20-0000-02

        1 引言

        隨著地理信息系統(tǒng)的快速發(fā)展,GIS產(chǎn)品也在很多領(lǐng)域廣泛應(yīng)用。眾所周知,地理信息與海量數(shù)據(jù)幾乎是同義詞,所以對(duì)空間數(shù)據(jù)的管理就顯得尤為重要了。基于ArcEngine的二次開發(fā)過程中,使用其提供的方法進(jìn)行數(shù)據(jù)存取時(shí)間開銷大,當(dāng)數(shù)據(jù)量大,業(yè)務(wù)復(fù)雜時(shí)更為明顯。故利用視圖和ADO.Net技術(shù)的優(yōu)勢(shì),來加速數(shù)據(jù)讀取并改善用戶體驗(yàn),是個(gè)好選擇。本文主要討論如何綜合使用視圖、ADO.Net和ArcEngine三種現(xiàn)有技術(shù)實(shí)現(xiàn)上述目標(biāo)。

        2 聯(lián)合存取空間數(shù)據(jù)技術(shù)概述

        2.1目的

        綜合使用三個(gè)技術(shù)進(jìn)行空間數(shù)據(jù)的管理,可以解決單獨(dú)使用ArcEngine技術(shù)存在的效率問題和復(fù)雜性問題,從而提高空間數(shù)據(jù)的讀取速度,改進(jìn)保存數(shù)據(jù)的方式。

        2.2存取策略

        SDE對(duì)空間數(shù)據(jù)庫進(jìn)行版本注冊(cè)后,各個(gè)要素集同時(shí)存在有基表,A表和D表等多個(gè)數(shù)據(jù)表,故不能用SQL直接查詢,而是要?jiǎng)?chuàng)建多版本視圖來實(shí)現(xiàn)。利用視圖技術(shù),優(yōu)化數(shù)據(jù)庫響應(yīng);利用ADO.Net技術(shù)進(jìn)行數(shù)據(jù)展示和離線編輯;將離線數(shù)據(jù)一次性保存到空間庫時(shí),底層使用ArcEngine的方法實(shí)現(xiàn),中層使用ADO.NET的強(qiáng)類型DataSet,分類處理新建、修改以及刪除的數(shù)據(jù),上層使用若干類實(shí)現(xiàn)ADO.NET多表對(duì)空間庫多表的關(guān)系描述和控制。

        3 讀取數(shù)據(jù)的實(shí)現(xiàn)

        3.1多版本視圖

        多版本化視圖將數(shù)據(jù)庫視圖、存儲(chǔ)過序、觸發(fā)器和函數(shù)整合在一起,用以通過SQL語言訪問地理數(shù)據(jù)庫表中指定版本的數(shù)據(jù)。

        下面介紹針對(duì)SQL Server Express創(chuàng)建多版本視圖的方法。

        (1)從SDE_TABLE_REGISTRY表中獲取每個(gè)空間數(shù)據(jù)庫中表或要素類的REGISTRATION_ID

        (2)從SYS.syscolumns表中查找對(duì)象表包含的列

        (3)創(chuàng)建單個(gè)視圖

        SELECT Fields, 0 SDE_STATE_ID FROM TableName AS b WHERE (NOT EXISTS

        (SELECT SDE_STATE_ID, SDE_DELETES_ROW_ID, DELETED_AT FROM DRegID AS d WHERE (b.OBJECTID = SDE_DELETES_ROW_ID) AND (SDE_STATE_ID = 0))) UNION ALL SELECT Fields,SDE_STATE_ID FROM aRegID AS a WHERE (NOT EXISTS(SELECT SDE_STATE_ID, SDE_DELETES_ROW_ID, DELETED_AT FROM DregID AS d WHERE (a.OBJECTID = SDE_DELETES_ROW_ID) AND (a.SDE_STATE_ID=SDE_STATE_ID)))

        上面SQL語句中,TableName為表或要素類的名稱,F(xiàn)ields為第二步的結(jié)果,RegID為第一步中的結(jié)果,替換后可創(chuàng)建針對(duì)單個(gè)要素類的多版本視圖。

        (4)創(chuàng)建全部視圖

        對(duì)所有需要?jiǎng)?chuàng)建多版本視圖的表或要素類執(zhí)行上一步操作。

        3.2 讀取視圖數(shù)據(jù)

        通過ADO.NET的強(qiáng)類型DataSet實(shí)現(xiàn)對(duì)多版本視圖的讀取和界面設(shè)計(jì),為日后用戶提供良好的操作體驗(yàn)。

        4 保存數(shù)據(jù)的實(shí)現(xiàn)

        4.1用于數(shù)據(jù)保存的類

        (1)GeoTabType

        此類定義了空間數(shù)據(jù)庫中目標(biāo)表的類型。分為表(ITable)和要素類(FeatureClass)。

        (2)GeoTabDescribe

        該類用于描述空間數(shù)據(jù)庫中某目標(biāo)表。包括表名、類型(GeoTabType)和包含的字段。

        (3)GeoTabDescribeList

        該類是GeoTabDescribe的集合。該類描述了其內(nèi)包含了哪些表或要素類。

        (4)ADOToGeoDescribe

        該類描述了一對(duì)多保存數(shù)據(jù)時(shí),表的對(duì)應(yīng)關(guān)系。 “一”為一個(gè)ADO.Net的DataTable;“多”指的是多個(gè)空間數(shù)據(jù)庫表或要素類,類型為第三步的類。

        (5)ADOToGeoDescribeList

        該類是描述了多對(duì)多保存數(shù)據(jù)時(shí)的對(duì)應(yīng)關(guān)系。它是第四步中類的集合。通過多次的一對(duì)多描述,來實(shí)現(xiàn)多對(duì)多的描述。

        (6)SDEHelper

        該類是對(duì)ArcEngine保存方法的封裝。主要提供新添、修改和刪除的方法。這些方法都無事務(wù)操作。

        (7)UpdateToGeoDB

        根據(jù)ADO.Net數(shù)據(jù)表與要素類的對(duì)應(yīng)關(guān)系,將數(shù)據(jù)保存到空間數(shù)據(jù)庫中。

        4.2保存數(shù)據(jù)的主要方法

        (1)分別獲取新添、修改和刪除的數(shù)據(jù)

        通過DataTable. GetChanges方法,從數(shù)據(jù)源中獲取DataRowState為Added、Modified和Deleted的數(shù)據(jù),組成三個(gè)表。

        (2)分別保存上一步的數(shù)據(jù)

        調(diào)用SDEHelper類的方法,將上一步得到的數(shù)據(jù)保存到空間數(shù)據(jù)庫中。使用DataRowVersion. Original從DataTable中獲取修改或刪除前的原始版本數(shù)據(jù)。

        (3)實(shí)現(xiàn)一對(duì)多保存

        將一個(gè)ADO.Net數(shù)據(jù)源中的數(shù)據(jù),保存到多個(gè)空間庫的表或要素類中。方法是對(duì)各表或要素類執(zhí)行一對(duì)一的保存。所有這些保存都無事務(wù)操作。

        (4)實(shí)現(xiàn)多對(duì)多保存

        通過循環(huán)調(diào)用一對(duì)多保存,實(shí)現(xiàn)多對(duì)多保存,并增加事務(wù)操作。實(shí)現(xiàn)多對(duì)多保存后,可以滿足一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多保存的各種需求。

        5 結(jié)論

        當(dāng)使用SDE引擎管理中心數(shù)據(jù)庫,各個(gè)子節(jié)點(diǎn)使用SQL Server Express的Personal ArcSDE,使用One Way子到父方式同步復(fù)制,子節(jié)點(diǎn)使用SQL Express編輯數(shù)據(jù)時(shí),采用多版本視圖查看數(shù)據(jù)是很不錯(cuò)的選擇;采用強(qiáng)類型DataSet對(duì)數(shù)據(jù)進(jìn)行展示、編輯,結(jié)合ArcEngine方法保存數(shù)據(jù),充分考慮了系統(tǒng)響應(yīng)、穩(wěn)定性、數(shù)據(jù)安全和用戶體驗(yàn)等因素。將視圖、ADO.Net和ArcEngine三個(gè)技術(shù)聯(lián)合起來存取空間數(shù)據(jù)是一個(gè)相對(duì)綜合、高效的方案。

        參考文獻(xiàn):

        [1]韓鵬,王泉,王鵬,漆煒,烏萌.地理信息系統(tǒng)開發(fā):ArcEngine方法[M].武漢.武漢大學(xué)出版社,2008.

        [2]李崴.Visual Basic .NET編程寶典[M].北京:電子工業(yè)出版社,2005,9.

        亚洲国产日韩欧美一区二区三区| 亚洲本色精品一区二区久久| 亚洲精品在线国产精品| 亚洲一区二区三区播放| 亚洲一级毛片免费在线观看| 久久精品国产亚洲av热一区| 国产精品久色婷婷不卡| 人妻无码一区二区不卡无码av| 国产日韩欧美亚洲精品中字| 加勒比精品一区二区三区| 国产情侣亚洲自拍第一页| 国产激情综合在线观看| 欧美在线视频免费观看| 亚洲熟女国产熟女二区三区| 99国产精品久久一区二区三区| 成人性生交大片免费看96| 五月婷一本到五月天| 偷拍一区二区三区在线观看 | 久久精品国产亚洲超碰av| a级毛片高清免费视频就| 亚洲高清在线不卡中文字幕网| 久久无码高潮喷水| 亚洲av无码久久精品蜜桃| 色丁香久久| 亚洲av一区二区三区网站 | 男男互吃大丁视频网站| 亚洲精品av一区二区| 久久无码专区国产精品s| 无码精品色午夜| 精品亚洲av一区二区| 久久精品国产99国产精品亚洲 | 国产在线一区二区三区四区不卡| av人摸人人人澡人人超碰妓女| 久久九九青青国产精品| 亚洲av日韩精品一区二区| 亚洲 欧美 国产 制服 动漫 | 成人麻豆日韩在无码视频| 亚洲综合av在线在线播放| 国产精品性一区二区三区| 在线观看免费日韩精品| 久久一区二区三区久久久|