国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SQLite數(shù)據(jù)文件的配網(wǎng)GIS自動成圖方法

2015-09-14 02:18胡睿瑾
中國管理信息化 2015年21期
關(guān)鍵詞:數(shù)據(jù)文件校驗圖形

胡睿瑾

(云南電網(wǎng)有限責(zé)任公司昆明供電局,昆明 650011)

基于SQLite數(shù)據(jù)文件的配網(wǎng)GIS自動成圖方法

胡睿瑾

(云南電網(wǎng)有限責(zé)任公司昆明供電局,昆明 650011)

主要闡述了從SQLite數(shù)據(jù)包到配網(wǎng)GIS系統(tǒng)中電網(wǎng)設(shè)備數(shù)據(jù)的自動轉(zhuǎn)換過程。包括通過SQLite數(shù)據(jù)文件實現(xiàn)移動端和配網(wǎng)GIS系統(tǒng)的數(shù)據(jù)交互,在配網(wǎng)GIS系統(tǒng)內(nèi)實現(xiàn)SQLite文件的讀取、數(shù)據(jù)驗證、自動成圖、自動建立電氣拓撲等一系列的自動操作。

SQLite;配網(wǎng)GIS;自動成圖

1 前言

配網(wǎng)GIS系統(tǒng)作為配網(wǎng)設(shè)備圖形數(shù)據(jù)、屬性數(shù)據(jù)、拓撲數(shù)據(jù)的管理平臺,可以為配網(wǎng)工作人員提供完整的配網(wǎng)網(wǎng)架信息、配網(wǎng)設(shè)備信息,為配網(wǎng)管理提供信息化手段。但由于配網(wǎng)設(shè)備數(shù)量巨大,如采用傳統(tǒng)的數(shù)據(jù)維護手段,逐個地進行手工錄入和維護,需要大量的數(shù)據(jù)錄入人員,在配網(wǎng)GIS系統(tǒng)中進行長時間的數(shù)據(jù)維護工作,且存在維護工作量大、投入資金多、容易出錯的問題。

另一方面,隨著智能移動設(shè)備的發(fā)展,通過移動端進行數(shù)據(jù)采集的技術(shù)也日趨成熟。通過移動端進行現(xiàn)場采集,再從移動端將數(shù)據(jù)導(dǎo)入配網(wǎng)GIS進行自動成圖就成為了業(yè)務(wù)發(fā)展的迫切需求。

2 SQLite簡介

SQLite是一款輕型的數(shù)據(jù)庫,實現(xiàn)了自給自足的、無服務(wù)器的、零配置的、事務(wù)性的SQL數(shù)據(jù)庫引擎,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標(biāo)是在嵌入式設(shè)備使用,目前已經(jīng)在很多嵌入式產(chǎn)品中使用[1]。其占用資源非常的低,在嵌入式設(shè)備中,只需要很低的內(nèi)存就夠了,并且能夠支持Windows/ Linux/Unix等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如C#、PHP、Java等。

SQLite具有以下特點:

·SQLite不需要配置,這意味著不需要安裝或管理。

·一個完整的SQLite數(shù)據(jù)庫是就是一個單一的跨平臺的磁盤文件。

·SQLite是非常小的,是輕量級的,完全配置時小于400KiB,省略可選功能配置時小于250KiB。

·SQLite是自給自足的,這意味著不需要任何外部的依賴。

·SQLite事務(wù)是完全兼容ACID的,允許從多個進程或線程安全訪問。

·SQLite支持SQL92(SQL2)標(biāo)準(zhǔn)的大多數(shù)查詢語言的功能。

·SQLite使用ANSI-C編寫的,并提供了簡單和易于使用的API。

·SQLite可在 UNIX(Linux,Mac OS-X,Android,iOS)和Windows(Win32,WinCE)中運行。

基于以上的特點,本方法采用SQLite作為移動端的數(shù)據(jù)庫,并且將其作為移動端和配網(wǎng)GIS系統(tǒng)間交互的文件格式。

3 配網(wǎng)GIS自動成圖

