不将mxd加载到MapControl中,可否获取该mxd中图层的数据源信息?

不将mxd加载到MapControl中,可否获取该mxd中指定图层的数据源信息?
已邀请:

朱新颖

赞同来自:

【解决办法】:
可以,使用IMapDocument.Open();打开该mxd,通过IMapDocument.get_Layer();获取ILayer,最后转为IDataLayer,使用IDataLayer.DataSourceName即可获取指定图层的数据源信息。


IMapDocument mapDoc = new MapDocumentClass();
mapDoc.Open(@C:\Users\Xinying\Desktop\subway.mxd);
IDataLayer datalayer = mapDoc.get_Layer(0, 0) as IDataLayer;
IName name = datalayer.DataSourceName;
IDataset dataset = name.Open() as IDataset;

要回复问题请先登录注册