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

?

基于Django的船舶運動預(yù)測系統(tǒng)的設(shè)計與實現(xiàn)

2020-09-10 00:23董朋
內(nèi)燃機與配件 2020年15期
關(guān)鍵詞:預(yù)測

董朋

摘要:港口天氣環(huán)境復(fù)雜無章,如果不及時對船舶做出適當(dāng)?shù)念A(yù)防措施,可能會對停泊或出港的船只帶來危害。針對該問題使用Python語言設(shè)計并實現(xiàn)了一套基于Django框架的Web系統(tǒng),對未來一段時間內(nèi)風(fēng)對船舶的受力分析,并進行運動狀態(tài)預(yù)測,同時給出相應(yīng)的決策建議,對防止由于突發(fā)大風(fēng)給港口帶來災(zāi)害提供了幫助。

Abstract: Complicated weather and environment of port, If proper precautions are not taken against the vessel in time, it may cause harm to the vessel berthing or leaving the port. In order to solve this problem, a web system based on Django framework is designed and implemented with Python language. The force analysis of the wind on the ship in the future is carried out, and the motion state is predicted. At the same time, the corresponding decision-making suggestions are given, which is helpful to prevent the port from disaster caused by sudden strong wind.

關(guān)鍵詞:Python;Django框架;風(fēng)載荷;預(yù)測

Key words: Python;Django framework;wind load;forecast

0 ?引言

船舶風(fēng)載荷受力分析及運動姿態(tài)預(yù)測系統(tǒng)是對進出港口或??看坏氖茱L(fēng)力情況及運動姿態(tài)預(yù)測進行可視化。系統(tǒng)的主要目的是結(jié)合氣象臺給出的未來一段時間內(nèi)氣象預(yù)報,為港口工作人員提供船舶未來一段時間內(nèi)的運動預(yù)測,給出相應(yīng)應(yīng)對措施,減少因突發(fā)大風(fēng)給港口帶來的損失。

每年夏秋是海上熱帶風(fēng)暴、強熱帶風(fēng)暴和臺風(fēng)的多發(fā)季節(jié),海上還常有突發(fā)性陣風(fēng),由此造成港口大型起重機械和船舶損毀的情況時有發(fā)生。隨著海運船只的大型化,突發(fā)性大風(fēng)對船只的影響更為嚴重,如果提前預(yù)知大風(fēng)對船只的運動影響并及時做出相應(yīng)的應(yīng)對措施,就能減少很大的損失。

隨著計算機科學(xué)技術(shù)的高速發(fā)展,越來越多的計算機語言被開發(fā)出來,Django是高水準的Python編程語言驅(qū)動的一個開源模型、視圖、控制器風(fēng)格的web應(yīng)用程序框架。因其有強大的路由映射功能,完善的視圖模板實現(xiàn),操作簡單,擴展靈活,成本低安全度高等優(yōu)點,擁有廣大的用戶群體和適用范圍。無論從質(zhì)量、性能還是從成本方面考慮,Django框架平臺逐漸成為高校信息發(fā)展工具的首選[1]。

1 ?技術(shù)可行性

Python是一種跨平臺的計算機程序設(shè)計語言,是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言??蓱?yīng)用于科學(xué)計算與統(tǒng)計、人工智能、軟件開發(fā)、網(wǎng)絡(luò)爬蟲、web開發(fā)等領(lǐng)域。相對其他語言,Python具有簡單易學(xué)、可擴展、免費開源、可移植性強、可嵌入性等優(yōu)點,因此可用于web系統(tǒng)開發(fā)、移動應(yīng)用開發(fā)、科學(xué)計算等廣泛領(lǐng)域。Django是基于Python語言開發(fā)的開源網(wǎng)站框架[2],Django在處理的過程中,對于經(jīng)典的MVC處理模式進行了再次的封裝和升級,在實際項目開發(fā)過程中控制器controller起到的作用非常有限,所以Django將控制器部分也進行了封裝,但是同時擴展了視圖view部分,增加了模板功能實現(xiàn)了前端網(wǎng)頁的復(fù)用,所以Django的架構(gòu)模式更加符合MVT處理模式。

