为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ArcEngine数据连接

2018-08-24 4页 doc 17KB 10阅读

用户头像

is_983143

暂无简介

举报
ArcEngine数据连接ArcEngine数据连接 ArcEngine 可以接受多种数据源。在开发过程中我们使用了如下几种数据源 1.企业数据库2.个人数据库3.Shapefile文件4.AutoCAD dwg文件5.影像图文件 6.数据库中的影像数据集。 下面分别列举出打开上述数据源的方式: 1.企业数据库。 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接。 在AE接口中,Workspace是由Factory打开的。 代码如下: // //准备连接参数 // ESRI.ArcGIS.esri...
ArcEngine数据连接
ArcEngine数据连接 ArcEngine 可以接受多种数据源。在开发过程中我们使用了如下几种数据源 1.企业数据库2.个人数据库3.Shapefile文件4.AutoCAD dwg文件5.影像图文件 6.数据库中的影像数据集。 下面分别列举出打开上述数据源的方式: 1.企业数据库。 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接。 在AE接口中,Workspace是由Factory打开的。 代码如下: // //准备连接参数 // ESRI.ArcGIS.esriSystem.IPropertySet pPropSet=new PropertySetClass(); pPropSet.SetProperty("server","服务器机器名" ); pPropSet.SetProperty("instance","SDE运行的端口号"); pPropSet.SetProperty("user","用户名"); pPropSet.SetProperty("password","口令" ); pPropSet.SetProperty("version","版本"); ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactory sdeWkspFact=new SdeWorkspaceFactoryClass(); IFeatureWorkspace pFeaWksp=(IFeatureWorkspace)sdeWkspFact.Open(pPropSet,0); 其中唯一需要解释的可能就是版本(version).对于没有使用版本或者第一次连接(没有建 立空间数据库,当然没有版本了). 该处使用sde.DEFAULT这个版本。这是默认的版本。 2.个人数据库 ArcEngine中个人数据库为Access。 string filePath="E:tt.mdb"; AccessWorkspaceFactory fac=new AccessWorkspaceFactoryClass(); IFeatureWorkspace space=(IFeatureWorkspace)fac.OpenFromFile(filePath,0); 这是用的最多的一种方式。由于Access在本机上也就没有设置用户和密码。不知道加密的 Access是如何连接的。估计也是用IPropSet吧,我们用不着,所以没有测试。 3.Shapefile文件 Shapefile和Access的打开方式有一点相同 。也有差异。 //这是Shape所在的目录(注意:是目录); string spacePath="E:\\shapefile"; ShapefileWorkspaceFactory fac=new ESRI.ArcGIS .DataSourcesFile .ShapefileWorkspaceFactoryClass(); IFeatureWorkspace space=(IFeatureWorkspace)fac.OpenFromFile(spacePath,0); 4.AutoCAD。 AutoCAD文件和一般的ESRI格式不同。所以代码会有一点点奇怪 赫赫。 假设有一个dwg文件为E:\\cad\\107.dwg 下面是打开的代码: CadWorkspaceFactoryClass fac=new CadWorkspaceFactoryClass (); String filePath="E:\\cad"; IFeatureWorkspace space=fac.OpenFromFile(filePath,0) as IFeatureWorkspace ; 下面是打开FeatureClass的代码: //线 IFeatureClass polyline =space.OpenFeatureClass("107.dwgolyline"); IFeatureLayer layer=new CadFeatureLayerClass (); layer.FeatureClass =polyline; //点 IFeatureClass point=space.OpenFeatureClass ("107.dwgoint"); layer=new CadFeatureLayerClass (); layer.FeatureClass =point; //面 IFeatureClass polygon=space.OpenFeatureClass ("107.dwgolygon"); ayer=new CadFeatureLayerClass(); layer.FeatureClass =polygon; //注记 IFeatureClass anno=space.OpenFeatureClass ("107.dwg:Annotation"); layer=new CadAnnotationLayerClass(); layer.FeatureClass =anno; //其实 还有multiPatch。不演示了。 5.文件系统中的影像文件: //文件路径 string filePath="E:\\image\\117.tif"; ESRI.ArcGIS.Carto.IRasterLayer pRs=new ESRI.ArcGIS.Carto.RasterLayerClass(); pRs.CreateFromFilePath(filePath ); 这个方法有一点奇怪。不知道大家看出来没有赫赫。 6.数据库中的影像图 //数据库连接 IWorkspace space=OpenSpace();//打开数据库的方式参见1、2 IRasterWorkspaceEx rasterSpace=(IRasterWorkspaceEx)space; IRasterDataset rasterDataset=rasterSpace.OpenRasterDataset (setName.Name ); IRasterLayer rasLayer=new RasterLayerClass(); rasLayer.CreateFromDataset(rasterDataset);
/
本文档为【ArcEngine数据连接】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索