                                                                                    高速公路坐标高程计算程序特点
    一个好的程序，程序的正确性、健壮性、可靠性、效率、易用性、可读性（可理解性）、可扩展性、可复用性、兼容性、可移植性是软件所应具备的基本特征。《高速公路坐标高程计算程序》是卡西欧4800、4850、5800计算程序的有效补充和增强，与同类软件相比，他具有以下特点：
1、算法优化。坐标高程计算由于很多人都参考教材上的算法，一般采用切线支距法来计算坐标，一般是从大半径向小半径方向推算坐标，起算点一般为ZH或HZ点，铁路放样很简单，一般没有问题，对于高速公路有不完全缓和曲线，计算起来就很不方便了，ZH或HZ点不存在，需要判断曲线是否是完全缓和曲线，这种算法我在2003年的时候已经抛弃了。《高速公路坐标高程计算程序》采用的是从小半径向大半径方向推算坐标的方法，选取一个特殊点即HY点作为起算点，来推算整条缓和曲线的办法，把【缓1+圆+缓2】作为一个整体进行计算，由于HY点的相对固定性，不用判断缓和曲线是否是完全的，直接输入HY点的坐标方位角及回旋参数，圆曲线长就能计算整条缓和曲线，这种算法是软件首创的。而采用这种算法的卡西欧4800、4850、5800计算器，能够很大限度地减少程序参数输入，节约计算器空间。
2、模块化设计。把线形分为直线、圆曲线、缓1+圆+缓2、布劳斯曲线几种基本线形，说到缓和曲线，种类挺多的，有200多种，高速公路常用的是回旋线，汽车试验场高速环道常用的是麦克康纳尔曲线和布劳斯曲线，由于国外的技术封锁，这两种曲线的坐标高程计算软件上实现均为商业软件，价格较为昂贵。布劳斯曲线也可以和圆曲线作为一个整体，考虑到卡西欧可编程4800、4850、5800计算器性能，高次方计算时间较长，把布劳斯曲线起算点设定在ZH点。模块化设计让程序可读性强，算法容易理解，加入其它线形也方便，可扩展性很强。在卡西欧可编程计算器上实现也很简单，既可以采用泰勒展开式的公式，也可以直接利用卡西欧4800、4850、5800计算器中集成的积分函数功能来推导，这些都与软件功能相对应，便于复核。如果把不同线形生搬硬套地糅合在一起，直线半径要通过输入0或者高次方，这些未免有些牵强。对于直线和圆曲线，起算点应该可以选定其上的任意一点。1.6版可以直接生成卡西欧5800坐标高程计算主程序。
3、程序开发平台选定。选用Excel+VBA输入界面不统一，不直观，对于VBA这种傍大款的开发我很不喜欢。.net平台运行库太大，一个2兆左右的计算程序，运行库100多兆肯定是得不偿失的。选用Delphi或者VC对于非计算机专业的有难度，一个体积不大的小型计算程序，选择VB6.0作为快速开发工具是很合理的。
4、程序正确性。与图纸的误差均在1到2毫米之内满足精度要求。由于交点法计算平曲线只能计算对称型曲线，线元法具有通用性，参数输入以线元法为主，交点法为辅，为了减小和设计图纸的误差，对交点法进行了分段，交点桩号采用图纸桩号进行逐段推算，切线长、缓和曲线长、曲线总长均采用设计图纸的舍入方法进行取舍。
5、程序健壮性与可靠性。从2005年愚人节发布1.0版本开始至今，程序陆续在增加新功能，但各种功能一直非常稳定可靠，程序健壮性与可靠性在不断提高。对于断链的处理采用分开计算的方法。
6、程序易用性。程序所有界面均在一个表单里面，form里面用frame进行分组标识，输入输出参数一目了然。参数的载入用不同的扩展名进行过滤，一个项目所有的平曲线竖曲线参数放在一起，载入不会混淆，而且载入后直接显示可计算里程段落，即使是新手上手也很快。平曲线批量计算采用从wsc文件输入的方式，可以批量计算任意里程偏距偏角坐标，对于结构物角点计算采用第一第二偏距，可以计算任意桩号墩台平行布置和径向布置坐标。竖曲线支持任意交角边桩高程计算，这对斜交桥涵高程计算很方便。
7、程序的兼容性。输出到txt格式，稍加修改可导入到全站仪中。由于未引用Excel支持控件，所以支持不同版本Excel输出。CAD输出采用脚本方式输出，支持不同CAD版本，脚本可以根据需要随意修改文字高度、图层、颜色等，是一种非常灵活的图形生成方式。CAD和Excel输出的时候可以批量输出全线特征点坐标。
8、完全免费，源代码全部公开，同时发布配套的卡西欧4800、4850、5800计算程序。
9、程序需要完善的部分：汽车试验场高速环道没有加入麦克康纳尔曲线坐标计算，缺乏布劳斯曲线和麦克康纳尔曲线抛物面高程计算。只能在电脑上运行，不能在JAVA手机和智能手机上运行。
