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

VC++开发GIS系统(237)边界删点之菜单响应 中科宇图河南分公司招聘GIS研发工程师

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

发表评论