资源简介
AUST-空测-17朱叨叨同学的水准网平差程序(间接平差原理,全部是自己编的算法,没有参考任何程序,如有雷同,纯属巧合!)包含自己写的矩阵运算部分:矩阵求逆、矩阵乘法、矩阵装置、矩阵数乘、矩阵加减模块;水准网数据处理部分:水准网数据的读入、水准网数据的写出、系数矩阵B生成模块、常数矩阵l生成模块等(这两个是关键,其他不再细数),当然也有近似值矩阵的生成,但由于换了个更好的间接平差方法,近似值矩阵用不上了;还有自己写的水准网独立环搜索和环闭合差检核的函数模块。欢迎各位同行下载,运行有问题可以在CSDN上私聊我,由于是编程菜鸟,程序书写和标注可能不是很规范,算法很多地方也不够精简,所以欢迎批评指正的意见!
代码片段和文件信息
# -*- coding:gb2312 -*-
‘‘‘
此函数用于获取所在父层所有结点的对应子层中的结点并将hope信息更新到搜寻
到的子层中的结点的hope信息需要制定的参数是父层的hope信息和测段信息nums
‘‘‘
def adjacentp(hope nums):
#在生成子层时,确定父层的点数
pi_num = len(hope[‘p_papa‘])
#以下列表需要初始如果不初始声明而直接赋值则在python看来它就是赋值所赋值的一个外号对变量的改动将会引起所赋值的相同改动
grandpa = [] #初始化存储新祖父层的列表
#为了找到所有子层的点每个父层的点都要搜索
for i in range(0pi_num):
#每个父层的点在所有测段中找对应的子层的点
for j in range(0len(nums)):
temp = []
#将取i值时对应的“所走过的路“赋给temp
for k in range(0len(hope[‘road‘][i])):
temp.append(hope[‘road‘][i][k])
#所找到的测段前视不是祖父层的点(防止原路返回)且后视是对应父层的点则测段前视点为子层中的一个点
if (nums[j][‘front‘] not in hope[‘p_grandpa‘]) and (nums[j][‘back‘] == hope[‘p_papa‘][i]):
#更新hope的相关信息
hope[‘p_papa‘].append(nums[j][‘front‘])
hope[‘aldiff_s‘].append(hope[‘aldiff_s‘][i] + nums[j][‘aldiff‘])
hope[‘distance_s‘].append(hope[‘distance_s‘][i] + nums[j][‘distance‘])
temp.append(nums[j][‘front‘])
hope[‘road‘].append(temp)
#所找到的测段后视不是祖父层的点(防止原路返回)且前视是对应父层的点则测段后视点为子层中的一个点
elif (nums[j][‘back‘] not in hope[‘p_grandpa‘]) and (nums[j][‘front‘] == hope[‘p_papa‘][i]):
#更新hope的相关信息
hope[‘p_papa‘].append(nums[j][‘back‘])
hope[‘aldiff_s‘].append(hope[‘aldiff_s‘][i] - nums[j][‘aldiff‘])
hope[‘distance_s‘].append(hope[‘distance_s‘][i] + nums[j][‘distance‘])
temp.append(nums[j][‘back‘])
hope[‘road‘].append(temp)
#搜索完成删去父层的信息并更新祖父层的信息
for i in range(0pi_num):
grandpa.append(hope[‘p_papa‘][0])
del(hope[‘p_papa‘][0])
del(hope[‘aldiff_s‘][0])
del(hope[‘distance_s‘][0])
del(hope[‘road‘][0])
hope[‘p_grandpa‘] = grandpa
return hope
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1987 2020-05-16 16:25 水准网平差程序-含闭合差检核\adjacent_p.py
文件 1283 2020-05-09 18:06 水准网平差程序-含闭合差检核\B_level.py
文件 798 2020-05-09 12:29 水准网平差程序-含闭合差检核\d_level.py
文件 2692 2020-05-16 22:36 水准网平差程序-含闭合差检核\error_check.py
文件 688 2020-05-09 17:48 水准网平差程序-含闭合差检核\level2_test.py
文件 2472 2020-05-09 19:06 水准网平差程序-含闭合差检核\level_adj1.py
文件 2611 2020-05-16 22:33 水准网平差程序-含闭合差检核\level_adj2.py
文件 262 2020-05-02 09:30 水准网平差程序-含闭合差检核\L_level.py
文件 366 2020-04-26 09:00 水准网平差程序-含闭合差检核\matrix_0.py
文件 908 2020-05-04 22:13 水准网平差程序-含闭合差检核\matrix_add.py
文件 2950 2020-05-02 14:55 水准网平差程序-含闭合差检核\matrix_inv.py
文件 850 2020-05-02 14:39 水准网平差程序-含闭合差检核\matrix_m.py
文件 435 2020-05-02 10:34 水准网平差程序-含闭合差检核\matrix_sm.py
文件 388 2020-04-26 09:05 水准网平差程序-含闭合差检核\matrix_t.py
文件 763 2020-05-09 17:49 水准网平差程序-含闭合差检核\point_level.py
文件 371 2020-05-02 16:54 水准网平差程序-含闭合差检核\P_level.py
文件 2217 2020-05-16 22:41 水准网平差程序-含闭合差检核\read me first——程序说明文档.txt
文件 2738 2020-05-09 10:25 水准网平差程序-含闭合差检核\read_level.py
文件 3580 2020-05-09 21:24 水准网平差程序-含闭合差检核\write_level.py
文件 2075 2020-05-04 22:20 水准网平差程序-含闭合差检核\x_0.py
文件 1235 2020-05-16 22:25 水准网平差程序-含闭合差检核\__pycache__\adjacent_p.cpython-37.pyc
文件 939 2020-05-09 18:08 水准网平差程序-含闭合差检核\__pycache__\B_level.cpython-37.pyc
文件 811 2020-05-09 12:29 水准网平差程序-含闭合差检核\__pycache__\d_level.cpython-37.pyc
文件 1579 2020-05-16 22:31 水准网平差程序-含闭合差检核\__pycache__\error_check.cpython-37.pyc
文件 630 2020-05-09 18:45 水准网平差程序-含闭合差检核\__pycache__\level2_test.cpython-37.pyc
文件 1729 2020-05-09 19:13 水准网平差程序-含闭合差检核\__pycache__\level_adj1.cpython-37.pyc
文件 1914 2020-05-16 22:33 水准网平差程序-含闭合差检核\__pycache__\level_adj2.cpython-37.pyc
文件 517 2020-05-04 21:31 水准网平差程序-含闭合差检核\__pycache__\L_level.cpython-37.pyc
文件 561 2020-05-04 21:32 水准网平差程序-含闭合差检核\__pycache__\matrix_0.cpython-37.pyc
文件 817 2020-05-04 22:13 水准网平差程序-含闭合差检核\__pycache__\matrix_add.cpython-37.pyc
............此处省略20个文件信息
评论
共有 条评论