VC++开发GIS系统(287)计算一条折线的长度

本文目录
  • 正文

本文介绍GIS系统中计算一条折线长度的方法。

算法介绍

将折线拆分成多条线段,并分别计算线段的长度,其长度之和即为折线的长度。

算法实现

在_malaBase.h中定义下面的函数

double distanceLine(vector<malaPoint>& pLilne);//计算一条线的长度

@ pLilne 表示线要素

在_malaBase.cpp中实现上述函数定义

/*
* 计算一条线的长度
*/
double malaLogic::distanceLine(vector<malaPoint>& pLilne)
{
  double dis(0.0);
  for (int i = 0; i < pLilne.size() - 1; i++)
  {
    dis += distancePointToPoint(pLilne[i], pLilne[i + 1]);
  }
  return dis;
}

其中 distancePointToPoint 函数用于计算两点之间的距离。可参考文章《VC++开发GIS系统(188)线上移点之获取点在线的位置

如您有疑问,可在文末留言,或到QQ群提问。
本站QQ群:291616564 麻辣GIS
微信公众号:malagis,扫描二维码直接关注。

打赏¥1

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论