999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python 編程語言在“工程測量實習”課程數據處理中的應用*

2023-07-25 05:18:20陳學永王澤誠楊水泉李冬濤
科技與創新 2023年11期
關鍵詞:數據處理程序測量

張 波,陳學永,王澤誠,楊水泉,李冬濤

(廣州華立學院,廣東 廣州 529100)

1 研究背景

在“工程測量實習”課程的教學過程中,數據處理是課程重點內容之一。工程測量實習完成以后,學生需要花費大量的時間進行測量數據的處理,教師在收到學生提交的測量實習報告后,也需要花費大量時間校核學生的測量數據的可靠性。

Python 語言是一個語法簡潔、可跨平臺、可擴展的開源通用腳本語言,Python 語言在數據分析、工程計算等方面優勢突出[1-4]。

在“工程測量實習”課程中,一般會進行水準測量、角度測量、導線測量等實習內容,為了提高工程測量實習的效率,本文利用Python 編程語言開發了一套工程測量數據處理系統,通過使用該軟件系統處理數據,極大地提高了“工程測量實習”課程測量數據的處理速度,提高了學生的學習效率,減輕了教師核查學生測量實習數據的工作量[5-6]。

2 數據處理軟件主界面及數據輸入流程設計

為了方便用戶使用軟件,需編寫可視化界面,本文采用Python 程序的tkinter 庫編寫可視化界面[7],框架結構如圖1 所示。

圖1 “工程測量實習”數據處理程序主界面菜單

對于高程測量,程序需要從原始數據文件中提取相關信息,獲取各站的高差、視距差、累計視距差和累計高差信息,形成高差文件。同時程序必需核查數據是否符合要求,如果數據符合要求,程序按設定格式生成包含控制點高差、水準路線長度等信息的表格文件,為下一步高程控制網平差做準備。

核查數據程序代碼如下所示:

df1=df1[df1.apply(lambda x:x.str.contains("|".join(key word)),axis=1)]#遍歷所有列搜索

df1=df1.dropna(how="all").dropna(axis=1,how="all")#清空全行或全列為NAN 的元素

df=df[df1.keys()]#選中所在列

df=df[df.index>df1.index[(df1.shape[0]-1)]].dropna(thresh=2)#篩選,并清空無關數據

df=df[df.applymap(lambdax:type(x)!=str)].dropna(how="all")

if df.shape[0]%2==1 and df.shape[0]>0:df=df[:-1]

dict_names=dict(zip(df.keys(),keyword))

df=df.rename(columns=dict_names)#重命名#搜索結束

if df.empty==True:#為空

state=-1

return(state,"")

n=int(df.shape[0]/2)

high=df['后視']-df['前視']#高差

high_half=high/2.0#高差中數

h_add=high_half.sum()#高差中數和

h_add=round(h_add,limit)#保留5 位小數

h_permit=round(idea(n),limit)

if abs(h_add*1000)<h_permit:

state=1

return (state,"高差中數:"+str(h_add)+"m,"+"容許值:"+str(h_permit)+"mm")

except(Exception)as e:

state=-2

return(state,"出錯信息:"+str(e))對于角度測量,由于數據較多且比較煩瑣,考慮采用先在Excel 軟件中輸入數據,再以文件的形式導入程序中進行數據處理[8],程序代碼如下所示:self.root.title("「工程測量數據處理工具」")

self.root.geometry(str(w)+"x"+str(h))

self.frame=tk.Frame(master=self.root)

self.frame_1=tk.Frame(master=self.frame)

self.data_label = tk.Label(master=self.frame_1,text="待處理文件")

self.btn_choose=tk.Button(self.frame_1,text="選擇文件(可多選)",command=self.choose_file)

self.btn_data_clear=tk.Button(self.frame_1,text="清空",command=self.data_Text_clear)

self.data_Text = tk.Text(master=self.frame_1)#文件輸入框

利用Python 程序編程也可以準確地校核測量數據是否準確有效,程序代碼如下所示:

