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

?

面向大眾智能化管線統(tǒng)計功能設(shè)計與實現(xiàn)

2019-09-25 09:43:46卞玉霞2陳朝高
計算機測量與控制 2019年9期
關(guān)鍵詞:字段語句分組

周 業(yè),卞玉霞2,陳朝高

(1.自然資源部第六地形測量隊,成都 610500;2.成都信息工程大學 資源環(huán)境學院,成都 610225)

0 引言

管線統(tǒng)計技術(shù)作為管線信息管理系統(tǒng)的重要組成部分,能夠輔助政府直觀、清晰得掌握地下管線的種類、分布情況[1-2]。目前,為滿足靈活的統(tǒng)計需求,管線系統(tǒng)中的統(tǒng)計功能主要采用人工輸入SQL語句進行自定義統(tǒng)計[3-6],該功能要求管線系統(tǒng)操作人員需要具備良好的專業(yè)SQL編程基礎(chǔ),熟練掌握SQL條件中的關(guān)鍵字的意義和優(yōu)先級關(guān)系,操作門檻較高,可推廣性較弱。

隨著我國城鎮(zhèn)化進程的不斷深入,社會信息化不斷發(fā)展,地下管線各級主管部門分別建設(shè)多種類別地下管線信息管理系統(tǒng)。各類地下管線信息管理系統(tǒng)操作人員普遍呈現(xiàn)出非專業(yè)性,對計算機技術(shù)和SQL編程缺乏系統(tǒng)學習,因此如何實現(xiàn)低門檻操作、高自由度組合統(tǒng)計,成為管線系統(tǒng)建設(shè)方需要解決的迫切要求[7]。

1 需求分析

統(tǒng)計功能是管理信息系統(tǒng)中用戶使用頻率比較高的功能之一,該功能設(shè)計好壞,不僅涉及項目的研發(fā)工作量和軟件質(zhì)量,更關(guān)系著用戶的滿意度。目前,地下管線系統(tǒng)建設(shè)項目中系統(tǒng)用戶大多數(shù)是非計算機專業(yè)出身,缺乏計算機編程基礎(chǔ),難以掌握自定義編寫SQL進行專業(yè)性較強的查詢統(tǒng)計操作,且用戶年齡階層普遍偏大,對信息化系統(tǒng)適應能力較弱,操作能力偏低,難以適應操作過于復雜的系統(tǒng)功能。而系統(tǒng)操作用戶迫切要求統(tǒng)計功能具備統(tǒng)計結(jié)果靈活度高,操作自由門檻低等特點,在滿足操作簡便的同時又需要滿足業(yè)務(wù)需求的多樣性,最難解決的問題是在傳統(tǒng)查詢統(tǒng)計操作的靈活性和專業(yè)性這兩個成正比的因子中尋找一個既能兼容查詢統(tǒng)計的人機交互操作的簡易靈活性,又能滿足查詢統(tǒng)計需求的專業(yè)性的方法,其將直接影響最終用戶的使用、管線系統(tǒng)的推廣和人們的生活和工作。因此,在系統(tǒng)開發(fā)過程中需要充分考慮大眾用戶的信息化操作技能水平和實際工作業(yè)務(wù)需求[8-10]。

2 總體設(shè)計

2.1 設(shè)計目標

為了實現(xiàn)智能簡便化的統(tǒng)計需求,本文做如下設(shè)計:(1)用戶可以根據(jù)需求隨意創(chuàng)建查詢條件,沒有任何限制。系統(tǒng)能夠在不知道用戶如何定義查詢條件的情況下,準確獲取用戶的需求,并且能夠按照語法規(guī)則動態(tài)的生成查詢統(tǒng)計語句并顯示查詢結(jié)果;(2)用戶界面友好,符合日常的操作習慣。系統(tǒng)不需要用戶輸入SQL語句,直接通過在界面上根據(jù)需求明確相應操作就能得出所要的統(tǒng)計結(jié)果;(3)具有一定的容錯性,允許用戶操作失誤,對誤操作給予明確的提示并及時糾正,并對系統(tǒng)錯誤代碼給予提示,避免誤操作造成系統(tǒng)故障。

2.2 功能結(jié)構(gòu)和特點

