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

其他相关文章

如果对本文有其他疑问,可以在本文下方留言。 如果有其他GIS、3S相关疑问也可以到 麻辣GIS问答 版块发表提问。
本站QQ群:291616564; 微信公众号:malagis,扫描 二维码 直接关注。

打赏¥1

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

发表评论