AE开发实例代码总结.doc

AE开发实例代码总结.doc

ID:48508056

大小:613.00 KB

页数:31页

时间:2020-02-06

AE开发实例代码总结.doc_第1页
AE开发实例代码总结.doc_第2页
AE开发实例代码总结.doc_第3页
AE开发实例代码总结.doc_第4页
AE开发实例代码总结.doc_第5页
资源描述:

《AE开发实例代码总结.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.1、AE开发技术文档一、数据加载问题1、加载个人数据库个人数据库是保存在Access中的数据库。加载方式有两种:通过名字和通过属性加载(也许不只是这两种,AE中实现同一功能可以有多种方式)A、通过设置属性加载个人数据库首先通过IPropertySet接口定义要连接数据库的一些相关属性,在个人数据库中为数据库的路径,例如:IPropertySetPropset=newPropertySetClass();Propset.SetProperty(“DATABASE”,@”D:testAodatashMapdata.mdb”);当定义完属性并设置属性后

2、就可以进行打开数据库的操作了,在ArcEngine开发中存在IWorkspaceFactory、IFeatureWorkspace、IFeatureClass、IFeatureLayer等几个常用的用于打开和操作数据空间地物的接口。IWorkspaceFactory是一个用于创建和打开工作空间的接口,它是一个抽象的接口,我们在具体应用时要用对应的工作空间实例化它,如下:IWorkspaceFactoryFact=newAccessWorkspaceFactoryClass();如果我们打开的是SDE数据库就要用SdeWorkspaceFactoryClass

3、实例化Fact。当我们完成了工作空间的实例化后就可以根据上边设置的属性打开对应的Access数据库了。打开方式如下:IFeatureWorkspaceWorkspace=Fact.Open(Propset,0)asIFeatureWorkspace;打开Access工作空间后接下来的事情是做什么了,很简单,找到对应的地物类,赋给相应的层,通过MapControl控件添加对应的层,然后刷新地图。以下为添加某一层的代码:IFeatureClassFcls=Workspace.OpenFeatureClass("District");//找到对应的地物类IFeat

4、ureLayerFly=newFeatureLayerClass();//建立新图层Fly.FeatureClass=Fcls;//将地物赋给相应的层MapCtr.Map.AddLayer(Fly);//添加层MapCtr.ActiveView.Refresh();//刷新地图其中District为地物类的名字,MapCtr为AE中MapControl的对象。上边的通过属性设置加载数据空间的方式还可以用于SDE数据库,在SDE数据库加载时会介绍。以下为通过设置属性加载Access数据库的完整C#代码:publicvoidAddAccessDBByPro(){

5、IPropertySetPropset=newPropertySetClass();Propset.SetProperty("DATABASE",@"D:testAodatashMapData.mdb");..IWorkspaceFactoryFact=newAccessWorkspaceFactoryClass();IFeatureWorkspaceWorkspace=Fact.Open(Propset,0)asIFeatureWorkspace;IFeatureClassFcls=Workspace.OpenFeatureClass("Dist

6、rict");IFeatureLayerFly=newFeatureLayerClass();Fly.FeatureClass=Fcls;MapCtr.Map.AddLayer(Fly);MapCtr.ActiveView.Refresh();}B、通过数据库名字加载个人数据库publicvoidAddAccessDBByName(){IworkspaceNamepWorkspaceName=newWorkspaceNameClass();pWorkspaceName.WorkspaceFactoryProgID=“esriDataSourcesGDB.Ac

7、cessWorkspaceFactory”;pWorkspaceName.PathName=@“D:testAodatashMapData.mdb”;INamen=pWorkspaceNameasIName;IFeatureWorkspaceWorkspace=n.Open()asIFeatureWorkspace;IFeatureClassFcls=Workspace.OpenFeatureClass("District");IFeatureLayerFly=newFeatureLayerClass();Fly.FeatureClass=Fcls

8、;MapCtr.Map.AddLayer(Fly);

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

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

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