本文面向大眾智能化管線統(tǒng)計功能主要包括統(tǒng)計模塊、智能化識別模塊和數(shù)據(jù)庫,它們之間的關(guān)聯(lián)關(guān)系如圖1所示。圖中,統(tǒng)計模塊是將用戶操作數(shù)據(jù)傳送至智能識別化模塊,輸出數(shù)據(jù)庫反饋的結(jié)果;智能識別化模塊主要是接收統(tǒng)計模塊傳送的用戶操作數(shù)據(jù),對操作數(shù)據(jù)進行智能化識別、解析、組合并編譯成數(shù)據(jù)庫可識別的命令,并將該命令傳送至數(shù)據(jù)庫;而數(shù)據(jù)庫主要是接收智能識別化模塊傳送的查詢命令,并將查詢結(jié)果反饋至統(tǒng)計模塊。

圖1 統(tǒng)計功能應用原理圖

本文統(tǒng)計功能采用組合方式,分為統(tǒng)計條件設(shè)定和統(tǒng)計結(jié)果分組顯示兩部分,如圖2所示。統(tǒng)計條件采用內(nèi)嵌組合方式,通過動態(tài)枚舉條件內(nèi)容方式,以列表方式加載顯示,并提供用戶直接選擇所需要的條件內(nèi)容自動組合生成統(tǒng)計條件SQL語句[11-15];統(tǒng)計結(jié)果分組顯示同樣通過動態(tài)預加載分組字段,用戶只需要通過選擇分組字段的先后順序來確定所要的統(tǒng)計結(jié)果分組顯示的層級關(guān)系,系統(tǒng)會自動按照分組字段選擇的先后順序,自動合并生成分組語句。

圖2 統(tǒng)計功能結(jié)構(gòu)圖

本文統(tǒng)計功能具有較強的通用性,統(tǒng)計條件的數(shù)量和內(nèi)容可以由用戶隨意增減,用戶只需要按照實際工作需求,選擇需要進行統(tǒng)計的條件字段名,系統(tǒng)將自動根據(jù)用戶選擇的條件字段名自動篩選枚舉出的字段值,系統(tǒng)會在后臺自動整合形成相對應的SQL統(tǒng)計語句;允許用戶進行多個統(tǒng)計條件的組合統(tǒng)計,系統(tǒng)會根據(jù)用戶選擇的統(tǒng)計條件字段和字段值進行組合排列,形成合理的、符合查詢規(guī)范的統(tǒng)計條件。統(tǒng)計結(jié)果主要是處理分組字段的層級關(guān)系,其主要根據(jù)需求所要的統(tǒng)計結(jié)果表頭字段和查詢統(tǒng)計條件字段進行綜合處理,具有很強的動態(tài)性。

3 算法實現(xiàn)

智能化簡易化的管線統(tǒng)計功能核心在于如何準確合理地內(nèi)嵌和識別用戶在界面上的操作并將操作過程在后臺轉(zhuǎn)成數(shù)據(jù)庫可以識別的SQL查詢統(tǒng)計語句。例如用戶需要統(tǒng)計漕東支路、漕西支路和漕寶路的給水、排水、燃氣三類管線總長度,并按照管線類別進行分組顯示。根據(jù)這個需求,需要分兩步進行逆向推演:

(1)數(shù)據(jù)庫識別用戶需求,將用戶需求編譯成數(shù)據(jù)庫引擎能夠識別的SQL語言。

首先要讓數(shù)據(jù)庫可以識別用戶需求,需要將用戶需求編譯成數(shù)據(jù)庫引擎能夠識別的SQL語言,用SQL語言來指導數(shù)據(jù)庫引擎檢索出用戶所需要的結(jié)果。按照示例中的需求編譯成的數(shù)據(jù)庫能夠識別并滿足用戶需求的SQL統(tǒng)計語句如下:

SELECT 管線類別,SUM(管線長度) AS 總長度 FROM (SELECT管線類別,所屬道路,管線長度 FROM 給水管線 UNION ALL SELECT管線類別, 所屬道路, 管線長度FROM 排水管線UNION ALL SELECT管線類別, 所屬道路, 管線長度FROM 燃氣管線) WHERE所屬道路IN(‘漕東支路’,’ 漕西支路’,’漕寶路’)

GROUP BY管線類別

(2)識別操作內(nèi)容,分析操作步驟,編譯操作流程。

為了獲得第一步的SQL統(tǒng)計語句,需要讓系統(tǒng)能夠識別用戶的操作內(nèi)容,并對操作過程的每個步驟進行統(tǒng)籌,然后按照內(nèi)嵌的SQL模塊,將用戶的操作過程編譯成第一步中的SQL。按照示例中的需求,用戶需要明確分組字段“管線類別”,明確進行統(tǒng)計的管線表名,明確統(tǒng)計條件中的道路名稱,系統(tǒng)會自動進行遍歷與組合成對應操作的SQL語句,自動生成組合條件的算法流程如圖3所示。