2 ?系統(tǒng)模塊設(shè)計

本系統(tǒng)分為數(shù)據(jù)采集模塊、數(shù)據(jù)計算模塊、數(shù)據(jù)可視化模塊、決策建議模塊,如圖1。數(shù)據(jù)采集模塊需要建立數(shù)據(jù)庫用來接收船舶信息和從氣象臺發(fā)送的未來一段時間的風(fēng)況信息,以便為下一步的計算提供數(shù)據(jù)。數(shù)據(jù)計算模塊是根據(jù)風(fēng)載荷系數(shù)和船舶位姿受風(fēng)面積計算出船舶的受力分析。數(shù)據(jù)可視化模塊是將風(fēng)況信息、船舶信息、未來時間段內(nèi)船舶將要受到的風(fēng)力分析等信息通過Django框架以曲線、動畫等形式進行可視化。

3 ?系統(tǒng)需求分析

3.1 數(shù)據(jù)同步

在系統(tǒng)的功能中,數(shù)據(jù)同步保證著系統(tǒng)的及時性、準確性、可靠性。數(shù)據(jù)同步功能需要實現(xiàn)風(fēng)況信息、船舶信息、計算處理后的受力信息、時間統(tǒng)計等一系列功能的同步有效。需要將獲取的風(fēng)況信息經(jīng)過計算、統(tǒng)計處理后及時分別顯示到前端頁面和保存到歷史數(shù)據(jù)庫中,同時實時更新虛擬仿真模型的位姿信息。

3.2 前端頁面

前端頁面主要負責(zé)展示獲取的未來一段時間的風(fēng)況信息、船舶信息、船舶受力信息、虛擬仿真模擬、統(tǒng)計后的風(fēng)向頻率玫瑰圖和決策建議。如圖2。

3.3 后臺處理

后臺處理的主要功能是計算,用算法將某時刻的風(fēng)的方向以上北下南的準則以三角形的形狀轉(zhuǎn)換到前端頁面,依靠經(jīng)驗公式用風(fēng)的信息和船舶信息計算作為參數(shù)將船舶受力信息計算出來,然后統(tǒng)計過去一段時間風(fēng)況信息,為畫風(fēng)向頻率玫瑰圖提供數(shù)據(jù)。部分船舶風(fēng)載荷計算代碼如圖3。

4 ?系統(tǒng)實現(xiàn)

建立原始參數(shù)數(shù)據(jù)庫,用來接收氣象臺預(yù)測的未來一段時間的風(fēng)況信息,包括風(fēng)的級數(shù)大小、風(fēng)的種類、風(fēng)的方向等信息,采用經(jīng)驗公式估算方法對船舶進行受力計算,計算得出船舶在某時刻點縱向風(fēng)力、橫向風(fēng)力、回轉(zhuǎn)力矩和橫搖力矩的數(shù)值,繼而估算船舶受風(fēng)影響后的位姿變化預(yù)測。

建立中間數(shù)據(jù)庫,用來存入計算后的信息數(shù)據(jù)。

數(shù)據(jù)可視化模塊從后端數(shù)據(jù)庫中提取數(shù)據(jù)導(dǎo)入到前端頁面,以折線方式顯現(xiàn)一段時間內(nèi)某時間點的風(fēng)力大小、方向和船舶受力數(shù)據(jù),再將過去的歷史時間內(nèi)的風(fēng)況信息統(tǒng)計規(guī)整,采集整點的風(fēng)況信息,畫出風(fēng)玫瑰圖,可查看過去以月為單位時間的風(fēng)況規(guī)律。通過Ajax技術(shù)實現(xiàn)用戶界面和服務(wù)器后端交互功能,用戶通過web瀏覽器來與服務(wù)器進行交互,獲取自己所需要的信息。

