AE开发编辑功能.doc

AE开发编辑功能.doc

ID:57861084

大小:41.00 KB

页数:6页

时间:2020-09-02

AE开发编辑功能.doc_第1页
AE开发编辑功能.doc_第2页
AE开发编辑功能.doc_第3页
AE开发编辑功能.doc_第4页
AE开发编辑功能.doc_第5页
资源描述:

《AE开发编辑功能.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AE开发编辑功能数据编辑问题在AE中数据的编辑是一个重点,也是一个难点。它包括的东西非常多,如:地物的添加,地物的修改,地物查询,节点捕捉,地物的符号化等一系列的问题。熟练的使用地物编辑的功能,是开发一个系统必须具备的条件。数据编辑问题解决得好坏直接决定着软件是否操作方便。在这我只是写一些相应的功能函数,至于软件开发中的架构,我不考虑。1、添加地物什么是地物,这是GIS的基本概念,我在这不想多说,我只想说明一点,地物可以表现在地图上,如房子、铁路、水管等等。我们把房子的总称称为一个地物类,在AE中对应一个地物类(IFeatureClass),一个地物类在地

2、图上表示为一个地物层(IFeatureLayer),单独的一栋房子或一条管道我们称为地物(IFeature),Arcgis中一类地物只能放在一个层,通过图层的叠加组成一幅地图。熟悉面向对象的编程语言的人都知道,其实上边的地物类,地物的概念就是类和实体的概念。房子、铁路、水管等是一类地物的抽象,而具体的某一房子就是对象了。大家了解了这一点。接下来的开发就容易理解一些了。当然,还有一些其他的概念也必须了解一下:如长事务、短事务、编辑空间等。请大家查找一些相关资料,了解这方面的内容。我们先开始最基本的编辑功能:添加点线面的操作。它包括输入添加点线面和通过鼠标拖动

3、添加点线面。下边讨论一下添加点线面的基本的实现方法:一、添加点我们可以有多种方法添加点,但基本的思路一样,只是有少量的接口有变化。下边是通过FeatrueClass的CreateFeature()函数添加地物。publicvoidAddPointByStore()      {              //得到要添加地物的图层              IFeatureLayerl=MapCtr.Map.get_Layer(0)asIFeatureLayer;              //定义一个地物类,把要编辑的图层转化为定义的地物类        

4、      IFeatureClassfc=l.FeatureClass;              //先定义一个编辑的工作空间,然后把转化为数据集,最后转化为编辑工作空间,              IWorkspaceEditw=(fcasIDataset).WorkspaceasIWorkspaceEdit;              IFeaturef;              IPointp;              //开始事务操作              w.StartEditing(false);              //开始

5、编辑              w.StartEditOperation();              for(inti=0;i<100;i++)              {                  //创建一个地物                  f=fc.CreateFeature();                  p=newPointClass();                  //设置点的坐标                  p.PutCoords(i,i);                  //确定图形类型    

6、              f.Shape=p;                  //保存地物                  f.Store();                  }              //结束编辑              w.StopEditOperation();              //结束事务操作              w.StopEditing(true);}上边的代码能添加点地物,但不能作为最终的代码使用,细心的人会看到。这段代码只是把第一层加进来,然后在第一层上边添加点地物,如果第一层不是点层,该怎

7、么办,那就要判断了。怎么判断我们以后再说。通过上边的代码,我们已经清楚地了解到,编辑地物的基本框架,这也是我们所说的事务,如果想操作能返回和重做,就必须把代码写在IWorkspaceEdit的StartEditing()和StopEditing()函数之间,把相关的操作写在IWorkspaceEdit的StartEditOperation()和StopEditOperation()之间。并且操作是利用IWorkspaceEdit接口完成的,所以要仔细理会IWorkspaceEdit接口的用处,如何工作空间都可以转化为IWorkspaceEdit的对象,当转

8、化为IWorkspaceEdit定义的对象后,我们定义一个IFea

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。