圖3 算法流程圖

在組合條件生成的同時需要根據(jù)用戶的操作需求,同步組織分組結(jié)果表頭內(nèi)容,在具體實現(xiàn)過程中,系統(tǒng)編譯統(tǒng)計條件算法如下:

foreach(DataGridViewRow dgvr in dgvLineConditionMx.Rows)

{

if (Convert.ToBoolean(dgvr.Cells[0].Value))

{

if (Convert.ToString(dgvr.Cells[1].Value) != "")

{

strConditionValue += string.Format(@"'{0}',", dgvr.Cells[1].Value.ToString());

}

else

{

strConditionNullValue += string.Format(@" OR {0} IS NULL", strLineLastField);

}

}

}

系統(tǒng)編譯分組和排序算法如下:

foreach (DataGridViewRow dgvr in dgvLineGroupField.Rows)

{

if (Convert.ToBoolean(dgvr.Cells[0].Value))

{

strSubFields += string.Format(@" {0},", dgvr.Cells[1].Value.ToString());

strGroupBy += string.Format(@" {0},", dgvr.Cells[1].Value.ToString());

strOrderBy += string.Format(@" {0},", dgvr.Cells[1].Value.ToString());

}

}

4 功能展示

本文以徐匯區(qū)漕東支路、漕東三路和漕東四路所包含的管線進行智能化統(tǒng)計功能展示。具體展示內(nèi)容分為按照專題統(tǒng)計和按照混合條件自由自定義統(tǒng)計。

4.1 按照專題統(tǒng)計

如圖4所示,對區(qū)域內(nèi)漕東支路、漕東三路和漕東四路這三條道路所在的給水和雨水管線進行按規(guī)格、街路名稱和管材分組統(tǒng)計。按照需求,用戶只需要在分組字段中選擇規(guī)格、街路名稱和管材字段,在管線類別中選擇給水管線和雨水管線表名,在街路名稱明細表中選擇漕東支路、漕東三路和漕東四路這三條道路名,即可在表格中清楚明了的展示統(tǒng)計結(jié)果。

圖4 按照專題統(tǒng)計

4.2 按照混合條件自由自定義統(tǒng)計

如圖5所示,統(tǒng)計漕東支路、漕東三路和漕東四路的給水和雨水管線并且管線材質(zhì)為鑄鐵和PVC的規(guī)格。按照需求,用戶只需要在分組字段中選擇規(guī)格、街路名稱和管材字段,在管線類別中選擇給水管線和雨水管線表名,在街路名稱明細表中選擇漕東支路、漕東三路和漕東四路這三條道路名,在管材名稱明細中選擇鑄鐵和PVC,即可在表格中清楚明了的展示統(tǒng)計結(jié)果。

圖5 按照混合條件自由自定義統(tǒng)計

本文在系統(tǒng)界面上提供通俗易懂的操作方式,用戶充分依據(jù)實際業(yè)務(wù)需求在界面上進行簡便操作,系統(tǒng)后臺會智能化地識別用戶的操作步驟,經(jīng)過內(nèi)嵌的模塊解析用戶的操作意圖,再將其合理組合,編譯成數(shù)據(jù)庫引擎能夠識別的查詢統(tǒng)計命令,以獲得用戶所需要的統(tǒng)計結(jié)果并予以展示。本文設(shè)計的內(nèi)嵌智能化識別模塊消除了人機交互之間的語言障礙,系統(tǒng)功能的簡便操作進一步提升了管線系統(tǒng)中人機交互的體驗感,為管線系統(tǒng)的推廣提供技術(shù)支持。

5 結(jié)果和分析

本文提供了一種提升人機交互體驗感的智能管線統(tǒng)計方法,如圖6所示,該方法主要包括以下步驟:

S1:動態(tài)枚舉統(tǒng)計條件供用戶根據(jù)實際情況進行選擇;

S2:系統(tǒng)后臺智能化地識別用戶的操作步驟,解析用戶的操作意圖,再將其合理組合;

S3:編譯成數(shù)據(jù)庫引擎能夠識別的查詢統(tǒng)計命令并進行查詢統(tǒng)計;

S4:獲得用戶所需要的統(tǒng)計結(jié)果并利用顯示器展示。

圖6 智能管線統(tǒng)計方法流程

