private void btnTranslation_Click(object sender, EventArgs e) { CTranslation pTranslation = new CTranslation(_DataRecords); double dblTranslation = pTranslation.CalTranslation(); //double dblTranslation = pTranslation.CalDTranslation(); this.txtEvaluation.Text = dblTranslation.ToString(); }
/// <summary>计算距离值(Translation指标值)</summary> /// <param name="frcpl">大比例尺线段,可以只有一个顶点</param> /// <param name="tocpl">小比例尺线段,可以只有一个顶点</param> /// <returns>距离值</returns> public double CalDistance(CPolyline subfrcpl, CPolyline subtocpl, CPolyline frcpl, CPolyline tocpl) { List <CPoint> cresultptlt = _LinearInterpolationA.CLI(subfrcpl, subtocpl); //每次都相当于处理新的线段,因此使用CLI double dblTranslation = _pTranslation.CalTranslation(cresultptlt); return(dblTranslation); //List<CPoint> cresultptlt = _LinearInterpolationA.CLI(subfrcpl, subtocpl); //每次都相当于处理新的线段,因此使用CLI //double dblCost1 = _pTranslation.CalRatioTranslation(cresultptlt, frcpl, tocpl); //double dblCost2 = _pIntegral.CalRatioIntegral(cresultptlt, frcpl, tocpl); //double dblCost3 = _pLengthDiff.CalRatioLengthDiff(cresultptlt, frcpl, tocpl); //double dblSumCost = dblCost1 + dblCost2 + dblCost3; //return dblSumCost; }