AE+C#批量修改MXD中图层数据源
来源:互联网 发布:mysql下载及安装步骤 编辑:程序博客网 时间:2024/05/22 03:07
AE+C#批量修改MXD中图层数据源
在实际的工作中经常遇到MXD找不到数据源或者没有需要批量转换数据源,本文样例代码为AE+C#如何批量修改MXD的数据源。
代码如下
stringpath = @"D:\temp";
stringsdeName = @"localhost.sde";
stringsdePath = path +"\\" + sdeName;
if(File.Exists(sdePath))
{
File.Delete(sdePath);
}
IWorkspaceFactorypWorkspaceFactory =new SdeWorkspaceFactoryClass();
IWorkspaceNamepWorkspaceName = pWorkspaceFactory.Create(path, sdeName, ConnectSDE(true), 0);
ILayerpLayer =null;
IFeatureLayerpFeatureLayer =null;
IDataLayer2pDataLayer =null;
IDatasetNamepDatasetName =null;
for(int i = 0; i < mapCtrl.LayerCount; i++)
{
//获取图层
pLayer = null;
pLayer =mapCtrl.get_Layer(i);
pFeatureLayer = (IFeatureLayer)pLayer;
stringlayername = pLayer.Name;
if(pLayer is IDataLayer)
{
pDataLayer = (IDataLayer2)pFeatureLayer;
pDatasetName = (IDatasetName)pDataLayer.DataSourceName;
try
{
if (pFeatureLayer.FeatureClass !=null)
{
if (!(pFeatureLayerisIDimensionLayer))
{
pDataLayer.Disconnect();
}
}
pDatasetName.WorkspaceName = pWorkspaceName;
pDataLayer.Connect((IName)pDatasetName);
}
catch (Exception ex)
{
string msg = ex.Message;
}
}
}
mapCtrl.Refresh();
主要用的接口是IDataLayer2。其中对于IDimensionLayer类型的数据,pDataLayer.Disconnect();
没有实现,这里已经进行了屏蔽。
- AE+C#批量修改MXD中图层数据源
- ArcMap批量修改mxd图层数据源路径
- ArcMap批量修改mxd图层数据源路径
- 如何批量设置MXD的数据源
- 如何批量修复MXD地图数据源
- MXD文档操作(二)-修改MXD文档数据源
- Script & Tool之MXD修改数据源
- ArcGIS教程:批量修复MXD地图数据源方法
- AE+C# GP批量裁剪
- AE实现批量修改SHP文件坐标系
- AE实现批量修改SHP文件坐标系
- C# 批量修改
- C#批量修改文件名
- ArcEngine重置Mxd数据源的问题
- AE中保存Mxd文档的几种方式
- AE开发加载mxd地图文件后出现红色叹号
- c#批量修改控件属性
- C#之批量修改文件名
- iOS-NSURLConnection、NSMutableURLRequest、NSURLRequest用法
- 步步学GDB-《1》
- android JNI学习之三 关于Android.mk
- 总理弯腰屈膝的shooow
- 开始我的博客之旅
- AE+C#批量修改MXD中图层数据源
- php有用的代码段-(1)
- 详解在IOS后台执行
- Android 的上下文菜单: Context Menu
- mysql安装使用----1 安装和启动
- netstat命令
- 解决git for windows无法commit
- QT容器类总结
- MFC中消息循环处理的几个函数之间的区别