決策建議模塊根據(jù)計算出來的船舶力矩等信息來預(yù)測船舶將會以什么樣的姿態(tài)變化,如若遭遇突發(fā)強風(fēng),給出適當(dāng)建議以減少人力物力等損失。

本系統(tǒng)采用MySQL數(shù)據(jù)庫,MySQL是最為著名且應(yīng)用最為廣泛的關(guān)系型數(shù)據(jù)庫,其體積小、速度快、通過配合不同的存儲引擎,可以滿足不同的業(yè)務(wù)場景。數(shù)據(jù)庫是整個系統(tǒng)的關(guān)鍵,數(shù)據(jù)庫設(shè)計的好壞起著決定性的作用,系統(tǒng)數(shù)據(jù)庫設(shè)計要遵循以下原則:

①體現(xiàn)系統(tǒng)的需求,數(shù)據(jù)庫設(shè)計應(yīng)該優(yōu)先滿足系統(tǒng)的業(yè)務(wù)需求,準確表達數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。

②保證數(shù)據(jù)的一致性,通過主鍵、外鍵、非空、唯一索引等保證數(shù)據(jù)的健全。

③提高數(shù)據(jù)查詢效率,通過合理創(chuàng)建表結(jié)構(gòu)、視圖、增加索引等方式,提高數(shù)據(jù)的查詢效率。

④良好的擴展性,必要時能根據(jù)需求變化擴展數(shù)據(jù)結(jié)構(gòu)。

5 ?結(jié)束語

本文提出了基于Django的船舶風(fēng)載荷受力分析及運動姿態(tài)預(yù)測系統(tǒng)的設(shè)計與實現(xiàn),使工作人員觀察港口船舶的實時動態(tài)更加方便,同時也發(fā)布了未來一段時間內(nèi)大風(fēng)船舶姿態(tài)預(yù)測,為預(yù)防突發(fā)大風(fēng)災(zāi)難提供了幫助。

參考文獻:

[1]陳紅茜,孟超英,邱小彬,王笑娟,李輝.基于Django的高校合同制人員管理系統(tǒng)[J].華東師范大學(xué)學(xué)報(自然科學(xué)版),2015(S1):464-470.

[2]陳鐳,張凡龍.基于Django的高校人才引進系統(tǒng)設(shè)計與實現(xiàn)[J].計算機時代,2019(07):40-42.

[3]牛寧.基于Django的智慧園區(qū)平臺系統(tǒng)設(shè)計與實現(xiàn)[D].電子科技大學(xué),2018.

[4]周君,賈昆霖,藍機滿,宋艷.基于Django框架的智能圖書推薦系統(tǒng)[J].電子科技,2018,31(12):78-80,85.

[5]我看《PHP與MySQL Web開發(fā)指南》[J].三版.電腦編程技巧與維護,2005(08):94.

猜你喜歡
預(yù)測
選修2—2期中考試預(yù)測卷(B卷)
選修2—2期中考試預(yù)測卷(A卷)
選修2—2期中考試預(yù)測卷(A卷)答案與提示
選修2—2期中考試預(yù)測卷(B卷)答案與提示
《福彩3D中獎公式》:提前一月預(yù)測號碼的驚人技巧!
預(yù)測高考
连城县| 托克逊县| 民乐县| 鸡东县| 侯马市| 德昌县| 濮阳县| 凤城市| 茂名市| 湖州市| 师宗县| 基隆市| 饶阳县| 绍兴市| 东阳市| 克东县| 蓬莱市| 安乡县| 韶关市| 宜宾县| 桐柏县| 海阳市| 梁山县| 曲沃县| 民丰县| 万山特区| 南宁市| 五大连池市| 乐清市| 策勒县| 龙海市| 澳门| 蒙城县| 柏乡县| 祁阳县| 云和县| 林周县| 轮台县| 祥云县| 曲松县| 株洲市|