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

        ?

        可配置的管線(xiàn)并行檢查程序設(shè)計(jì)與實(shí)現(xiàn)

        2022-03-13 08:51:40錢(qián)承軍戴相喜
        現(xiàn)代測(cè)繪 2022年6期
        關(guān)鍵詞:圖層實(shí)體管線(xiàn)

        錢(qián)承軍,戴相喜

        〔1.一汽(南京)科技開(kāi)發(fā)有限公司,江蘇 南京 211100;2.南京市測(cè)繪勘察研究院股份有限公司,江蘇 南京 210019〕

        0 引 言

        地下管線(xiàn)是保障城市運(yùn)行的重要基礎(chǔ)設(shè)施,是城市的“生命線(xiàn)”。隨著城鎮(zhèn)化的快速推進(jìn),城市地下管線(xiàn)的數(shù)量和規(guī)模越來(lái)越大,結(jié)構(gòu)層次也越來(lái)越復(fù)雜。國(guó)內(nèi)很多城市都陸續(xù)開(kāi)展了地下管線(xiàn)普查工作,全面查清城市范圍內(nèi)的地下管線(xiàn)現(xiàn)狀,獲取了準(zhǔn)確的管線(xiàn)數(shù)據(jù)[1-4]。

        戴相喜等[5-6]設(shè)計(jì)了一套可定制的管線(xiàn)質(zhì)檢模板;嚴(yán)玉瑤等[7-11]基于ArcGIS平臺(tái)設(shè)計(jì)了質(zhì)檢規(guī)則庫(kù);付海龍[12]等基于OSG開(kāi)源平臺(tái)構(gòu)建了三維管線(xiàn)動(dòng)態(tài)建模與瀏覽平臺(tái),與AutoCAD二維管線(xiàn)數(shù)據(jù)結(jié)合進(jìn)行質(zhì)檢。

        一般基于AutoCAD開(kāi)發(fā)的管線(xiàn)檢查程序,是將管線(xiàn)數(shù)據(jù)規(guī)范要求的檢查項(xiàng)、檢查條件寫(xiě)進(jìn)程序內(nèi)部,用戶(hù)無(wú)法更改。針對(duì)不同地區(qū)不同的管線(xiàn)數(shù)據(jù)規(guī)范,需要調(diào)整管線(xiàn)檢查程序內(nèi)部代碼,才能符合當(dāng)?shù)氐墓芫€(xiàn)數(shù)據(jù)檢查標(biāo)準(zhǔn),工作量非常巨大,而且只適應(yīng)程序?qū)?yīng)的規(guī)范要求。

        本文基于AutoCAD平臺(tái)設(shè)計(jì)了一套可配置的并行處理管線(xiàn)數(shù)據(jù)檢查程序,將管線(xiàn)內(nèi)業(yè)數(shù)據(jù)按照檢查類(lèi)型分為圖形檢查、邏輯性檢查和屬性檢查[13-14]。用戶(hù)可以根據(jù)作業(yè)地區(qū)的管線(xiàn)數(shù)據(jù)標(biāo)準(zhǔn),自行配置對(duì)應(yīng)的檢查模板,可對(duì)不同分組或同組的管線(xiàn)同時(shí)進(jìn)行檢查,由此可以快速確認(rèn)管線(xiàn)數(shù)據(jù)的正確性,保證管線(xiàn)數(shù)據(jù)采集、入庫(kù)、更新與共享的精準(zhǔn)和迅速。

        1 功能設(shè)計(jì)

        根據(jù)不同地區(qū)的管線(xiàn)數(shù)據(jù)標(biāo)準(zhǔn),可以制定對(duì)應(yīng)的管線(xiàn)數(shù)據(jù)檢查模板。程序通過(guò)讀取管線(xiàn)數(shù)據(jù)檢查模板,查找出檢查類(lèi)型、檢查參數(shù)和檢查條件。然后,需要設(shè)計(jì)一個(gè)圖形實(shí)體屬性信息類(lèi)(圖1),保存管線(xiàn)圖形中所有對(duì)象的基本信息,如ObjectID、Code、點(diǎn)列、實(shí)體句柄、圖層、shapetype和geotype等。當(dāng)檢查開(kāi)始時(shí),根據(jù)檢查項(xiàng)的要求,讀取管線(xiàn)圖形中所有包含的對(duì)象,獲取每個(gè)對(duì)象的基本信息,存入圖形實(shí)體屬性信息類(lèi)中。再根據(jù)檢查條件,從實(shí)體屬性信息類(lèi)集合中,篩選出滿(mǎn)足條件的基本對(duì)象即可。每次根據(jù)檢查條件,直接調(diào)用該集合即可,不必重新遍歷管線(xiàn)圖中所有的對(duì)象。最后,程序采用并行處理的方法,對(duì)多個(gè)檢查條件進(jìn)行分組,同時(shí)檢查,可以有效地減少人工檢查工作量,大大提高質(zhì)檢效率。

        圖1 圖形實(shí)體屬性類(lèi)設(shè)計(jì)

        1.1 模板和結(jié)果存儲(chǔ)格式

        根據(jù)不同地區(qū)管線(xiàn)數(shù)據(jù)標(biāo)準(zhǔn),配置不同的模板參數(shù),如檢查規(guī)則、檢查結(jié)果及軟件相關(guān)系統(tǒng)參數(shù),采用SQLite輕型的數(shù)據(jù)庫(kù)對(duì)這些參數(shù)進(jìn)行存儲(chǔ)。該數(shù)據(jù)庫(kù)是遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),處理速度比Mysql、PostgreSQL開(kāi)源數(shù)據(jù)庫(kù)快得多,且與操作系統(tǒng)位數(shù)無(wú)關(guān),安裝輕便,使用便捷。另外,SQLite數(shù)據(jù)庫(kù)只存儲(chǔ)檢查規(guī)則和結(jié)果,并不存儲(chǔ)數(shù)據(jù)量龐大的城市管線(xiàn)數(shù)據(jù),因此占用的系統(tǒng)資源非常低,可顯著提升管線(xiàn)數(shù)據(jù)的讀取、檢查與存儲(chǔ)效率。

        1.2 圖形基本信息類(lèi)設(shè)計(jì)

        目前較常見(jiàn)的檢查程序是通過(guò)AutoCAD自帶的對(duì)象過(guò)濾功能,挑選出待檢查的圖形集合,獲取其ObjectID集合,然后根據(jù)需要檢查的管線(xiàn)對(duì)象屬性,循環(huán)遍歷ObjectID對(duì)象獲取其屬性,再進(jìn)行質(zhì)量檢查。該過(guò)濾過(guò)程是對(duì)整個(gè)圖形對(duì)象的遍歷搜索,速度非常慢。并且,獲取到對(duì)象的ObjectID集合之后,還要根據(jù)ObjectID反向獲取對(duì)象,再讀取對(duì)象屬性,這就形成了圖形對(duì)象的二次讀取,造成了時(shí)間上的冗余。

        基于上述考慮,設(shè)計(jì)了圖形實(shí)體屬性信息類(lèi),該類(lèi)涵蓋了圖形質(zhì)量檢查所需的大部分信息,僅需1次讀取,就能完成所有檢查。首先根據(jù)導(dǎo)入的AutoCAD管線(xiàn)圖紙,遍歷圖紙中的各個(gè)對(duì)象,將各對(duì)象的基本信息存儲(chǔ)到實(shí)體屬性信息類(lèi)中。而實(shí)體屬性信息類(lèi)存儲(chǔ)在內(nèi)存里,在進(jìn)行圖形質(zhì)量檢查時(shí),程序可以直接從內(nèi)存中獲取所需對(duì)象各種屬性信息,省去了2次獲取對(duì)象的過(guò)程。如果一些特殊屬性檢查,實(shí)體屬性信息類(lèi)中并不包含該屬性,一方面可根據(jù)類(lèi)中保存的對(duì)象ObjectID,獲取對(duì)象,讀出相關(guān)屬性數(shù)據(jù),另一方面,可將該檢查所需屬性信息設(shè)計(jì)到實(shí)體屬性信息類(lèi)中,作為該類(lèi)的成員,從而加快檢查速度。

        1.3 檢查項(xiàng)設(shè)計(jì)

        檢查項(xiàng)的讀取可通過(guò)設(shè)計(jì)“檢查項(xiàng)選擇”表(圖2)實(shí)現(xiàn),表中可設(shè)置組別、組內(nèi)排序、檢查項(xiàng)名稱(chēng)、應(yīng)用圖層、幾何類(lèi)型、參數(shù)和程序類(lèi)名等。檢查程序根據(jù)組別和檢查項(xiàng)名稱(chēng)裝載檢查列表,其中,“參數(shù)”列可根據(jù)設(shè)定的“檢查項(xiàng)名稱(chēng)”設(shè)定適合的檢查參數(shù),“是否使用”列根據(jù)質(zhì)量檢查參照的規(guī)范要求確定是否啟用當(dāng)前檢查項(xiàng)。

        圖2 檢查項(xiàng)選擇表結(jié)構(gòu)

        “檢查項(xiàng)選擇”表可以供用戶(hù)根據(jù)不同地區(qū)規(guī)范要求自行設(shè)計(jì),選擇是否使用已有的檢查項(xiàng),確定檢查時(shí)的應(yīng)用圖層種類(lèi)及數(shù)據(jù)幾何類(lèi)型等,也可增加新的檢查項(xiàng),制定與之匹配的檢查參數(shù)。

        1.4 應(yīng)用圖層設(shè)計(jì)

        應(yīng)用圖層可設(shè)置屬性檢查適用的檢查圖層范圍,即對(duì)何種管線(xiàn)進(jìn)行該項(xiàng)檢查。其中“ALLGX”“ALLSS”是2個(gè)綜合性圖層集合約定,分別表示圖上所有類(lèi)型管線(xiàn)圖層和所有設(shè)施圖層,例如,“ALLGX”適用于對(duì)所有類(lèi)型管線(xiàn)都適用的檢查,如變徑點(diǎn)檢查、重復(fù)實(shí)體檢查和高程異常檢查等。其余的應(yīng)用圖層類(lèi)別按照管線(xiàn)種類(lèi)縮寫(xiě)進(jìn)行設(shè)計(jì),如“PS”表示排水圖層,“JS”表示給水圖層等。所有圖層名稱(chēng)(表1)可任意組合在一起,表示對(duì)組合中所有管線(xiàn)種類(lèi)都適用的檢查,如對(duì)硬管空間分析檢查時(shí),可將“RQ”“RL”“JS”“GY”“XX”類(lèi)型組合起來(lái)檢查。經(jīng)過(guò)組合后,可以有效提取對(duì)應(yīng)管線(xiàn)種類(lèi)的對(duì)象,同時(shí)進(jìn)行特定屬性檢查,做到針對(duì)特定檢查,應(yīng)檢盡檢。

        表1 圖層名稱(chēng)縮寫(xiě)與說(shuō)明對(duì)照表

        1.5 幾何類(lèi)型設(shè)計(jì)

        “幾何類(lèi)型”設(shè)置為POINT、LINE、AREA、井室點(diǎn)、井室線(xiàn)、井室面、管溝邊線(xiàn)、管廊點(diǎn)、管廊面和注記圖層等。根據(jù)應(yīng)用圖層的設(shè)定,對(duì)滿(mǎn)足圖層種類(lèi)的管線(xiàn)對(duì)象進(jìn)行幾何類(lèi)型篩選,如要檢查管線(xiàn)的埋設(shè)類(lèi)型,則應(yīng)用圖層名稱(chēng)可設(shè)置為ALLGX,幾何類(lèi)型設(shè)置為L(zhǎng)INE,即可檢查所有圖層中線(xiàn)形管線(xiàn)對(duì)象的埋設(shè)類(lèi)型字段。

        1.6 條件檢查設(shè)計(jì)

        條件檢查分為條件必填屬性檢查和條件異常屬性檢查。條件必填屬性檢查對(duì)規(guī)范規(guī)定的必填字段值進(jìn)行是否為空檢查,必填檢查字段不能為空;條件異常屬性檢查按照規(guī)范規(guī)定,檢查字段值是否在預(yù)設(shè)范圍內(nèi),如字段值是否在枚舉值之中、字段是否為數(shù)字、是否為空、是否大于某一特定值等,若字段值不在,則判定待檢查的字段值為異常字段值。

        待檢查的字段如果按照“字段名”的格式填寫(xiě),沒(méi)有說(shuō)明屬性表名稱(chēng),則默認(rèn)讀取管線(xiàn)對(duì)象主表中的字段名對(duì)應(yīng)的字段值。待檢查字段如果按照“表名.字段名”的格式填寫(xiě),表示對(duì)管線(xiàn)對(duì)象擴(kuò)展屬性表的檢查(圖3),其中表名為對(duì)象擴(kuò)展屬性表的名稱(chēng)。 該檢查字段設(shè)計(jì)實(shí)現(xiàn)了管線(xiàn)實(shí)體任一屬性表屬性字段的檢查以及屬性表之間關(guān)聯(lián)字段的聯(lián)合檢查,增強(qiáng)了檢查的全面性和靈活性。

        圖3 條件檢查中檢查擴(kuò)展屬性表中字段值舉例

        如南京排水標(biāo)準(zhǔn)中規(guī)定所有管線(xiàn)及設(shè)施養(yǎng)護(hù)表的設(shè)施類(lèi)型字段值不應(yīng)為空,應(yīng)填對(duì)應(yīng)枚舉值,則檢查受限字段名1可設(shè)置為ps_managment.feature_type,表示待檢查的擴(kuò)展屬性表名為養(yǎng)護(hù)表(ps_managment),表中的字段名為設(shè)施類(lèi)型(feature_type)。若管線(xiàn)對(duì)象擴(kuò)展屬性表沒(méi)有養(yǎng)護(hù)表(ps_management),則程序會(huì)直接在主表中查找設(shè)施類(lèi)型(feature_type)字段。

        為適應(yīng)多場(chǎng)合檢查,提供更加靈活多變的字段比較方法,根據(jù)常用檢查方法,設(shè)計(jì)了6種字段比較類(lèi)型,分別為枚舉值集合、值域比較、值域區(qū)間、值域排除、其他字段值比較和正則表達(dá)式匹配,具體標(biāo)識(shí)符和例子如表2所示。

        表2 字段比較類(lèi)型及其標(biāo)識(shí)符說(shuō)明

        表2中,唯一值、多個(gè)枚舉值或空值用{}表示,如燃?xì)夤芫€(xiàn)壓力值應(yīng)為“低壓,中壓,高壓”中的一種值,則檢查字段名為壓力(yl),受限值應(yīng)為{低壓,中壓,高壓};值域比較用常規(guī)的比較符合表示(>、>=、<、<=),等于符號(hào)可用枚舉值集合替代,不等于符號(hào)可用值域排除Not In {}符號(hào)表示;值域開(kāi)閉區(qū)間可用[]和()表示;與其他字段值關(guān)聯(lián)比較可通過(guò)關(guān)鍵字Field:表示,可讀取對(duì)應(yīng)字段值;字段比較類(lèi)型支持正則表達(dá)式匹配,更加具有兼容性與開(kāi)放性。

        首先,設(shè)計(jì)檢查程序1次性讀取“條件屬性檢查”表中所有檢查條件,并按照應(yīng)用圖層和幾何類(lèi)型進(jìn)行分組。在檢查時(shí),按照組別,過(guò)濾滿(mǎn)足圖層和幾何類(lèi)型要求的管線(xiàn)實(shí)體集合,讀取集合對(duì)象的所有屬性信息。然后,對(duì)管線(xiàn)實(shí)體集合,按照讀取的檢查條件,逐條件項(xiàng)進(jìn)行檢查。如此設(shè)計(jì),實(shí)現(xiàn)了1次讀取設(shè)定圖層和設(shè)定幾何類(lèi)型的實(shí)體后,將所有條件屬性檢查全部檢查完畢,保證1次性過(guò)濾管線(xiàn)實(shí)體、1次性讀取檢查條件,同類(lèi)管線(xiàn)實(shí)體同時(shí)進(jìn)行檢查,避免了管線(xiàn)實(shí)體的多次讀取,加快了檢查速度,具體流程如圖4所示。

        圖4 條件必填與異常屬性檢查流程圖

        2 程序?qū)崿F(xiàn)

        本程序基于AutoCAD 2013 64位平臺(tái),使用其提供的.NET API接口,采用C#語(yǔ)言基于.NET FRAMEWORK4.0框架實(shí)現(xiàn)。利用微軟.NET框架的一種自然查詢(xún)的SQL語(yǔ)法——語(yǔ)言集成查詢(xún)LINQ(Language Integrated Query)技術(shù),使用其AsParallel方法,可實(shí)現(xiàn)并行化查詢(xún)。如當(dāng)進(jìn)行某一條件的檢查時(shí),對(duì)讀取到的符合檢查條件的多個(gè)實(shí)體的圖形基本信息類(lèi)進(jìn)行并行同時(shí)檢查,避免了因檢查對(duì)象過(guò)多而造成的擁塞和排隊(duì)現(xiàn)象。另外,設(shè)置進(jìn)度條為DOTNETARX類(lèi)庫(kù)的ProgressManager,可以明顯改善進(jìn)度條展示效果,無(wú)絲毫卡頓現(xiàn)象,高效地增加了檢查速度和效率。

        根據(jù)《南京市管線(xiàn)探測(cè)技術(shù)規(guī)程》[15-16]設(shè)計(jì)南京市專(zhuān)業(yè)管線(xiàn)檢查模板,設(shè)計(jì)了空間檢查、邏輯性檢查和屬性檢查3類(lèi),每種檢查類(lèi)型根據(jù)實(shí)際生產(chǎn)需求,設(shè)計(jì)了不同的檢查項(xiàng),具體分類(lèi)如表3所示。

        表3 檢查項(xiàng)及其測(cè)試所用時(shí)間

        3 程序測(cè)試

        以南京市某區(qū)一幅管線(xiàn)標(biāo)準(zhǔn)庫(kù)成圖數(shù)據(jù)為例,圖上共有30 168個(gè)實(shí)體對(duì)象,分別使用戴相喜等[6]的方法和本文方法對(duì)該圖中實(shí)體對(duì)象進(jìn)行條件必填屬性檢查和條件異常屬性檢查,檢查情況如表4所示。由對(duì)比結(jié)果可以明顯看出,本程序的并行處理算法可以超快速完成管線(xiàn)數(shù)據(jù)的檢查,執(zhí)行效率成指數(shù)級(jí)提高,但因讀取的所有實(shí)體對(duì)象屬性信息均保存在系統(tǒng)內(nèi)存中,所以運(yùn)行內(nèi)存較戴相喜等[6]的方法多。

        再對(duì)該數(shù)據(jù)圖按表3所示三大類(lèi)檢查進(jìn)行檢查,全部檢查共計(jì)耗時(shí)4′55.9″(表4),檢查表中設(shè)置的條件越多,檢查項(xiàng)越多,執(zhí)行檢查耗時(shí)會(huì)越長(zhǎng)。

        表4 條件屬性檢查用時(shí)和內(nèi)存占用比較

        4 結(jié) 語(yǔ)

        本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于Sqlite輕量化數(shù)據(jù)庫(kù)的可配置的管線(xiàn)檢查程序,展示了一套實(shí)現(xiàn)字段比較的標(biāo)識(shí)符比較方法。同時(shí),程序基于微軟.NET框架的LINQ并行處理技術(shù),實(shí)現(xiàn)了1次讀取檢查條件和全圖管線(xiàn)實(shí)體的基本信息,同一時(shí)刻多實(shí)體同時(shí)同步檢查,極大降低了管線(xiàn)數(shù)據(jù)檢查的時(shí)間冗余度,提高了管線(xiàn)數(shù)據(jù)質(zhì)量的檢查效率。該檢查程序已成功運(yùn)用于南京專(zhuān)業(yè)管線(xiàn)項(xiàng)目、南京綜合管線(xiàn)項(xiàng)目、上海綜合管線(xiàn)項(xiàng)目以及江西供水項(xiàng)目中。經(jīng)實(shí)際項(xiàng)目驗(yàn)證,該方法運(yùn)行時(shí)間短,檢查效果好,模板配置簡(jiǎn)便。因程序需要讀取所有管線(xiàn)對(duì)象的信息存放在內(nèi)存中,因此,當(dāng)檢查包含大批量管線(xiàn)對(duì)象的數(shù)據(jù)時(shí),會(huì)造成內(nèi)存空間不夠用的情況,后期維護(hù)及增強(qiáng)程序時(shí),可考慮對(duì)管線(xiàn)圖進(jìn)行分塊、分區(qū)域檢查,以降低內(nèi)存,保證質(zhì)量檢查過(guò)程高效進(jìn)行。

        猜你喜歡
        圖層實(shí)體管線(xiàn)
        前海自貿(mào)區(qū):金融服務(wù)實(shí)體
        巧用混合圖層 制作抽象動(dòng)感森林
        實(shí)體的可感部分與實(shí)體——兼論亞里士多德分析實(shí)體的兩種模式
        夾套管線(xiàn)預(yù)制安裝
        兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
        振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
        淺談通信管線(xiàn)工程建設(shè)
        電子制作(2017年10期)2017-04-18 07:23:00
        淺談通信管線(xiàn)工程建設(shè)
        電子制作(2017年9期)2017-04-17 03:01:06
        圖層法在地理區(qū)域圖讀圖中的應(yīng)用
        低錳管線(xiàn)鋼的相變行為
        上海金屬(2015年4期)2015-11-29 01:12:24
        亚洲女同精品一区二区久久 | 亚洲中文字幕人妻诱惑| 日本最新视频一区二区| 欧美多人片高潮野外做片黑人| 久久久久亚洲av无码专区导航| 亚洲高清在线不卡中文字幕网| 日本一区二区三区精品不卡| 蜜臀一区二区三区精品| 久久久久久久久蜜桃| 久久精品国产热| 在线视频播放观看免费 | 欧美人与禽zozzo性伦交| 大地资源网最新在线播放| 最新国产精品精品视频| 国产一区二区三区啊啊| 久久精品国产亚洲av无码娇色 | 日本女优久久精品久久| 成人免费看aa片| 日本黄页网站免费大全| 亚洲av色香蕉一区二区蜜桃| 久久综合九色综合97婷婷| 国产精品多p对白交换绿帽| 欧美色五月| 久久熟女精品—区二区蜜臀| 精品无人区无码乱码毛片国产| 国产精品va无码一区二区| 日韩亚洲国产av自拍| 高清国产国产精品三级国产av| 国产精品久久久久久久| 色爱区综合激情五月综合小说| 蜜桃av区一区二区三| 精品福利一区二区三区蜜桃| 18分钟处破好疼哭视频在线观看 | 亚洲国产成人AⅤ片在线观看| 亚洲av毛片在线播放| 欧洲多毛裸体xxxxx| 色一情一乱一伦一区二区三欧美| av网站可以直接看的| 丰满人妻一区二区三区视频| 欧美日韩一卡2卡三卡4卡 乱码欧美孕交 | 国产麻豆精品一区二区三区v视界 妺妺窝人体色www看美女 |