<ol id="ebnk9"></ol>
    1. 基于PowerDesigner的河南地震災情信息管理系統的數據庫設計

      發布時間:2025-06-20 14:25:26   來源:心得體會    點擊:   
      字號:

      樊 華,王斐斐,韓貞輝,李曉陽

      (河南省地震局, 鄭州 450018)

      地震災害具有突發性和不可預測性,且易產生嚴重次生災害,對人類社會生活產生較大影響。因此,采取有效的地震災后救援對減輕地震災害影響具有非常重要的意義,而震后的災情收集與處理分析就成為開展應急救援的重中之重。

      地震應急救援的首要基礎是震后快速獲取災區的各種災情信息。震后災情獲取的速度影響著政府對災情信息的了解程度,也影響著救災工作的開展規模和力度[1]。震后,省級地震部門通過各種途徑,迅速了解和收集地震破壞或影響情況,按時限將災情信息上報中國地震局,同時報告省人民政府。

      地震災情信息快速獲取、評估、上報工作是地震應急救援工作中非常重要的環節[2]。河南省地震局于2019年印發《河南省地震系統地震災情快速收集處置預案》,明確了災情報送原則、報送流程、報送內容等,并提出“探索使用新技術、新方法開展災情快速收集工作”。

      隨著科技的發展,災情上報與收集的手段也逐漸多元化和自動化,災情數據的處理也更加智能,因此,河南省內地震災情信息管理系統的建立顯得尤為重要,作為系統核心的數據庫設計也是重中之重。許多專家學者也對此做了研究和探索,比如左天惠等[3]開發的基于Android的廣西地震信息推送與災情收集系統采用開源的MySQL管理數據庫,因其屬于關聯數據庫管理系統,可將數據保存在不同的表中,提高了速度和靈活性;
      陳維鋒等[4]采用Oracle數據庫和ArcGIS軟件,完成四川地震災情數據建庫和綜合管理;
      劉文等[5]建立了基于Oracle10的Spring架構,Spring結合Hibernate的持久化功能,無縫對接Oracle,Spring的靈活性也方便數據庫后續的更改。上述方法都對地震災情信息數據庫建設進行了討論和研究,但是多偏重對數據庫的管理,對數據庫的邏輯設計以及快速化建庫缺少較細致的討論。本文將基于PowerDesigner的數據庫分析建模功能,對地震災情信息數據庫進行邏輯設計,并利用SQL和Python設計語言實現基于PostgreSQL的快速建庫,為提高省內地震災情收集效率和輔助應急人員進行快速科學決策服務。

      PowerDesigner是Sybase公司的CASE工具集,軟件幾乎包含了數據庫模型設計的全過程。使用該軟件能夠智能地進行管理系統設計分析,它將對象設計、數據庫設計和關系數據庫無縫地集成在一起,提供完整的企業分布式應用系統的分析設計功能和建模解決方案,具有生成面向對象模型OOM、概念數據模型CDM、物理數據模型PDM的建模功能[6]。

      PowerDesigner支持許多流行的數據庫設計和開發環境,如Oracle、PostgreSQL、MySQL等。本文基于該軟件設計河南省地震災情數據庫表及其表之間的關聯,通過SQL和Python語言,將Power Designer的PDM對接PostgreSQL,實現智能化快速建庫,后期將基于PostgreSQL和PostGIS進行管理應用。

      為滿足災情信息的分析和成圖需求,數據庫應具備以下幾項功能:①GIS化,空間屬性信息是地震數據的標配,GIS有利于數據應用和共享;
      ②規范化,規范準確的災情信息可以充分滿足災情評估和減災防災的工作需求;
      ③可擴展化,即災情數據庫在結構上具有可擴展性[7]。

      災情信息數據庫與其他數據庫相比,其中行政區劃、地震影響場等空間數據和災情等屬性數據之間需要建立合理的連接,所以數據庫須支持非結構化幾何數據,比如行政區劃圖等。目前較為普遍的方法一種是運用空間數據庫引擎技術完成不同平臺之間的數據傳遞;
      另外一種是數據庫生產商通過擴展功能模塊實現空間數據存儲管理[8],比如PostgreSQL的空間對象擴展模塊PostGIS。本文使用第二種方法。

      經過詳細的需求調研和分析,該數據庫設計基于以下5個模塊進行設計:①災情速報員、災情評估員等用戶信息模塊;
      ②地震發布情況模塊;
      ③災情收集與上報信息模塊;
      ④統計報表模塊;
      ⑤災情渲染圖模塊。

      2.1 可視化建模工具分析

      數據庫采用PowerDesigner進行建模設計?;谠撥浖膹姶笤O計功能和可視化操作界面,可以快捷地編寫數據庫表結構,并搭建表關系,將復雜的數據庫代碼變為一目了然的數據庫表,使得在數據庫前期的設計中能夠清晰地梳理復雜的數據庫表結構與表關系(圖1)。

      圖1 PowerDesigner操作界面

      2.2 數據分類

      本文梳理了震后地震災情收集各步驟之間的關系(圖2),為創建物理數據模型(PDM)理清思路。將數據分為基礎數據和操縱數據?;A數據包含基礎地理數據、人員信息數據和計算數據等;
      操縱數據,又分為輸入數據和導入數據,輸入數據是災情收集表的主要來源,導入數據包含圖件、文檔以及GIS中產出的矢量數據等(表1)。

      表1 數據分類表

      圖2 震后災情信息收集流程

      2.3 建立物理數據模型

      選擇使用PowerDesigner直接創建物理數據模型(PDM),配置數據庫鏈接PostgreSQL,并重點應用其擴展模塊PostGIS的空間信息服務功能。

      2.3.1 數據庫主表設計

      人員信息中的災情速報員和災情評估員的屬性數據需空間化處理,屬性表中坐標信息屬性必填(Mandatory),便于震后系統提取震區人員信息以及在地圖上的分布展示。

      災情收集表是整個數據庫表的核心,為整個數據庫的主表,其結構的合理性影響著后續的產出。為滿足數據分析與應用,災情收集表主要包含震區人員信息、有感程度、人員傷亡情況、經濟社會影響和空間信息等信息儲存字段(表2)。

      表2 災情收集表屬性

      User_id為所有人員編號,包含災情速報員、災情評估員、相關領導和后臺信息管理人員,此項具有唯一屬性;
      地震事件采用日期和時間的阿拉伯數字編號,即:YYYYMMDDHHMMSS,此編號也視作地震事件的唯一編號;
      上報類型分首報和續報;
      有感程度分4個類型:①無明顯震感,②輕微有感,③明顯有感,④強有感;
      表中第二至七欄,屬性為非空。

      基于災情的協同機制,對災情信息獲取設計了2種方式:①向下收集,以這種方式為主,即由后臺信息管理員(災情收集員)根據地震影響場提取的地震影響范圍內災情速報員信息列表,主動撥打電話并錄入災情信息;
      ②向上上報,即震區災情速報員可在震后主動登錄系統(微信小程序),自動定位并填寫信息上報。

      綜合以上2種方式產出災情收集表信息,利用災情統計分析,生成災情統計報表,報表可為災情報告和災情圖件提供數據基礎。

      2.3.2 外部開發需求

      由于該災情管理系統平臺基于微信小程序,考慮到用戶接入信息,需設計詳細的用戶表,主要包含用戶基本信息、用戶登錄信息及賬戶操作信息。

      用戶基本信息來自上一部分的人員信息表,用戶登錄信息和賬戶操作信息則是登錄微信小程序后獲取的數據信息。為了簡潔設置,將后2項整合在一個表里,即用戶賬號信息表,包含用戶登錄小程序并授權后所獲取的數據字段,如表面可見的賬號基本信息:微信名、昵稱、頭像、性別、手機號等,以及隱藏代碼:臨時登錄憑證和用戶唯一標識;
      賬戶狀態信息(可用/關閉)和首次、末次登錄時間等也是必設字段。

      2.4 數據庫表設計及各類數據間的關聯關系

      基于以上研究,本文共設計了災情收集表、地震事件表、人員信息表、地震影響表、有感范圍采樣點表、有感范圍表、災情報告表、當前人員信息表、用戶賬號信息表等共計9個數據庫表用于地震災情信息管理系統(圖3)。其中地震事件表、地震影響場表、當前地震人員表、災情收集表、有感范圍采樣點表、有感范圍表和災情報告表通過地震事件進行關聯;
      人員信息表、當前地震人員表、用戶賬號信息通過人員編號關聯。人員編號因為其唯一性且不可更新,均設置為其所在表的主鍵(primary key),地震事件(編號)作為主要的外鍵(foreign key)建立了各表之間的關聯。

      圖3 災情信息數據庫PDM

      PowerDesigner將設計好的物理數據模型生成SQL腳本文件,進行該項操作前需先確認當前數據庫DBMS設置為PostgreSQL,然后使用生成數據庫(Generate Database)功能將物理數據模型生成SQL語句并儲存,用于存取數據以及查詢、更新和管理災情信息數據庫(圖4)。

      圖4 PowerDesigner生成數據庫

      為了與開源GIS二次開發更好的銜接,在數據庫模型建立之后,選擇使用Python設計語言對PostgreSQL數據庫表進行后續操作,可在Python中鏈接PostgreSQL并寫入SQL語句,完成數據庫表的快速建立。

      數據庫應用于河南地震災情信息管理系統。該系統是一套基于開源GIS的災情信息管理系統,針對現階段省內地震應急工作中存在的災情收集效率不高的問題,以小程序為平臺,使災情信息收集多元化、精準化,數據分析處理智能化,地震災情信息展示可視化,并能夠較為及時地產出震后相關報告,有效地輔助應急人員進行快速科學決策,提高地震災情收集效率、提升地震應急指揮能力。數據庫在PowerDesigner結構設計后,使用Python的輕量化web框架flask搭建,flask框架作為橋梁連接了小程序與PostgreSQL災情數據庫。

      選取2021年3月7日河南南陽(33.42°N,111.28°E)3.0級地震數據測試數據庫在系統中的應用效果。系統獲取地震三要素后,調用地震影響場表,生成預估影響范圍,并根據面積均分為4個象限(圖5彩色圈),方便收集工作的分配。根據影響范圍,從庫中的人員信息表中檢索出坐標落在該范圍內的人員信息,即“當前人員信息表”;
      點擊某一人員位置點,即可獲取人員信息;
      支持一鍵獲取手機號并撥打,以及代為填寫災情收集表(圖5)。

      圖5 地震災情信息管理系統應用效果展示圖

      查詢預估影響范圍內的人員信息關鍵代碼如下:

      災情信息保存在災情收集表中,該表系統展示如圖6,系統統計信息后根據災情報告模板產出《省內地震災情速報》(圖7),

      圖6 災情收集表頁面

      圖7 省內地震災情速報

      部分調用代碼如下:

      1)數據庫設計是河南地震災情信息管理系統開發的重要環節,PowerDesigner的模型設計功能提供了強大的平臺,物理數據模型的建立將抽象的代碼變為可視化的關系圖,大大方便了數據庫各個庫表內容的整理及表間關系的梳理,提高了設計效率。

      2)通過對地震災情信息管理系統的需求分析,建立物理數據模型,明確各表所包含內容,梳理各表間的屬性關系,應用于PostgreSQL,實現了災情信息數據庫的建立。

      3)數據庫為地震災情信息管理系統提供了數據“倉庫”,建立了災情數據的資源目錄,方便數據共享,震后災情數據可通過數據庫供應急專題圖等系統使用;
      實現了數據的集中控制與管理,PostgreSQL特有的空間對象擴展模塊PostGIS可以較好地管理地震災情中的大量空間矢量數據,沉淀了數據庫的元數據信息,使信息可復用、有價值。

      4)數據庫服務于地震災情信息管理系統,目的是提高河南省內災情信息的收集效率。經過數次省內2.0級以上真實地震的測試,使用效果較好,主要表現在2個方面:①快速選定預估有感范圍內災情速報員信息,并支持一鍵撥打電話以及代報災情,提高了災情獲取的效率;
      ②快速整合分析已收集信息,并導出簡報,提高快速輔助決策的效率。

      5)數據庫的建設是一項長期的過程,數據庫內容、數據結構、數據庫涉及范圍等多方面都是在不斷發展和進步中,后期還需要結合河南省地震災情管理現狀,不斷完善和改進,為“地震災情信息管理系統”做好基礎工作建設,為河南省“災情收集手段多元化和自動化、災情數據處理智能化”服務。

      猜你喜歡數據模型災情信息管理系統鹽城市夯實災害災情管理基礎江蘇安全生產(2022年8期)2022-11-01三維可視化信息管理系統在選煤生產中的應用選煤技術(2022年2期)2022-06-06信息管理系統在工程項目管理的應用煤氣與熱力(2021年12期)2022-01-19食品檢測實驗室信息管理系統應用現狀食品安全導刊(2021年21期)2021-08-30基于區塊鏈的微網綠電交易數據模型研究現代信息科技(2021年21期)2021-05-07中小企業信息管理系統應用過程中的問題與對策企業改革與管理(2021年2期)2021-01-02基于Pro/E 的發射裝置設計數據快速轉化方法艦船科學技術(2020年2期)2020-04-17“災情”環球時報(2018-07-11)2018-07-11經濟全球化對我國勞動收入份額影響機制研究——基于面板數據模型黨政干部學刊(2015年7期)2015-12-24甘肅岷縣漳縣6.6級地震災情快速評估及應急處置保障地震研究(2014年4期)2014-02-27
      国产另类无码专区|日本教师强伦姧在线观|看纯日姘一级毛片|91久久夜色精品国产按摩|337p日本欧洲亚洲大胆精

      <ol id="ebnk9"></ol>