python 如何将两个文件中的坐标比较,选出差值最小的那个,并输出,误差值和相应坐标点
读取测量点与检查点坐标文件计算每个检查点到每个测量点的平面坐标距离计算出每个检查点到测量点的最短距离,确定检查点和测量点计算两个点的三维坐标差值将两个点输入到表格中计算某...
读取测量点与检查点坐标文件
计算每个检查点到每个测量点的平面坐标距离
计算出每个检查点到测量点的最短距离,
确定检查点和测量点
计算两个点的三维坐标差值
将两个点输入到表格中
计算某个误差区间,点对的个数
统计误差区间点的个数
计算所占比例
输出到电子表格中
import os
import math
import xlwt
import traceback
import math
l1 = []
l2 = []
f1 = open('F:/库车县比西巴格乡/其乃巴格测点/0104.dat', 'r+' , encoding='utf-8') # 读取文件
jiancha =f1.read().splitlines() # 去除空格
f1.closed
f2 = open("F:/库车县比西巴格乡/其乃巴格测点/0105.dat" , 'r+' ,encoding="utf-8")
celiang = f2.read().splitlines()
f2.closed
print(jiancha)
print(celiang)
"""
f1_x = xlwt.Workbook()
sheet1 = f1_x.add_sheet(u'sheet1',cell_overwrite_ok=True)
for i in range(0,len(jiancha)):
sheet1.write(0,i,i)
f1_x.save("jiancha.xls")
"""
for line in jiancha:
l=list(line.strip(',').split(',')) # 转换数据类型
x1 = float(l[2]) # 读取列表中的x坐标,并转换成浮点型
y1 = float(l[3]) # 读取列表中的y坐标,并转换成浮点型
for row in celiang:
r = list(row.strip(',').split(',')) # 转换数据类型
x2 = float(r[2]) # 读取列表中的x坐标,并转换成浮点型
y2 = float(r[3]) # 读取列表中的y坐标,并转换成浮点型
res = math.sqrt((x1-x2)**2 + (y1-y2)**2)
# print('{},{},{},{},{}'.format(x1,y1,x2,y2,res))
l=l1.append(res)
print(l)
# r=l2.append(l)
print(len(l1)) 展开
计算每个检查点到每个测量点的平面坐标距离
计算出每个检查点到测量点的最短距离,
确定检查点和测量点
计算两个点的三维坐标差值
将两个点输入到表格中
计算某个误差区间,点对的个数
统计误差区间点的个数
计算所占比例
输出到电子表格中
import os
import math
import xlwt
import traceback
import math
l1 = []
l2 = []
f1 = open('F:/库车县比西巴格乡/其乃巴格测点/0104.dat', 'r+' , encoding='utf-8') # 读取文件
jiancha =f1.read().splitlines() # 去除空格
f1.closed
f2 = open("F:/库车县比西巴格乡/其乃巴格测点/0105.dat" , 'r+' ,encoding="utf-8")
celiang = f2.read().splitlines()
f2.closed
print(jiancha)
print(celiang)
"""
f1_x = xlwt.Workbook()
sheet1 = f1_x.add_sheet(u'sheet1',cell_overwrite_ok=True)
for i in range(0,len(jiancha)):
sheet1.write(0,i,i)
f1_x.save("jiancha.xls")
"""
for line in jiancha:
l=list(line.strip(',').split(',')) # 转换数据类型
x1 = float(l[2]) # 读取列表中的x坐标,并转换成浮点型
y1 = float(l[3]) # 读取列表中的y坐标,并转换成浮点型
for row in celiang:
r = list(row.strip(',').split(',')) # 转换数据类型
x2 = float(r[2]) # 读取列表中的x坐标,并转换成浮点型
y2 = float(r[3]) # 读取列表中的y坐标,并转换成浮点型
res = math.sqrt((x1-x2)**2 + (y1-y2)**2)
# print('{},{},{},{},{}'.format(x1,y1,x2,y2,res))
l=l1.append(res)
print(l)
# r=l2.append(l)
print(len(l1)) 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询