3.1SQLite數(shù)據(jù)文件的讀取

移動端完成數(shù)據(jù)采集后,只需要將SQLite文件傳送給配網(wǎng)GIS,后續(xù)的操作由配網(wǎng)GIS系統(tǒng)完成。SQLite的數(shù)據(jù)文件為*.db類型的文件,本文所述的配網(wǎng)GIS是采用C#開發(fā)的Windows應(yīng)用程序。因此,此處主要描述通過C#對db文件進行解析和讀取。

System.Data.SQLite是一個開源的 SQLite類庫,現(xiàn)在由SQLite小組維護。這個類庫無需.NET Framework支持,它內(nèi)部包含了一個ADO.NET 2.0引擎,所以.NET開發(fā)人員可以利用System.Data.SQLite方便地開發(fā).NET程序。System.Data.SQLite實現(xiàn)了眾多的接口和方法,支持對db文件的各類讀、寫操作。為了便于后續(xù)的驗證和成圖,減少數(shù)據(jù)通信的次數(shù),本方法通過System.Data.SQLite類庫,一次性將移動端上傳的db文件讀取至配網(wǎng)GIS系統(tǒng)的中進行緩存。

如將db文件的讀取至DataSet,代碼如下:

3.2數(shù)據(jù)質(zhì)量校驗

配網(wǎng)GIS系統(tǒng)對數(shù)據(jù)質(zhì)量有著嚴(yán)格的要求,因此在生成配網(wǎng)設(shè)備之前需要根據(jù)配網(wǎng)GIS系統(tǒng)預(yù)定義的數(shù)據(jù)規(guī)則進行校驗。如果有不滿足規(guī)則的數(shù)據(jù)會進行相應(yīng)的提示,需要將問題數(shù)據(jù)修改正確后才能進行導(dǎo)入。

為了方便隨時對db文件中數(shù)據(jù)進行校驗,滿足用戶進行離線的需求,將配網(wǎng)GIS系統(tǒng)對數(shù)據(jù)質(zhì)量要求進行提煉,得到了配網(wǎng)GIS系統(tǒng)的數(shù)據(jù)質(zhì)量校驗規(guī)則。并把這些規(guī)則導(dǎo)出為db文件,將規(guī)則數(shù)據(jù)保存到一個單獨的SQLite數(shù)據(jù)庫中,以便于校驗工具在離線的情況下讀取db文件信息進行數(shù)據(jù)校驗,而無需等到登錄系統(tǒng)后再進行校驗。

·校驗所有必填字段是否有值。

·校驗有備選值的字段是否在備選值中。

·校驗設(shè)備的功能位置是否存在。

·校驗技術(shù)參數(shù)對應(yīng)的設(shè)備是否存在。

·校驗饋線的電源點是否正確。

·校驗設(shè)備的前一構(gòu)筑是否存在。

·從電源點開始,校驗所有構(gòu)筑設(shè)備的順序是否正確?!ばr灅?gòu)筑設(shè)備和線纜設(shè)備的連接是否正確

3.3自動成圖

配網(wǎng)GIS系統(tǒng)中的設(shè)備信息只要有3類數(shù)據(jù),分別是:屬性數(shù)據(jù)、圖形數(shù)據(jù)、拓撲數(shù)據(jù)。其中,圖形數(shù)據(jù)和拓撲數(shù)據(jù)是GIS系統(tǒng)中特有的,本文重點闡述此兩類數(shù)據(jù)的生成,而屬性數(shù)據(jù)和其他的信息系統(tǒng)一樣,在此不進行詳細闡述。

現(xiàn)代水文考察發(fā)現(xiàn)漢江有三源:中源漾水,北源沮水,南源玉帶河,均在秦嶺南麓陜西省寧強縣境內(nèi)。流經(jīng)沔縣(今勉縣)稱沔水,東流至漢中始稱漢水;自安康至丹江口段,古稱滄浪水。

3.3.1生成圖形數(shù)據(jù)

