最近做全站仪项目,涉及到了一些道路桥梁设计方面的知识点。所以写博文留着记录。
目前客户方提供数据为xls数据,如下所示:
上表中记录的为一段交通道路设计中曲线的交点坐标系和里程数据。
如上图所示,在xls表格中记录了QD坐标和默认里程为0,ZD坐标值和里程值。直缓点的里程,还原点的里程,缓直点的里程在xls中均能相加减计算得到,无具体坐标系。
里程为实际黑色线的长度。
需要根据以上数据,计算ZH,HY,YH,HZ点的坐标系。
因为上面是空间平面坐标,且不一定就和N(Y),E(X)坐标系平行垂直,所以必须引用向量概念,确定线的走向,先从QD和JD1计算ZH点的平面坐标系。
每次计算,都是以前一个坐标作为参考,计算△X,△Y再来求出坐标系。
在根据下方公式(我国规定交通道路必须添加缓和曲线),收集好久,唯一能用得上的,计算第一个HY点的控件坐标。
HY点的坐标系计算,实现代码如下:
其中有一部分是常量,根据上述公式计算。精确度越高,就要扩大平方数。
因为缓和曲线的特殊性,ZH点/JD点/HZ点构建为一个等腰三角形,根据JD1交点坐标系和JD2坐标系构建的直线和已知JD1到HZ点的距离,计算HZ点的空间坐标系。
计算实现HZ点的坐标系代码,如下:
另外一边的的缓和曲线和之前的计算一致,但是需要考虑的是JD2到交点2的向量问题,不然可以两边生成。