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

        ?

        基于ADO的地下管線數(shù)據(jù)圖庫轉(zhuǎn)換框架研究

        2017-07-07 12:44:22何濤
        城市勘測 2017年3期
        關(guān)鍵詞:測繪數(shù)據(jù)庫信息

        何濤

        (天津市測繪院,天津 300381)

        基于ADO的地下管線數(shù)據(jù)圖庫轉(zhuǎn)換框架研究

        何濤*

        (天津市測繪院,天津 300381)

        地下綜合管線數(shù)據(jù)是城市建設(shè)和管理的重要數(shù)據(jù)資源,在城市管理中發(fā)揮著越來越重要的作用,然而傳統(tǒng)的地下管線數(shù)據(jù)用CAD圖紙進(jìn)行保存,這種方式比較難于利用到信息化過程中。本文利用的基于ADO的地下管線數(shù)據(jù)圖庫轉(zhuǎn)換框架研究,實(shí)現(xiàn)了地下管線數(shù)據(jù)的圖庫無縫轉(zhuǎn)換,結(jié)合數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)地下管線信息的標(biāo)準(zhǔn)化平臺建設(shè),實(shí)現(xiàn)了地下管線數(shù)據(jù)從數(shù)字化向信息化的轉(zhuǎn)型。

        地下管線;數(shù)據(jù)庫;ADO;圖庫轉(zhuǎn)換

        1 引 言

        如何管理屬性信息復(fù)雜的地下空間數(shù)據(jù),已經(jīng)成為當(dāng)今的重要課題。當(dāng)前的地下管線數(shù)據(jù)正在擺脫冗雜、標(biāo)準(zhǔn)不一的窘境,管線數(shù)據(jù)采集系統(tǒng)的研究也是層出不窮,基于AutoCAD的管線數(shù)據(jù)采集系統(tǒng)已經(jīng)成為成熟模式。當(dāng)前地理信息數(shù)據(jù)量飛速增長,僅僅局限于對數(shù)據(jù)采集和管線成圖進(jìn)行研究已經(jīng)遠(yuǎn)遠(yuǎn)不夠,數(shù)據(jù)管理、系統(tǒng)銜接、信息共享、跨平臺數(shù)據(jù)調(diào)用的研究已經(jīng)成為主流。本文利用數(shù)據(jù)庫技術(shù),結(jié)合AutoLISP/Visual LISP、ObjectARX進(jìn)行二次開發(fā)以及ADO技術(shù)實(shí)現(xiàn)圖庫數(shù)據(jù)轉(zhuǎn)換框架,并對系統(tǒng)技術(shù)路線和重要環(huán)節(jié)進(jìn)行了闡述。

        2 總體技術(shù)路線

        地下管線圖庫數(shù)據(jù)相互轉(zhuǎn)換框架分為兩大部分。一是圖形文件管理,圖形文件的數(shù)據(jù)存儲格式主要是DWG文件和SHP文件,其中DWG文件是數(shù)據(jù)框架中前臺圖形表達(dá)的主要形式,SHP文件源于DWG并繼承CAD圖形信息,是多平臺數(shù)據(jù)訪問的重要數(shù)據(jù)格式;二是數(shù)據(jù)庫設(shè)計(jì),CAD圖形屬性信息的存儲通過數(shù)據(jù)庫完成,主要通過MDB文件對數(shù)據(jù)結(jié)構(gòu)、類型及其表空間邏輯進(jìn)行管理,在圖文互查、數(shù)據(jù)同步方面起到重要作用。

        在圖庫數(shù)據(jù)相互轉(zhuǎn)的實(shí)現(xiàn)過程中,采用圖形和數(shù)據(jù)庫相嵌的設(shè)計(jì)理念,利用AutoCAD中圖形實(shí)體屬性數(shù)據(jù)列表中的擴(kuò)展字段來存儲對應(yīng)圖形的空間及屬性信息,使圖形和數(shù)據(jù)庫緊密地結(jié)合在一起,做到圖庫一體。同時圖形本身所蘊(yùn)含的豐富信息還能被系統(tǒng)自動識別、提取和利用,采用統(tǒng)一的要素編碼建立圖庫通訊機(jī)制,采用ADO數(shù)據(jù)庫通信技術(shù)實(shí)現(xiàn)圖庫雙向轉(zhuǎn)換,無論是在圖形上還是在數(shù)據(jù)庫中進(jìn)行信息改動的操作都同時作用在圖形和數(shù)據(jù)庫上,達(dá)到圖庫聯(lián)動。整體設(shè)計(jì)如圖1所示:

        圖1 總體設(shè)計(jì)框架圖

        2.1 圖形文件標(biāo)準(zhǔn)設(shè)計(jì)

        圖形文件數(shù)據(jù)也是地下管線信息數(shù)據(jù)的重要組成部分,因此在設(shè)計(jì)了地下管線采集系統(tǒng)屬性數(shù)據(jù)標(biāo)準(zhǔn)的基礎(chǔ)上,還需對圖形文件進(jìn)行系統(tǒng)的設(shè)計(jì),使其更加規(guī)范化,為地下管線的圖形文件(*.dwg)和數(shù)據(jù)庫文件(*.mdb)之間的相互轉(zhuǎn)換,做好鋪墊。

        為了規(guī)范每一大類管線點(diǎn)及其附屬設(shè)施的符號樣式、符號尺寸及管點(diǎn)編碼及代碼等諸多基本屬性信息情況,實(shí)現(xiàn)與地下管線數(shù)據(jù)庫中管點(diǎn)表的相互關(guān)聯(lián),使得管線探測的最終圖形成果更加規(guī)范化,本文按照《城市地下管線探測技術(shù)規(guī)程》CJJ61-2003的相關(guān)要求,設(shè)計(jì)了一套嚴(yán)密的管點(diǎn)符號及標(biāo)準(zhǔn)代碼標(biāo)準(zhǔn)。表1以電信管線為例,列舉了部分電信附屬設(shè)施的管點(diǎn)編碼、符號樣式、符號尺寸等信息。

        管點(diǎn)符號及標(biāo)準(zhǔn)代碼示例表 表1

        同樣地,為了規(guī)范每一大類管線不同子類的編碼名稱、管線編碼等諸多基本屬性信息情況,實(shí)現(xiàn)與地下管線數(shù)據(jù)庫中管線表的相互關(guān)聯(lián),使得管線探測的最終圖形成果更加規(guī)范化,本文依《城市地下管線探測技術(shù)規(guī)程》CJJ61-2003為依據(jù)設(shè)計(jì)了一套嚴(yán)密的管點(diǎn)符號及標(biāo)準(zhǔn)代碼標(biāo)準(zhǔn)。表2以給水和排水管線為例,列舉了不同種類排水管線的編碼名稱、管線編碼及代碼等信息。

        管線標(biāo)準(zhǔn)代碼示例表 表2

        2.2 地下管線數(shù)據(jù)庫設(shè)計(jì)

        結(jié)合地下管線信息系統(tǒng)的拓?fù)浠幚砗涂臻g分析的需求,根據(jù)探測對象和屬性信息類別的不同[3],本文歸納出共包含3個表的數(shù)據(jù)庫,即管點(diǎn)表、管線表和工程信息表。在分析了上述表類型、數(shù)據(jù)庫項(xiàng)和外業(yè)探查數(shù)據(jù)流程的基礎(chǔ)上,以管線表和管點(diǎn)表為例(表3、表4),介紹數(shù)據(jù)表結(jié)構(gòu)的設(shè)計(jì)形式。具體如下:

        其中,Access以自增序列作為管線表的主鍵用于唯一識別,表中的起始點(diǎn)號和終止點(diǎn)號由特定標(biāo)識碼組成,包含管點(diǎn)類型、性質(zhì)等屬性信息,作為管線表的外鍵(Foreign Key)、管點(diǎn)表的主鍵(primary key)在表中存儲,依據(jù)指定的約束形成關(guān)聯(lián)。根據(jù)起始點(diǎn)號與終止點(diǎn)號兩個外鍵的運(yùn)算可以實(shí)現(xiàn)由管點(diǎn)生成管線的自動化。表中制定了數(shù)據(jù)類型和精度,屬性信息也為跨平臺的顯示參數(shù)做好了數(shù)據(jù)儲備。

        管線表結(jié)構(gòu) 表3

        管點(diǎn)表結(jié)構(gòu) 表4

        3 基于ADO的數(shù)據(jù)圖庫轉(zhuǎn)換框架

        3.1 ADO數(shù)據(jù)轉(zhuǎn)換機(jī)制

        ADO(ActiveX Data Object)是Microsoft數(shù)據(jù)庫應(yīng)用程序開發(fā)的新接口,是建立在OLE DB之上的高層數(shù)據(jù)庫訪問技術(shù)。OLE DB是一個低層的數(shù)據(jù)訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫以及電子郵件系統(tǒng)及自定義的商業(yè)對象。一般使用ADO操作數(shù)據(jù)庫的基本流程是:

        (1)初始化COM庫,引入ADO庫定義文件;

        (2)用Connection對象連接數(shù)據(jù)庫;

        (3)利用建立好的連接,通過Connection、Command對象執(zhí)行SQL命令,或利用RecordSet對象取得結(jié)果記錄集進(jìn)行查詢、處理;

        (4)使用完畢后關(guān)閉連接釋放對象。

        其中:

        Connection對象包含關(guān)于某個數(shù)據(jù)提供程序的信息和關(guān)于結(jié)構(gòu)描述的信息。Connection對象用于建立與數(shù)據(jù)庫的連接,通過連接可從應(yīng)用程序訪問數(shù)據(jù)源。它保存諸如指針類型、連接字符串、查詢超時、連接超時和缺省數(shù)據(jù)庫這樣的連接信息。

        Command對象包含關(guān)于某個命令,例如查詢字符串、參數(shù)定義等的信息。在建立Connection后,可以發(fā)出命令操作數(shù)據(jù)源。一般情況下Command對象可以在數(shù)據(jù)庫中添加、刪除或更新數(shù)據(jù),或者在表中進(jìn)行數(shù)據(jù)查詢。Command對象在定義查詢參數(shù)或執(zhí)行一個有輸出參數(shù)的存儲過程時非常有用。

        RecordSet對象用來存儲數(shù)據(jù)操作返回的記錄集。Recordset對象只代表一個記錄集,這個記錄集是一個連接的數(shù)據(jù)庫中的表,或者是Command對象的執(zhí)行結(jié)果返回的記錄集。在ADO對象模型中,是在行中檢查和修改數(shù)據(jù)的最主要的方法,所有對數(shù)據(jù)的操作幾乎都是在RecordSet對象中完成的,而Recordset對象用于指定行、移動行、添加、更改、刪除記錄。

        在本文中我們采用了通過ADO技術(shù)來實(shí)現(xiàn)CAD圖形數(shù)據(jù)與MDB數(shù)據(jù)庫數(shù)據(jù)二者之間的相互通信。在將管線屬性信息輸出到MDB數(shù)據(jù)庫的過程中,系統(tǒng)使用VisualLisp調(diào)用Windows的ADO組件來完成。

        (1)用VisualLisp初始化ADO接口

        (defun DbInitADO(/ADO_DLLPath)

        (if(null adom-Append)

        (progn

        (setq ADO_DLLPath

        (strcat

        (getenv "systemdrive")

        "\Program Files\Common Files\System\Ado\msado15.dll"

        )

        )

        (if(findfile ADO_DLLPath)

        (vlax-import-type-library

        :tlb-filenameADO_DLLPath

        :methods-prefix"adom-"

        :properties-prefix"adop-"

        :constants-prefix"adok-"

        )

        (alert(strcat "不能找到文件: " ADO_DLLPath))

        );if

        )

        );if

        (princ)

        )

        (2)用VisualLisp操作修改數(shù)據(jù)集

        (defun PutFieldValue(rs fname val/fields field rc source tabn)

        (setq fields(vlax-get-property rs 'Fields))

        ;;; (setq field(vlax-get-property fields 'Item fname))

        (if(vl-catch-all-error-p(setq field(vl-catch-all-apply 'vlax-get-property(list fields 'Item fname))))

        (progn

        (setq source(vlax-get-property rs 'Source)

        tabn(vl-princ-to-string(nth 3(read(strcat "("(variant-value source)")")))))

        (alert(strcat "表" tabn "中不存在字段" fname ",請檢查!"))

        (exit)

        )

        (vlax-put-property field 'Value val)

        ))

        (3)用函數(shù)實(shí)現(xiàn)VisualLisp創(chuàng)建數(shù)據(jù)連接、數(shù)據(jù)集對象

        (defun DbConnection()

        (vlax-Create-Object "ADODB.Connection")

        )

        (4)創(chuàng)建并返回ADO RecordSet對象

        (defun DbRecordSet()

        (vlax-Create-Object "ADODB.RecordSet")

        )

        3.2 數(shù)據(jù)圖庫轉(zhuǎn)換框架實(shí)現(xiàn)

        (1)由圖形輸出到數(shù)據(jù)庫

        在實(shí)現(xiàn)本部分功能的時候,按照系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)要求(2.2章節(jié)),首先用Access建立一個數(shù)據(jù)庫模板,模板中包含各類管線的管點(diǎn)表、管線表以及工程信息表,如圖2所示。

        圖2 數(shù)據(jù)庫模板

        當(dāng)用戶按照工程名將管線圖形信息輸出到數(shù)據(jù)庫時,只需要拷貝模板到指定的路徑,并按工程名稱命名數(shù)據(jù)庫的名字,然后讀取管線圖形中所有管點(diǎn)符號和管線的擴(kuò)展屬性信息,再使用3.1章節(jié)中介紹的VisualLisp操作ADO的方法把讀取的屬性值填寫到數(shù)據(jù)庫文件中即可。

        讀取AutoCAD實(shí)體擴(kuò)展屬性的方法通過以下程序?qū)崿F(xiàn):

        (defun GetXData(vlaObj AppID/xType XData)

        (vla-GetXData vlaObj AppID 'xType 'XData)

        (if(and xType XData)

        (mapcar '(lambda(key val)(cons key(lisp-value val)))

        (vlax-safearray->list xType)

        (vlax-safearray->list xData) )

        管線圖形文件附加屬性信息輸出至數(shù)據(jù)庫文件的結(jié)果如圖3所示:

        圖3 圖形文件輸出至數(shù)據(jù)庫

        圖4 數(shù)據(jù)庫信息圖形化流程圖

        (2)由數(shù)據(jù)庫自動制圖

        管線圖成果包括CAD圖形文件(.Dwg)和Access數(shù)據(jù)庫文件(.MDB)兩種。為了有效地利用原有的管線MDB數(shù)據(jù),增加系統(tǒng)的生命力,還需利用信息圖形化技術(shù)實(shí)現(xiàn)將數(shù)據(jù)庫文件(.MDB)自動轉(zhuǎn)換為圖形文件(.Dwg)的功能。信息圖形化的具體流程如圖4所示。

        將信息圖形化技術(shù)應(yīng)用于管線數(shù)據(jù)成圖,使得用戶可以非常方便地將數(shù)據(jù)庫中的屬性數(shù)據(jù)直接生成更加直觀的圖形數(shù)據(jù)。這樣一來,即使是不同的作業(yè)單位生產(chǎn)的管線數(shù)據(jù),只要滿足管線數(shù)據(jù)庫的數(shù)據(jù)標(biāo)準(zhǔn),都可以直接導(dǎo)入到信息管理系統(tǒng)中來,形成了數(shù)據(jù)的動態(tài)交換,增強(qiáng)了數(shù)據(jù)的重復(fù)利用。

        4 結(jié) 語

        將測繪技術(shù)和地理信息技術(shù)結(jié)合并應(yīng)用于傳統(tǒng)測繪地圖,使得局限于圖形繪制和注記加載的傳統(tǒng)測繪制圖成果變得更為豐富,另外地下管線測繪制圖不能只是考慮管線圖的探測及內(nèi)業(yè)編輯,同時也要在實(shí)現(xiàn)測繪數(shù)據(jù)的跨平臺兼容可用性上做出轉(zhuǎn)變?;贏DO的地下管線圖庫數(shù)據(jù)轉(zhuǎn)換框架研究正是著力于制圖數(shù)據(jù)向信息數(shù)據(jù)轉(zhuǎn)型,實(shí)現(xiàn)測繪技術(shù)由數(shù)字化向信息化的一個案例。本文產(chǎn)生的數(shù)據(jù)能夠進(jìn)行挖掘分析,為決策帶來輔助,因此以數(shù)據(jù)庫為基礎(chǔ)的圖庫之間互轉(zhuǎn)的應(yīng)用模式將會有廣闊前景,此框架研發(fā)的地理信息系統(tǒng)具有非常大的潛力。

        [1] 王雅鵬,張喜英. 基于Geodatabase的城市地下管線數(shù)據(jù)模型設(shè)計(jì)與應(yīng)用[A]. 地球空間信息,2016,14(8).

        [2] 夏普著,周靖譯. Visual C# 2010從入門到精通[M]. 清華大學(xué)出版社,2010.

        [3] 郭秀娟,于全通,范小鷗. AutoLISP語言程序設(shè)計(jì)[M]. 化學(xué)工業(yè)出版社,2008.

        [4] 天津市地下管線工程現(xiàn)狀數(shù)據(jù)、竣工數(shù)據(jù)報(bào)驗(yàn)要求[R]. 天津市規(guī)劃局,2008.12

        [5] 牟乃夏,劉文寶,王海銀等. ArcGIS 10地理信息系統(tǒng)教程—從初學(xué)到精通[M]. 測繪出版社,2012.

        [6] 于海龍,王儂,謝剛生. 城市地下管網(wǎng)信息野外采集到內(nèi)業(yè)一體化成圖作業(yè)方案的設(shè)計(jì)與實(shí)現(xiàn)[J]. 測繪通報(bào),2001(1).

        Studying on Transforming Framework Between Underground Pipelines’ map and Database Based on ADO Technology

        He Tao

        (Tianjin Institute of Surveying and Mapping,Tianjin 300381,China)

        Underground pipelines is important data resources in the construction and management of city,it is more and more important in city’s management ,however traditional underground pipelines storage in Cad,the data have difficulty in informationize. The concept that Studying on transforming framework between underground pipelines’ map and database based on ADO technology is to achieve the building of underground pipeline information with database technology standardization platform,realize the transformation from digital underground pipeline data to the information technology.

        underground pipelines;database;ADO;transforming between map and database

        1672-8262(2017)03-60-05

        P208.1

        A

        2016—11—08

        何濤(1978—),男,高級工程師,現(xiàn)主要從事測繪及GIS開發(fā)工作。

        猜你喜歡
        測繪數(shù)據(jù)庫信息
        浙江省第一測繪院
        工程測繪中GNSS測繪技術(shù)的應(yīng)用
        04 無人機(jī)測繪應(yīng)用創(chuàng)新受青睞
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        無人機(jī)在地形測繪中的應(yīng)用
        電子制作(2017年9期)2017-04-17 03:01:00
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        无码吃奶揉捏奶头高潮视频| 国产超碰人人做人人爽av大片 | 久久久久久久妓女精品免费影院 | 精品久久久久久777米琪桃花| 99久久国产亚洲综合精品| 久久精品国产福利亚洲av| 亚洲最全av一区二区| 亚洲一区二区三区成人网| 中文字幕日韩精品有码视频| 欧美aaaaaa级午夜福利视频| 久久久亚洲经典视频| 91国内偷拍一区二区三区| 国产亚洲精品一区二区无| 中文字幕在线播放| 日本精品网| 亚洲乱码中文字幕第一页| 久久精品夜色噜噜亚洲a∨| 免费a级毛片无码无遮挡| 国产乱人视频在线观看播放器| 色男色女午夜福利影院| 东北熟妇露脸25分钟| 欧美性猛交xxxx乱大交极品| 日韩制服国产精品一区| 亚洲区偷拍自拍29p| 国产精品日韩亚洲一区二区| 成人亚洲一区二区三区在线| 久久免费看少妇高潮v片特黄| Jizz国产一区二区| 日本一区二区国产精品| 欧美老妇交乱视频在线观看| 欧美freesex黑人又粗又大| 久久午夜无码鲁丝片直播午夜精品| 国产乱子伦一区二区三区国色天香| 中文天堂国产最新| 水蜜桃久久| 天堂av一区二区在线观看| 一区二区三区中文字幕在线观看| 午夜爽爽爽男女污污污网站| 欧美丰满熟妇bbbbbb百度| 97中文字幕一区二区| 少妇激情av一区二区三区|