mxd重新指定数据源
//打开原有Map地图
IMapDocument pMapDocument = new MapDocumentClass();
pMapDocument.Open(strMxdFile);
if (pMapDocument.MapCount < 1) return;
IMap pMap = pMapDocument.Map[0];
//修改Map数据源
ILayer pLayer = pMap.get_Layer(0);
IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;
pFeatureLayer.FeatureClass = ((IFeatureWorkspace)pOtherWorkspace).OpenFeatureClass(pFeatureLayer.Name);
//保存新设置的Map地图
IMxdContents pMxdC = pMap as IMxdContents;
pMapDocument.ReplaceContents(pMxdC);
strMxdFile = @"..Path\FileName.mxd";
pMapDocument.SaveAs(strMxdFile);
两个数据源中需要是相同的图层,包括名称和数据一致。保存为mxd后配图信息不变。
浙公网安备 33010602011771号