默认头像
路人甲
路人甲
  • 注册日期2005-12-20
  • 发帖数24
  • QQ
  • 铜币193枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2062回复:2

[求助]怎么样Polyine中的点稀化

楼主#
更多 发布于:2006-12-03 21:37

现在有一些等高线数据,但是每条等高线里面包含的点太多了,想隔几个点删几个,不知道用ArcMap能否实现?

或者用AO编程怎么实现?

是这样想的,先通过下面的语句

IFeatureCursor pcursor = m_layer.FeatureClass.Search(null,false);
  IFeature pfeature;

while((pfeature = pcursor.NextFeature())!= null)
  {
   IGeometry pgeo = pfeature.Shape;
   IPointCollection pcon = (IPointCollection )pgeo;
   j+= pcon.PointCount;
   for(int i = 0;i    {
    if(i%2 == 0)
     pcon.RemovePoints(i,1);
   
   }

隔一个点删除一个,但是不知道后面怎么样保存?

不知道有没有高手会的?救急!!!!

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2005-12-13
  • 发帖数69
  • QQ
  • 铜币279枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-12-12 14:56

完成for之后,加上:

pgeo=pcon as IPolyLine;

pfeature.Shape = pgeo;

pfeature.Store();

就可以保存了,不过你这样子去点也太简单了吧。很多问题都没有考虑到呀,加一些二楼所讲的分析条件比较好一些。

承接、合作各种GIS项目开发 :ArcGIS平(基于AO、AE、ArcIMS、ArcServer开发) :MapInfo平台(基于MapXtreme 2004/2005、MapXtreme For Java开发) E-Mail:cmcrj0929@163.com QQ:31814576 有国土、市政、交通、电力等行业的成功应用项目经验。
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-04-19
  • 发帖数118
  • QQ
  • 铜币551枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-12-04 16:42

这样做,不好的。呵呵;)

用以下条件判断:

1. 点是不是离的很近

2.点是不是拐点

3. 点是不是方向基本没有大的变化。哈哈

举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部