基于Excel VBA实现工程测量坐标计算
1、 启动Excel办公软件
2、 插入模块
3、 粘贴代码如下
4、 线路名称不能为空,请填写有效信息。
5、 将当前工作簿中平曲线工作表从A1到第I列末尾有数据的区域读取为变量pqxb,其中数据范围的行数通过从最后一行向上查找第一个非空单元格来确定。
6、 将当前工作簿中竖曲线工作表的A1到G列最后一行有数据的区域赋值给变量sqxb,即获取该工作表从第一行开始至G列最后一个非空单元格所构成的矩形数据范围。
7、 未查询到名称为的路线信息。
8、 该if语句主要用于反算里程,若仅需正算功能,则无需此判断。
9、 确定终点里程数
10、 线元起点里程等于pqxb中第i2行第2列的值
11、 线元起点X坐标为pqxb函数返回的第三列值。
12、 线元起点Y坐标为pqxb函数第i2行第4列的值
13、 线元起点的方位角(弧度制)等于将pqxb数组中对应元素转换为双精度数后再转为弧度值。
14、 线元长度由函数pqxb在i2行第6列的值确定。
15、 起始半径等于pqxb在i2行第7列的值
16、 终点处的半径值为 pqxb 函数在 i2 和 8 处的计算结果。
17、 从负一到正一的直线方程为零,等于pqxb乘以i2和9。
18、 根据线元起点里程、坐标、方位角及长度等参数,结合起终点半径、方向标识(左负右正)、曲线系数与偏移量,调用函数xyzs计算指定位置的坐标与方位信息。
19、 计算范围为:lx_name 的区间。
20、 线元法计算原理
21、 输入参数包括:起点里程、坐标x与y、起点方位角(弧度)、线元长度、起点及终点半径、偏转方向(左为-1,右为1,直段为0),以及待计算点的里程、横向偏移量和右侧夹角(十进制)。
22、 定义函数xyzs,参数包括线元起始里程、起点X坐标、Y坐标、弧度制方位角及线元长度等要素,用于计算相关空间位置信息。
23、 起点半径、终点半径、左负右正直线为零,jsk,右角十进制表示,jsb,均作为变体型变量处理。
24、 若起始半径等于零,则执行后续操作。
25、 起始半径值为九点九九九乘以十的正一百零二次方。
26、 若终点半径为零,则执行后续操作。
27、 终点处的半径数值为9.999乘以10的102次方。
28、 f0为线元起点的弧度方位角
29、 q 为从负一到一的直线函数
30、 c等于起点半径的倒数
31、 线元长度与起止半径差值的一半,除以起点和终点半径的乘积。
32、 W等于jsk减去线元起点的里程数
33、 将线元起点X与W乘以xs的值相加,再加上jsb与角度转换后余弦值的乘积,其中右角为十进制并换算成弧度,最终结果保留三位小数格式化输出。
34、 将线元起点Y坐标加上W乘以ys,再加上jsb与右角十进制值转换为弧度后正弦值的积,最终结果保留三位小数进行格式化输出。
35、 点击存档
36、 文件格式选用.xlam扩展名
37、 关闭Excel程序
38、 打开Excel设置选项
39、 启用开发者选项
40、 选择之前保存的路径
41、 在任意单元格输入zs即可调用此自定义函数。
42、 至此终止
