• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

    胡睿瑾

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

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

    胡睿瑾

    (云南電網(wǎng)有限責任公司昆明供電局,昆明 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ù)導入配網(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è)計目標是在嵌入式設(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)標準的大多數(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應用程序。因此,此處主要描述通過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ì)量有著嚴格的要求,因此在生成配網(wǎng)設(shè)備之前需要根據(jù)配網(wǎng)GIS系統(tǒng)預定義的數(shù)據(jù)規(guī)則進行校驗。如果有不滿足規(guī)則的數(shù)據(jù)會進行相應的提示,需要將問題數(shù)據(jù)修改正確后才能進行導入。

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

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

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

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

    ·校驗技術(shù)參數(shù)對應的設(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è)備,而導線、電纜等屬于線設(shè)備。由于Oracle數(shù)據(jù)庫中圖形采用MDSYS.SDO_GEOMETRY類型表示,而db文件中的主要是坐標數(shù)據(jù)(x,y,z),因此需要進行一定的轉(zhuǎn)換才將db文件中的坐標信息寫入到數(shù)據(jù)庫中。

    為了最大化地復用代碼,將點和線圖形抽象為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é)點和前一導線的關(guān)系

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

    UpdateConnectRelationByDiff(preWireObject.GTObject,targetConn);

    //處理構(gòu)筑節(jié)點和后續(xù)導線的關(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ù)中得到應用,實現(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ù)文件恢復專題問答
    數(shù)據(jù)文件安全管控技術(shù)的研究與實現(xiàn)
    爐溫均勻性校驗在鑄鍛企業(yè)的應用
    SQL數(shù)據(jù)文件恢復工具
    分圖形
    找圖形
    圖形變變變
    大型電動機高阻抗差動保護穩(wěn)定校驗研究
    電測與儀表(2015年1期)2015-04-09 12:03:02
    基于加窗插值FFT的PMU校驗方法
    鍋爐安全閥在線校驗不確定度評定
    城口县| 洛宁县| 阜城县| 繁昌县| 广元市| 扎鲁特旗| 清新县| 阿拉善右旗| 日土县| 兴城市| 洛川县| 营口市| 谷城县| 邯郸市| 景德镇市| 自治县| 东乡| 乐至县| 同心县| 离岛区| 阿拉善右旗| 克拉玛依市| 鸡东县| 青冈县| 余姚市| 永康市| 宁陕县| 根河市| 七台河市| 台山市| 汝南县| 滕州市| 福鼎市| 慈溪市| 潼南县| 伊宁市| 南溪县| 云安县| 大丰市| 兴海县| 北流市|