阅读:2095回复:5
创建新图层的新思路
我在之前发过一篇求救的帖子,关于怎样创建一个全新的图层的。结果还是未能解决。现在我又想到一个新的思路,复制已有的一个面图层到一个新的图层,然后删除其中的所有要素,得到新的图层<br> Dim pObjectCopy As IObjectCopy<br> pObjectCopy = New ObjectCopy<br><br> 'Dim pToCopyLayer As Object<br> pToCopyLayer = mapctr.ActiveView.FocusMap.Layer(0) <br><br> pfeaturelayer = pObjectCopy.Copy(pToCopyLayer)<br> pFtCls = pfeaturelayer.FeatureClass<br> pcursor = pFtCls.Search(Nothing, False)<br> Dim pFeat As IFeature<br> pFeat = pcursor.NextFeature<br> While Not pFeat Is Nothing<br> pFeat.Delete()<br> pFeat = pcursor.NextFeature<br> End While<br>但是我发现复制后的图层和原来的图层还是共用同一个区间,也就是说在对复制后的图层进行修改的同时,原图层也做了相应的修改,不知有哪位大侠知道有什么方法可以使它们完全独立啊?<br>
|
|
1楼#
发布于:2007-05-24 16:56
创建新图层用IFeatureWorkSpace.CreateFeatureclass
|
|
2楼#
发布于:2007-05-24 17:22
<P>这个帖子里有详细的代码,请多用论坛的搜索功能了:)</P>
<P><a href="http://www.gisempire.com/bbs/dispbbs.asp?BoardID=62;ID=55584" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?BoardID=62;ID=55584</A></P> |
|
|
3楼#
发布于:2007-05-24 19:39
终于解决了,太感谢了<br>呵呵<br>之前其实已经搜到过这个帖子了,但是由于参考空间必须和已有的一致,当时没有找到相关的属性,所以就浅尝辄止了,这次终于被我找到了<br>再次感谢gis大人<br><br>
|
|
4楼#
发布于:2007-05-29 12:56
厉害啊,这样都可以<img src="images/post/smile/dvbbs/em01.gif" />
|
|
5楼#
发布于:2008-04-12 16:02
学习。。。<img src="images/post/smile/dvbbs/em02.gif" />
|
|