VC++开发GIS系统(238)删除区之函数定义

本文介绍GIS系统中的一个区删除的功能,并实现一个用于删除区的底层IO函数。

删除区IO函数定义

在_malaIO.h中的区文件读写类 CPolyIO 中定义用于删除区的函数,声明如下:

public:
  long polyDelete(long ID, CString &fileName);//删除一条区
  • @ ID 区的ID
  • @ fileName 区文件的完整路径

删除区IO函数实现

在_malaIO.cpp中实现上述的函数定义,代码如下:

/*
* 删除一个区
*/
long CPolyIO::polyDelete(long ID, CString &fileName)
{
  readPolys(fileName);
  vector<malaPolyFile>PolyArray;
  int Size = mPoly.size();
  for (int i = 0; i < Size; i++)
  {
    if (mPoly[i].mPolyPro.polyId != ID)
      PolyArray.push_back(mPoly[i]);
  }
  mPoly = PolyArray;
  PolyArray.clear();
  savePolys(fileName);
  return ID;
}

实现原理是遍历区文件中的所有区,ID相同即删除。

详细代码可以参考:GitHub

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

打赏¥1

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

发表评论