阅读:2042回复:2
[求助]怎么样Polyine中的点稀化
<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> |
|
1楼#
发布于: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> |
|
|
2楼#
发布于:2006-12-04 16:42
<P>这样做,不好的。呵呵;) </P>
<P>用以下条件判断:</P> <P>1. 点是不是离的很近</P> <P>2.点是不是拐点</P> <P>3. 点是不是方向基本没有大的变化。哈哈</P> |
|