Python程式设计:将经纬仪RAW档转换成MAC档
最近迷上写python的过程
喜欢可以将自己想法具现化
并且一步步透过网路查找
东拼西凑
将网路上所有有关的凑成一个可以解决自己问题的程式
很常一写就两三个小时过去
最近写了一个可以将经纬仪的测量raw档资料转成重测系统可以读取的mac档
import re
import math
import os
li = []
trans_par = []
curren_dir = os.getcwd()
fname = input("请输入raw档名称:")
foleder_name = os.path.join(curren_dir, fname + '.RAW')
output_name = fname + '.mac'
print(output_name)
with open (foleder_name, 'rb') as files :
for file in files :
file1 = file.decode().strip().split(',')
li.append(file1)
for line in li :
if line[0] =='ST' :
trans_par.append(f'{line[1], line[3]}')
elif line[0] =='SS' :
org =line[5]
part = str(org).split('.')
degpart = part[0]
frpart = part[1]
if len(part) == 0 : #如果0.4444 的
frpart = '0000'
elif len(part) < 4 :
frpart = frpart.ljust(4, '0')
minut_deg = frpart[0:2]
sec_deg = frpart[2:4]
degpart = int(degpart)
minut_deg = int(minut_deg)
sec_deg = int(sec_deg)
final_deg = degpart + (minut_deg / 60) + (sec_deg / 3600)
radian = math.radians(final_deg)
sin_value = math.sin(radian)
dis = float(line[3])*sin_value
trans_par.append(f'{line[1], line[4], round(dis, 3)}')
for item in trans_par :
print(item)
with open (output_name , 'w') as file_final :
file_final.write('\n')
file_final.write('LS' + "\n")
for item in trans_par :
item = str(item).replace('(', '').replace(",", ' ').replace("'", '').replace(')', '')
file_final.writelines(item + '\n')
因为是自学,有些时候程式码不是很精简
这感觉是我出社会后对于学习新东西有很大的热忱