def permit_error(df):#最大允許誤差

state=0#判斷情況

limit=5#精度,保留5 位小數

keyword=["后視","前視"]#關鍵詞

idea=lambda n:pow(n,0.5)*10#最大允許誤差計算公式

3 水準測量實習數據分析及相應代碼

水準測量實習一般以閉合水準測量實習為主,本文以閉合水準測量數據處理展開討論。水準測量是利用一條水平視線,并借助水準尺,來確定地面兩點之間的高差,然后由已知點的高程推算出未知點位高程的測量方法。

閉合水準測量是由一已知水準點出發,沿環線待測高程點1、2、3、4 進行水準測量,最后回到原水準點的測量方法,其線路上各點之間高差的代數和理論值應等于零。由于誤差的存在,實際測量值代數和只是接近于零,但不能超出設定的誤差范圍,否則測量數據就不符合要求,須進行重測,由此編寫的Python程序核心代碼如下:

def check_data(df,limit=(0,0)):

df,read,num=HoriAngle.read_data(df)

judge=HoriAngle.check_is_ok(read,num)

if not judge or not num:'''獲取到數據'''

return(-1,"獲取不到測回數")if not limit:

'''無誤差判斷條件'''

return(-1,'無誤差判斷條件')try:

num=int(num)

half=HoriAngle.calcu_half(read)

one=HoriAngle.calcu_one(half)

permit1=HoriAngle.calcu_perimit(half,int(limit[0]))

if num==1:

'''測回數為1 時'''

if len(permit1)>0:

'''數據不合理'''

return (0,"第"+",".join(permit1)+"行的數據誤差過大")#誤差過大

else:

'''數據合理'''

return(1,"半測回角值之差均<="+str(limit[0])+"″")

else:

'''測回數大于1 時'''

#aver=HoriAngle.calcu_aver(one,num)

permit2=HoriAngle.calcu_perimit(on e,int(limit[1]))

if len(permit1)>0 or len(permit2):

'''數據不合理'''

info=permit1|permit2

return(0,"第"+",".join(info)+"行的數據誤差過大")#誤差過大

else:

return (1," 半測回角值之差均<="+str(limit[0])+" ″ ,"+" 各 測 回 角 值 均<="+str(limit[1])+"″")#數據合理

return(-2,"未知")except(Exception)as e:

print(e)

return(-2,e)

4 角度測量實習數據分析及相應代碼

角度測量是“工程測量實習”課程的基本內容,是確定地面點位的基本測量工作之一。角度測量分為水平角測量和豎直角測量,“工程測量實習”課程一般會要求學生用測回法測量水平角,本文以測回法測量水平角數據處理展開討論。

測回法要求在測點A安置儀器,在盤左位置用照準部瞄準目標B,讀取水平盤度數,再松開水平制動螺旋,順時針方向轉動照準部,瞄準目標C,讀取水平盤度數,以上稱為上半測回。

再縱轉望遠鏡成盤右位置,瞄準目標C,讀取水平盤度數,松開水平制動螺旋,逆時針方向轉動照準部,瞄準目標B,讀取水平盤度數,以上稱為下半測回,即完成水平角測回法測量工作。

由此編寫的Python 程序代碼如下:

def calcu_half(ser):

'''計算半測回角值'''

sec=HoriAngle.to_second(ser)

ser1,ser2=HoriAngle.split_l_r(sec,2)

result=ser2-ser1

result=HoriAngle.to_recover(result)

return result def calcu_one(ser):

'''計算一測回角值'''

sec=HoriAngle.to_second(ser)

ser1,ser2=HoriAngle.split_l_r(sec,2)

result=ser1+(ser2-ser1)/2

result=result.round(0)

result=result.astype(int)

result=HoriAngle.to_recover(result)

return result

def calcu_aver(ser,n):

'''計算各測(平均)回角值'''

n=int(n)

if n==1:#如果n==1 直接返回

return ser

sec=HoriAngle.to_second(ser)

