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

        ?

        鐵路工程設(shè)計(jì)結(jié)構(gòu)化數(shù)據(jù)交換格式研究

        2022-05-21 08:15:42馮亦博馬騰
        鐵路技術(shù)創(chuàng)新 2022年1期
        關(guān)鍵詞:鐵路標(biāo)準(zhǔn)

        馮亦博,馬騰

        (中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司中國鐵建BIM工程實(shí)驗(yàn)室,陜西 西安 710000)

        1 概述

        鐵路工程設(shè)計(jì)是一項(xiàng)龐大復(fù)雜的系統(tǒng)性工程,其項(xiàng)目類型多、涉及專業(yè)多、參與人員多[1],需要設(shè)計(jì)單位內(nèi)部及外部團(tuán)隊(duì)之間密切協(xié)同,協(xié)同工作難度大。另外,為了充分發(fā)揮設(shè)計(jì)成果的數(shù)據(jù)價(jià)值,鐵路工程設(shè)計(jì)數(shù)據(jù)需要在項(xiàng)目各參與方以及項(xiàng)目各階段之間準(zhǔn)確、高效、無損傳遞,這對鐵路工程設(shè)計(jì)信息化水平提出了更高要求。目前,在鐵路各專業(yè)設(shè)計(jì)過程及最終設(shè)計(jì)成果中,數(shù)據(jù)內(nèi)容傳遞多采用Excel表格來完成,但Excel數(shù)據(jù)缺乏統(tǒng)一、固定的模式,不能進(jìn)行分類描述處理[2],本身不屬于結(jié)構(gòu)化數(shù)據(jù),不是數(shù)據(jù)存儲的理想格式;面對龐大復(fù)雜的鐵路系統(tǒng)工程,若利用Excel數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,容易出現(xiàn)設(shè)計(jì)意圖表達(dá)與理解不明確、數(shù)據(jù)傳遞不順暢等問題,影響鐵路工程項(xiàng)目的順利推進(jìn)。

        目前,常用的數(shù)據(jù)交換格式主要包括XML、JSON(JavaScript Object Notation)、YAML等[3],其中JSON是一種輕量級的數(shù)據(jù)交換格式[4],基于純文本,數(shù)據(jù)格式非常簡單,層次清晰,易于閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,具備良好的靈活性[5]。如果將鐵路工程設(shè)計(jì)數(shù)據(jù)存儲為JSON格式結(jié)構(gòu)化數(shù)據(jù),利用JSON解析器可以將繁雜的數(shù)據(jù)表現(xiàn)為結(jié)構(gòu)明晰的樹狀結(jié)構(gòu),能夠讓使用者更加快速獲取所需的信息,數(shù)據(jù)的傳遞也會變得更加準(zhǔn)確而高效。JSON格式文件樹狀結(jié)構(gòu)見圖1。

        圖1 JSON格式文件樹狀結(jié)構(gòu)

        國際字典框架(International Framework for Dictionaries,IFD)是目前工程行業(yè)常用的一種標(biāo)準(zhǔn),其目的是保證所交換的數(shù)據(jù)信息與用戶需要的數(shù)據(jù)信息完全一致。IFD標(biāo)準(zhǔn)為每條數(shù)據(jù)賦予唯一標(biāo)識碼GUID,使得無論在哪種環(huán)境下,只要數(shù)據(jù)的IFD編碼一致,就可以保證其代表的信息是一致的[6]。2014年12月,鐵路BIM聯(lián)盟發(fā)布了《鐵路工程信息模型分類和編碼標(biāo)準(zhǔn)(1.0版)》(簡稱鐵路IFD標(biāo)準(zhǔn)),是為規(guī)范鐵路工程信息的分類、編碼與組織,實(shí)現(xiàn)鐵路工程全生命周期信息的交換、共享,推動(dòng)鐵路工程信息模型的應(yīng)用發(fā)展而制定的標(biāo)準(zhǔn)。鐵路IFD標(biāo)準(zhǔn)分類表可分為3類:一類是引用國家標(biāo)準(zhǔn);一類是在國家標(biāo)準(zhǔn)基礎(chǔ)上擴(kuò)充鐵路工程內(nèi)容;最后一類是鐵路工程獨(dú)立編制的分類表[7]。部分鐵路IFD標(biāo)準(zhǔn)編碼見圖2。

        圖2 部分鐵路工程IFD標(biāo)準(zhǔn)編碼

        目前,鐵路IFD標(biāo)準(zhǔn)主要應(yīng)用于鐵路BIM模型的屬性擴(kuò)展,為BIM模型在工程項(xiàng)目管理平臺內(nèi)層級結(jié)構(gòu)的建立與管理提供便利[8]。由于鐵路工程設(shè)計(jì)數(shù)據(jù)需要在項(xiàng)目各參與方以及項(xiàng)目各階段之間傳遞,若將IFD標(biāo)準(zhǔn)編碼引入鐵路工程設(shè)計(jì)數(shù)據(jù)表,對數(shù)據(jù)表所包含的條目進(jìn)行一一對應(yīng)的IFD編碼,數(shù)據(jù)表內(nèi)容將會得到更精確的描述,數(shù)據(jù)流轉(zhuǎn)的準(zhǔn)確性也會得到保障。根據(jù)以“歐賽(OpenDesign)”數(shù)據(jù)管理軟件為代表的鐵路行業(yè)施工圖電子交付工具對鐵路工程設(shè)計(jì)數(shù)據(jù)表的要求,為精確識別設(shè)計(jì)數(shù)據(jù)表格內(nèi)容,需要提供能夠反映設(shè)計(jì)數(shù)據(jù)條目層級關(guān)系的IFD編碼,以便對設(shè)計(jì)數(shù)據(jù)表進(jìn)行導(dǎo)入操作,所以將鐵路IFD標(biāo)準(zhǔn)編碼引入鐵路工程設(shè)計(jì)數(shù)據(jù)表勢在必行。

        2 鐵路工程設(shè)計(jì)結(jié)構(gòu)化數(shù)據(jù)要求

        根據(jù)中國國家鐵路集團(tuán)有限公司發(fā)布的《鐵路建設(shè)項(xiàng)目施工圖電子文件交付管理辦法》(鐵建設(shè)〔2020〕123號)文件要求,施工圖相關(guān)附表電子文件須通過基于文本的結(jié)構(gòu)化數(shù)據(jù)交換格式提供。對于設(shè)計(jì)人員,由于工作習(xí)慣及代碼編寫水平的限制,無法直接將設(shè)計(jì)成果相關(guān)數(shù)據(jù)以純文本代碼形式編寫為結(jié)構(gòu)化數(shù)據(jù)交換格式??紤]到Microsoft Office系列辦公軟件在廣大設(shè)計(jì)人員中的使用普遍性和便利性,只有將設(shè)計(jì)成果數(shù)據(jù)先錄入Excel表格,再通過工具將Excel表格轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù)交換格式,才是現(xiàn)階段相關(guān)附表電子文件以結(jié)構(gòu)化格式交付的可行途徑。

        目前,已有很多第三方工具可以實(shí)現(xiàn)Excel表格數(shù)據(jù)向JSON結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換,例如Microsoft Excel程序內(nèi)的轉(zhuǎn)換插件以及部分在線轉(zhuǎn)換工具,但這些轉(zhuǎn)換工具僅可對數(shù)據(jù)與表頭內(nèi)容一一對應(yīng)且無合并單元格的簡單Excel表格進(jìn)行轉(zhuǎn)換,不能對表頭存在合并單元格的多層復(fù)雜Excel表格進(jìn)行轉(zhuǎn)換。鐵路工程各專業(yè)設(shè)計(jì)數(shù)據(jù)復(fù)雜、種類繁多,為了保證設(shè)計(jì)數(shù)據(jù)的完備性及準(zhǔn)確性,有時(shí)對于同一個(gè)表頭元素需要定義若干個(gè)屬性描述類目,所以大部分鐵路工程設(shè)計(jì)數(shù)據(jù)Excel表格將以合并單元格的復(fù)雜表頭形式呈現(xiàn)。通過對存在合并單元格表頭的設(shè)計(jì)數(shù)據(jù)Excel表格進(jìn)行研究,提出一種基于VBA的鐵路工程設(shè)計(jì)結(jié)構(gòu)化數(shù)據(jù)交換格式轉(zhuǎn)換方法。帶有合并單元格表頭的鐵路工程設(shè)計(jì)數(shù)據(jù)表示例見圖3。

        圖3 帶有合并單元格表頭的鐵路工程設(shè)計(jì)數(shù)據(jù)表示例

        3 鐵路工程設(shè)計(jì)數(shù)據(jù)表表頭處理

        VBA是Visual Basic的一種宏語言,是在桌面應(yīng)用程序中執(zhí)行通用自動(dòng)化任務(wù)的編程語言,主要能用來擴(kuò)展Windows應(yīng)用程序功能,特別是Microsoft Office軟件[9]。在鐵路工程設(shè)計(jì)數(shù)據(jù)已經(jīng)采用Excel表格形式進(jìn)行存儲的基礎(chǔ)上,直接利用VBA實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)格式轉(zhuǎn)換將更加便捷和直觀。

        JSON格式數(shù)據(jù)文件以純文本形式進(jìn)行存儲,因此可利用VBA的Adodb.Stream組件UTF-8文本流實(shí)現(xiàn)JSON格式數(shù)據(jù)文件的編寫。JSON的語法也較為簡單,數(shù)據(jù)以名稱/值對體現(xiàn),值可以是字符串、數(shù)字、對象、數(shù)組、邏輯值、null中的一種[10]。以大括號“{}”代表對象,中括號“[]”代表數(shù)組;對象可以包含多個(gè)名稱/值對,數(shù)組可以包含多個(gè)對象;對象中的同級值對或數(shù)組中的同級對象之間用逗號“,”隔開,最后一個(gè)值對或?qū)ο笾蟛辉俪霈F(xiàn)逗號[11]。JSON文件的編寫只有建立在上述語法基礎(chǔ)上才是正確可被解析的。

        針對不同專業(yè)不同內(nèi)容的數(shù)據(jù)表格,表頭級數(shù)、合并形式也完全不同,為了將表頭內(nèi)容按層級分解為JSON對象,同時(shí)將基層表頭與相應(yīng)數(shù)據(jù)處理為JSON值對,首先需要將表頭區(qū)域與數(shù)據(jù)區(qū)域進(jìn)行分離。根據(jù)數(shù)據(jù)表格特點(diǎn),與數(shù)據(jù)直接對應(yīng)的基層表頭單元格無論是否為合并單元格,其列數(shù)均為1,于是可以利用單元格列數(shù)語句MergeArea.Columns.Count,對數(shù)據(jù)表單元格按從左到右、從上到下順序逐一進(jìn)行判斷;若單元格列數(shù)非1則跳至下一行首端繼續(xù)進(jìn)行判斷,直到某行各單元格列數(shù)均為1時(shí)即可停止判斷,該行至表格首行即為表頭所在區(qū)域,其下一行至表格末行即為數(shù)據(jù)所在區(qū)域。表頭區(qū)域的分離流程見圖4。

        圖4 表頭區(qū)域的分離流程

        4 鐵路工程設(shè)計(jì)數(shù)據(jù)表內(nèi)容處理

        表頭區(qū)域與數(shù)據(jù)區(qū)域分離后,即進(jìn)入數(shù)據(jù)處理、JSON文件編寫階段。根據(jù)JSON文件編寫特點(diǎn),對于同一行數(shù)據(jù),Excel表頭單元格的處理順序只能是由左至右依次對每列表頭單元格由上至下進(jìn)行處理,橫向合并表頭單元格作為子對象名稱,基層表頭單元格與數(shù)據(jù)構(gòu)成值對;同時(shí),多行數(shù)據(jù)子對象以數(shù)組形式進(jìn)行集合。因此,具有合并單元格表頭的Excel表格向JSON格式文件轉(zhuǎn)換的要點(diǎn)在于,如何準(zhǔn)確識別表頭子對象的起始、表頭子對象的結(jié)尾以及同級表頭子對象或值對之間的間隔,并分別進(jìn)行處理,才能滿足JSON格式文件語法要求。

        4.1 表頭子對象起始識別

        針對具有合并單元格的Excel表頭識別,提出一種遍歷Excel表格表頭區(qū)域,逐個(gè)對單元格進(jìn)行分析的方法。根據(jù)Excel表格特點(diǎn),合并單元格只在合并范圍內(nèi)的左上角單元格存儲合并單元格的有效值,其余單元格均為空格。利用該特點(diǎn)可篩選出非空表頭單元格,同時(shí)利用MergeArea.Columns.Count語句判斷表頭單元格是否為單列。對于單列表頭,直接與相應(yīng)數(shù)據(jù)單元格合并組成值對;對于多列表頭,將其作為子對象進(jìn)行處理,并寫入符號“:{”作為子對象起始符。

        4.2 表頭子對象結(jié)尾識別

        當(dāng)遍歷至表頭區(qū)域末行的基層表頭單元格后,即可向上逐行對同列表頭單元格進(jìn)行分析,直到表頭區(qū)域首行為止,以準(zhǔn)確識別子對象的結(jié)尾。首先利用MergeArea.Row語句判斷上方單元格與上級表頭合并單元格的有效單元格是否位于同一行,再利用MergeArea.Column計(jì)算出上方單元格與有效單元格所在列號的差值,并與合并單元格列數(shù)MergeArea.Columns.Count進(jìn)行對比,若兩者相等即可認(rèn)定上方單元格已位于上級表頭合并單元格的末尾,寫入符號“}”作為該子對象的結(jié)尾符。

        4.3 同級表頭子對象或值對間隔識別

        對于數(shù)據(jù)區(qū)域同一行數(shù)據(jù)單元格,通過判斷,若未處于末列,值對之間以及同級子對象之間需寫入符號“,”進(jìn)行分隔;同時(shí),對于數(shù)據(jù)區(qū)域各行,通過判斷,若未處于末行,各行子對象之間也需寫入符號“,”進(jìn)行分隔。

        通過遍歷Excel表格單元格實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)交換格式轉(zhuǎn)換的流程見圖5。

        圖5 Excel表格向結(jié)構(gòu)化數(shù)據(jù)交換格式轉(zhuǎn)換流程

        利用上述方法,將上文示例表格(見圖3)轉(zhuǎn)換為JSON格式文件的代碼見圖6。

        圖6 示例表格轉(zhuǎn)換為JSON格式文件代碼

        綜上,通過運(yùn)用VBA工具,實(shí)現(xiàn)對鐵路工程設(shè)計(jì)數(shù)據(jù)Excel表格各單元格的遍歷,結(jié)合合并單元格的多種屬性進(jìn)行判別,將Excel表格的表頭及數(shù)據(jù)與JSON格式文件的子對象及值對一一對應(yīng),并根據(jù)JSON格式文件語法要求分別進(jìn)行處理,從而完成鐵路工程設(shè)計(jì)結(jié)構(gòu)化數(shù)據(jù)交換格式轉(zhuǎn)換。

        5 鐵路工程設(shè)計(jì)數(shù)據(jù)表IFD標(biāo)準(zhǔn)編碼

        以“歐賽(OpenDesign)”數(shù)據(jù)管理軟件為例,鐵路工程設(shè)計(jì)數(shù)據(jù)的錄入一般有2種途徑:一種是通過數(shù)據(jù)管理軟件的表格模板進(jìn)行手動(dòng)輸入;另一種是通過附帶IFD標(biāo)準(zhǔn)編碼的設(shè)計(jì)數(shù)據(jù)Excel表格進(jìn)行導(dǎo)入。由于數(shù)據(jù)管理軟件運(yùn)行環(huán)境目前僅限于Linux平臺,直接在數(shù)據(jù)管理軟件內(nèi)進(jìn)行手動(dòng)輸入存在諸多不便。但如果在設(shè)計(jì)數(shù)據(jù)Excel表格內(nèi)手動(dòng)添加反映層級關(guān)系的IFD標(biāo)準(zhǔn)編碼,也存在工作量大、查找困難、容易出錯(cuò)等問題。

        結(jié)合上文遍歷單元格的方法,鐵路工程設(shè)計(jì)數(shù)據(jù)表IFD標(biāo)準(zhǔn)編碼可采用對表頭區(qū)域進(jìn)行從上至下、從左至右逐格分析處理的自動(dòng)化操作方法。一方面該方法可去除表頭單元格內(nèi)包含的計(jì)量單位標(biāo)注,另一方面可在鐵路IFD標(biāo)準(zhǔn)編碼庫內(nèi)查找表頭內(nèi)容,通過定位獲取對應(yīng)的IFD標(biāo)準(zhǔn)編碼,并寫入創(chuàng)建的IFD標(biāo)準(zhǔn)編碼一維數(shù)組中。為了在IFD標(biāo)準(zhǔn)編碼中體現(xiàn)表頭內(nèi)容的層級關(guān)系,若正在處理的表頭單元格被判斷為非基層表頭,則對相應(yīng)的IFD標(biāo)準(zhǔn)編碼另行添加后綴“_”;若正在處理的表頭單元格被判斷為基層表頭,則不添加后綴。最后利用join函數(shù)連接IFD標(biāo)準(zhǔn)編碼一維數(shù)組各元素,并將其作為文本寫入設(shè)計(jì)數(shù)據(jù)表新增首行對應(yīng)的單元格內(nèi),完成鐵路工程設(shè)計(jì)數(shù)據(jù)表IFD標(biāo)準(zhǔn)自動(dòng)編碼,該成果為鐵路工程設(shè)計(jì)數(shù)據(jù)表導(dǎo)入“歐賽(OpenDesign)”數(shù)據(jù)管理軟件提供了可行途徑。實(shí)現(xiàn)鐵路工程設(shè)計(jì)數(shù)據(jù)表IFD標(biāo)準(zhǔn)自動(dòng)編碼的流程見圖7。

        圖7 鐵路工程設(shè)計(jì)數(shù)據(jù)表IFD標(biāo)準(zhǔn)自動(dòng)編碼流程

        利用上述方法,將上文示例表格(見圖3)進(jìn)行IFD標(biāo)準(zhǔn)編碼的結(jié)果見圖8。

        圖8 引入IFD標(biāo)準(zhǔn)編碼的鐵路工程設(shè)計(jì)數(shù)據(jù)表示例

        將附帶IFD標(biāo)準(zhǔn)編碼的鐵路工程設(shè)計(jì)數(shù)據(jù)表導(dǎo)入“歐賽(OpenDesign)”數(shù)據(jù)管理軟件的結(jié)果見圖9。

        圖9 附帶IFD標(biāo)準(zhǔn)編碼的鐵路工程設(shè)計(jì)數(shù)據(jù)表導(dǎo)入結(jié)果

        6 結(jié)束語

        提出的鐵路工程設(shè)計(jì)結(jié)構(gòu)化數(shù)據(jù)交換格式轉(zhuǎn)換方法及鐵路IFD標(biāo)準(zhǔn)編碼方法,適用于多種形式的鐵路工程設(shè)計(jì)數(shù)據(jù)Excel表格,并具有結(jié)構(gòu)簡單、邏輯清晰、簡單實(shí)用等特點(diǎn)。同時(shí),該方法可利用Visual Basic平臺進(jìn)行移植,并封裝成可獨(dú)立運(yùn)行的轉(zhuǎn)換工具及編碼工具,能夠?qū)㈣F路工程設(shè)計(jì)數(shù)據(jù)Excel表格批量轉(zhuǎn)換為JSON格式文件及批量進(jìn)行IFD標(biāo)準(zhǔn)編碼,在符合廣大鐵路工程設(shè)計(jì)人員工作習(xí)慣的基礎(chǔ)上,可大幅減少待交付附表電子文件編制的工作量,提升設(shè)計(jì)人員工作效率,進(jìn)一步推進(jìn)鐵路工程建設(shè)電子化、信息化進(jìn)程。

        猜你喜歡
        鐵路標(biāo)準(zhǔn)
        鐵路是怎么發(fā)明的
        2022 年3 月實(shí)施的工程建設(shè)標(biāo)準(zhǔn)
        沿著中老鐵路一路向南
        忠誠的標(biāo)準(zhǔn)
        美還是丑?
        鐵路通信線路維護(hù)體制改革探索與實(shí)踐
        你可能還在被不靠譜的對比度標(biāo)準(zhǔn)忽悠
        無人機(jī)在鐵路工程建設(shè)中的應(yīng)用與思考
        一家之言:新標(biāo)準(zhǔn)將解決快遞業(yè)“成長中的煩惱”
        專用汽車(2016年4期)2016-03-01 04:13:43
        GSM-R在鐵路通信中的應(yīng)用
        中文无码免费在线| 日日摸天天摸人人看| 中文无码人妻有码人妻中文字幕| 巨茎中出肉欲人妻在线视频| 少妇仑乱a毛片| 亚洲男人天堂2019| 亚洲日本VA午夜在线电影| 成人影院免费视频观看| 日韩精品在线一二三四区| 国产精品久久成人网站| 国产看黄网站又黄又爽又色| 久久久99精品视频| 亚洲精品一区二区成人精品网站| 加勒比hezyo黑人专区| 国产精成人品日日拍夜夜免费| 五月天综合在线| 无码一区二区三区网站| 国产毛片三区二区一区| 亚洲网站一区在线播放| 亚洲人成色7777在线观看不卡 | 新婚人妻不戴套国产精品| 国产成人亚洲精品无码mp4| 无码中文字幕在线DVD| 亲少妇摸少妇和少妇啪啪| 91成人黄色蘑菇视频| 久久久无码精品亚洲日韩按摩| 99久久久国产精品免费蜜臀| 亚洲国产精品色一区二区| 国产自拍高清在线观看| 国产激情精品一区二区三区| 国产成人亚洲合集青青草原精品| 人妻人妇av一区二区三区四区| 插上翅膀插上科学的翅膀飞| 国产xxx69麻豆国语对白| 亚洲精品久久久久久久久av无码| 亚洲精品123区在线观看| 久久熟女少妇一区二区三区 | 国产午夜在线观看视频| 人妻少妇看a偷人无码| 日本三级欧美三级人妇视频 | 国产精品毛片无码|