Beispiel #1
0
        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;
        }