配網(wǎng)GIS系統(tǒng)中主要包括3類圖形數(shù)據(jù):點、線、面。其中以點和線為主,比如:桿塔、柱上開關(guān)、柱上變壓器等屬于點設(shè)備,而導(dǎo)線、電纜等屬于線設(shè)備。由于Oracle數(shù)據(jù)庫中圖形采用MDSYS.SDO_GEOMETRY類型表示,而db文件中的主要是坐標(biāo)數(shù)據(jù)(x,y,z),因此需要進行一定的轉(zhuǎn)換才將db文件中的坐標(biāo)信息寫入到數(shù)據(jù)庫中。

為了最大化地復(fù)用代碼,將點和線圖形抽象為IGTGeometry,從而實現(xiàn)對點設(shè)備和線設(shè)備的統(tǒng)一處理。這需要聲明一個圖形接口類,以下是偽碼:

3.3.2生成拓撲數(shù)據(jù)

為了保證拓撲數(shù)據(jù)的正確性,本文采用先圖形后拓撲的思路,即等到所有的圖形數(shù)據(jù)都生成完畢后,再生成拓撲關(guān)系。由于配網(wǎng)GIS中的拓撲關(guān)系屬于多對多的關(guān)系,采用先圖形后拓撲的方法可以避免關(guān)系丟失或者不完整的問題。配網(wǎng)GIS中的拓撲數(shù)據(jù)主要包括2類,分別為包含關(guān)系和連接關(guān)系。

生成包含關(guān)系是采用“多退少補”的思路,即刪除已經(jīng)不存在的關(guān)系,增加新建的關(guān)系,生成包含關(guān)系的偽碼如下:

//獲取此設(shè)備已經(jīng)包含的線設(shè)備信息

var currentContainFeats=PowerNode.GTObject.GetContain-Features();

//在原關(guān)系中存在的,在新關(guān)系中不存在的,刪除

DeleteNotExistOldContainRelation(currentContainFeats);

//在新關(guān)系中存在的,在原關(guān)系中不存在的,新增

AddNewContainRelation(currentContainFeats);

生成連接關(guān)系方法與包含關(guān)系類似,同樣采用“多退少補”的方法。偽碼如下:

//處理構(gòu)筑節(jié)點和前一導(dǎo)線的關(guān)系

var targetConn=new List〈IGTKeyObject>{PowerNode. GTObject};

UpdateConnectRelationByDiff(preWireObject.GTObject,targetConn);

//處理構(gòu)筑節(jié)點和后續(xù)導(dǎo)線的關(guān)系

targetConnFeats=_relatedWires.ToList();

targetConnFeats.Remove(preWireObject.GTObject);

UpdateConnectRelationByDiff(PowerNode.GTObject,target-ConnFeats);

4 結(jié)語

本文主要闡述了通過SQLite數(shù)據(jù)文件為載體,實現(xiàn)db文件到配網(wǎng)GIS系統(tǒng)設(shè)備信息的轉(zhuǎn)換過程。主要包括在配網(wǎng)GIS系統(tǒng)內(nèi)讀取db文件,進行數(shù)據(jù)驗證、自動成圖、自動建立電氣拓撲等一系列的自動操作。本文所述的方法已經(jīng)在實際配網(wǎng)業(yè)務(wù)中得到應(yīng)用,實現(xiàn)了配網(wǎng)GIS設(shè)備的自動生成,為提升配網(wǎng)GIS的數(shù)據(jù)采集效率提供了技術(shù)支持手段。

10.3969/j.issn.1673-0194.2015.21.099

TN919

A

1673-0194(2015)21-0191-03

2015-09-07

猜你喜歡
數(shù)據(jù)文件校驗圖形
數(shù)據(jù)文件恢復(fù)專題問答
數(shù)據(jù)文件安全管控技術(shù)的研究與實現(xiàn)
爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
SQL數(shù)據(jù)文件恢復(fù)工具
分圖形
找圖形
圖形變變變
大型電動機高阻抗差動保護穩(wěn)定校驗研究
基于加窗插值FFT的PMU校驗方法
鍋爐安全閥在線校驗不確定度評定