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

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

楼主#
更多 发布于:2006-12-03 21:37
<P>现在有一些等高线数据,但是每条等高线里面包含的点太多了,想隔几个点删几个,不知道用ArcMap能否实现?</P>
<P>或者用AO编程怎么实现?</P>
<P>是这样想的,先通过下面的语句</P>
<P> IFeatureCursor pcursor = m_layer.FeatureClass.Search(null,false);<BR>   IFeature pfeature;</P>
<P>while((pfeature = pcursor.NextFeature())!= null)<BR>   {<BR>    IGeometry pgeo = pfeature.Shape;<BR>    IPointCollection pcon = (IPointCollection )pgeo;<BR>    j+= pcon.PointCount;<BR>    for(int i = 0;i<pcon.PointCount;i++)<BR>    {<BR>     if(i%2 == 0)<BR>      pcon.RemovePoints(i,1);<BR>     <BR>    } </P>
<P>隔一个点删除一个,但是不知道后面怎么样保存?</P>
<P>不知道有没有高手会的?救急!!!!</P>
喜欢0 评分0
bluewood_cn
路人甲
路人甲
  • 注册日期2004-04-19
  • 发帖数118
  • QQ
  • 铜币551枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-12-04 16:42
<P>这样做,不好的。呵呵;) </P>
<P>用以下条件判断:</P>
<P>1. 点是不是离的很近</P>
<P>2.点是不是拐点</P>
<P>3. 点是不是方向基本没有大的变化。哈哈</P>
举报 回复(0) 喜欢(0)     评分
hover
路人甲
路人甲
  • 注册日期2005-12-13
  • 发帖数69
  • QQ
  • 铜币279枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-12-12 14:56
<P>完成for之后,加上:</P>
<P>pgeo=pcon as IPolyLine;</P>
<P>pfeature.Shape = pgeo;</P>
<P>pfeature.Store();</P>
<P>就可以保存了,不过你这样子去点也太简单了吧。很多问题都没有考虑到呀,加一些二楼所讲的分析条件比较好一些。</P>
承接、合作各种GIS项目开发 :ArcGIS平(基于AO、AE、ArcIMS、ArcServer开发) :MapInfo平台(基于MapXtreme 2004/2005、MapXtreme For Java开发) E-Mail:cmcrj0929@163.com QQ:31814576 有国土、市政、交通、电力等行业的成功应用项目经验。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部