用来处理水准网的间接平差
主要使用C++编写
QT用来处理GUI和交互
Eigen3用来矩阵计算
nlohmann-json用来处理json
本程序采用读写文件的方式进行数据交互。通过使用JSON格式的文件作为数据源,避免了通过控制台手工输入数据的低效,同时JSON格式文件的清晰结构的特点,便于程序和人工的修改和读写。
使用JSON格式的优点:①JSON格式是使用JavaScript语言的{}花括号和[]中括号按嵌套的格式将数据组装起来,具有层次结构,在使用时不会混乱。②JSON只是一种数据格式,它与其它任何编程语言都没有关系,可在所有的编程语言中使用,通用性强。③JSON数据是以文本格式存在的,在传输过程中,是以字符串存在的,因此,比较轻量和简洁。
约定通过以上格式传递数据。需要的数据有:已知高程点数目,未知高程点数目,观测边数目,提供观测所设计的所用站点的编号和名称,已知点的高程信息,以及观测边数据信息,观测边信息包括观测边起始点和终止点的编号和名称,观测得到的高程差,以及观测边的长度。
约定的JSON结构如下所示:
{
"已知点数": 3,
"未知点数": 1,
"观测数": 3,
"点库": [
{
"id": 1,
"name": "A"
},
{
"id": 2,
"name": "B"
},
{
"id": 3,
"name": "C"
},
{
"id": 4,
"name": "D"
}
],
"已知点数据": [
{
"id": 1,
"高程": 124.678
},
{
"id": 2,
"高程": 129.800
},
{
"id": 3,
"高程": 129.538
}
],
"观测数据": [
{
"from": 1,
"to": 4,
"from_name": "A",
"to_name": "D",
"观测高程差": 4.114,
"距离": 2
},
{
"from": 4,
"to": 3,
"from_name": "D",
"to_name": "C",
"观测高程差": 0.758,
"距离": 4.0
},
{
"from": 4,
"to": 2,
"from_name": "D",
"to_name": "B",
"观测高程差": 1.030,
"距离": 1
}
]
}