圖6中,步驟S1中動態(tài)枚舉統(tǒng)計條件是指通過動態(tài)枚舉條件內(nèi)容,以列表方式加載顯示,并提供用戶直接選擇條件內(nèi)容以自動組合生成統(tǒng)計條件SQL語句;步驟S4中統(tǒng)計結(jié)果展示的是通過動態(tài)預加載分組字段,根據(jù)用戶選擇分組字段的先后順序來確定所要的統(tǒng)計結(jié)果分組顯示的層級關(guān)系,算法自動按照分組字段加載的先后順序,自動合并生成分組語句。

與傳統(tǒng)方法相比,本文方法操作步驟較為簡單便捷;從人機交互角度分析,本文方法操作步驟更容易被用戶所接受。如圖7和圖8所示,本文所述的統(tǒng)計功能方法具有較強的通用性,統(tǒng)計條件的數(shù)量和內(nèi)容由用戶隨意增減,用戶只需按照實際工作需求,明確需要進行統(tǒng)計的條件字段名稱,算法將會根據(jù)條件字段名稱自動篩選枚舉出的字段值,并自動整合形成相對應的SQL統(tǒng)計語句;允許用戶進行多個統(tǒng)計條件的組合統(tǒng)計,算法會根據(jù)用戶的統(tǒng)計條件字段和字段值進行組合排列,形成合理的、符合查詢規(guī)范的統(tǒng)計條件。統(tǒng)計結(jié)果是處理分組字段的層級關(guān)系,其主要根據(jù)需求所要的統(tǒng)計結(jié)果表頭字段和查詢統(tǒng)計條件字段進行綜合處理,具有較強的動態(tài)性。系統(tǒng)界面提供了通俗易懂的操作方式,系統(tǒng)設(shè)計的內(nèi)嵌智能化識別模塊消除了人機交互之間的語言障礙,系統(tǒng)功能的簡便操作進一步提升了管線系統(tǒng)中人機交互的體驗感,為管線系統(tǒng)的推廣提供技術(shù)支持。

圖7 明確需求時不同查詢方法操作步驟對比圖

圖8 需求變更時兩種查詢方法操作步驟對比圖

6 結(jié)論

本文立足于管線統(tǒng)計中的用戶需求問題,結(jié)合已開發(fā)的地下管網(wǎng)GIS系統(tǒng),闡述了在管線系統(tǒng)中面向大眾的智能化管線統(tǒng)計技術(shù)的過程、方法,重點給出了內(nèi)嵌SQL模塊整合處理方式和以所見即所得的方式編譯用戶的全過程操作內(nèi)容合理組合形成可供數(shù)據(jù)庫引擎識別的SQL命令的原理和算法,并針對于管線系統(tǒng)中的專題統(tǒng)計和混合條件自由自定義統(tǒng)計兩種方式進行統(tǒng)計結(jié)果展示,整個操作過程無需用戶手動輸入復雜的SQL語句,為用戶提供了一種操作簡易化、智能化的管線統(tǒng)計方式,解決了用戶對管線統(tǒng)計功能的低門檻操作、高自由度統(tǒng)計的需求。系統(tǒng)設(shè)計的內(nèi)嵌智能化識別模塊消除了人機交互之間的語言障礙,統(tǒng)計功能的簡便操作進一步提升了用戶操作的體驗感,人性化的設(shè)計理念不僅解決了用戶日常的業(yè)務(wù)需求,也能進一步消除人與機器之間的隔閡,有助于管線信息化的進一步推廣和應用。

猜你喜歡
字段語句分組
圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
重點:語句銜接
分組搭配
怎么分組
精彩語句
分組
CNMARC304字段和314字段責任附注方式解析
無正題名文獻著錄方法評述
如何搞定語句銜接題
語文知識(2014年4期)2014-02-28 21:59:52
關(guān)于CNMARC的3--字段改革的必要性與可行性研究
连城县| 方山县| 东阿县| 广宁县| 桑日县| 棋牌| 遵义县| 红安县| 新绛县| 东至县| 莆田市| 大洼县| 宿州市| 鹤岗市| 青阳县| 洪泽县| 汤原县| 额济纳旗| 常熟市| 和平区| 炉霍县| 龙泉市| 香格里拉县| 黄平县| 灌云县| 勐海县| 苏尼特左旗| 西丰县| 保康县| 伊金霍洛旗| 万源市| 奇台县| 霞浦县| 元阳县| 筠连县| 阳新县| 揭东县| 上饶市| 林甸县| 华蓥市| 尚义县|