ser1,ser2=HoriAngle.split_l_r(sec,2)sec=(ser1+ser2)/n

result=sec.astype(int)

result=HoriAngle.to_recover(result)

return result def calcu_perimit(ser,limit):

'''計算是否超過允許值,返回判斷結果'''

info=set()

sec=HoriAngle.to_second(ser)

ser1,ser2=HoriAngle.split_l_r(sec,2)

sec=ser2-ser1

sec=sec.abs()

#print(sec)

result=sec[sec.apply(lambda x:x>limit)]

#print(result)

lst_idx=result.index.to_list()

if not sec.empty and result.empty:

lst=result.to_list()

for i in lst_idx:

info.add(str(i))return info

5 結束語

使用Python 編程語言編寫的工程測量數據軟件,能夠極大地提高工程測量數據處理速度,減輕教師和學生在“工程測量實習”課程中的數據計算負擔。在廣州華立學院的“工程測量實習”課程教學中證明,該軟件不但能夠幫助教師提升教學效果,也能幫助更多學生提升學習效率和學習成績。

猜你喜歡
數據處理程序測量
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
把握四個“三” 測量變簡單
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
測量
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
主站蜘蛛池模板: h网址在线观看| 精品无码国产一区二区三区AV| 香蕉eeww99国产精选播放| 永久在线精品免费视频观看| 亚洲人人视频| 巨熟乳波霸若妻中文观看免费| 国内a级毛片| 国产性爱网站| 国产精品天干天干在线观看| 欧美日韩精品一区二区在线线| 国产自产视频一区二区三区| 国产成人高清在线精品| 国产成本人片免费a∨短片| 麻豆AV网站免费进入| 伊人蕉久影院| 9久久伊人精品综合| 中国美女**毛片录像在线| 欧美日韩一区二区在线播放| 亚洲热线99精品视频| 亚洲成a人片7777| 四虎永久免费在线| 手机精品视频在线观看免费| 国产色婷婷视频在线观看| 亚洲系列无码专区偷窥无码| 97视频在线观看免费视频| 国产精品短篇二区| 国产精品护士| 最新无码专区超级碰碰碰| 国产中文一区a级毛片视频 | 波多野结衣的av一区二区三区| 日韩精品无码免费一区二区三区 | 国产日韩精品欧美一区灰| 伊伊人成亚洲综合人网7777| 激情综合五月网| 啪啪国产视频| 亚洲成人77777| 国产精品天干天干在线观看 | 亚洲欧美自拍视频| 国产浮力第一页永久地址| 国产成人久久综合777777麻豆 | 国产午夜无码片在线观看网站| 国产三级成人| 久久综合色天堂av| 精品国产成人a在线观看| 青青青草国产| 三级欧美在线| 亚洲国产精品不卡在线| 精品久久国产综合精麻豆| 亚洲h视频在线| 美女裸体18禁网站| 国产无码性爱一区二区三区| 激情六月丁香婷婷| 天堂中文在线资源| 手机在线看片不卡中文字幕| 国产视频只有无码精品| 中文字幕乱码中文乱码51精品| 久久99国产乱子伦精品免| 成人日韩视频| 国产午夜人做人免费视频中文 | 国内99精品激情视频精品| 在线日韩日本国产亚洲| 18黑白丝水手服自慰喷水网站| 亚洲av中文无码乱人伦在线r| 国产成人精品2021欧美日韩| 免费黄色国产视频| 亚洲综合国产一区二区三区| 99视频国产精品| 成人在线综合| 午夜少妇精品视频小电影| 日韩免费毛片视频| 狠狠色狠狠色综合久久第一次| 亚洲午夜18| 亚洲黄色网站视频| 国产精品一区二区国产主播| 精品免费在线视频| h视频在线观看网站| 国产www网站| 高清免费毛片| 一本一道波多野结衣av黑人在线| 国产清纯在线一区二区WWW| 天堂网亚洲系列亚洲系列| 国产成人免费手机在线观看视频|