Datasource access and modification of layers in ArcGIS Engine 09-11-19 09:29:09 http://blog.csdn.net/rrrrssss00
Core Tip: datasource access and modification of layers in ArcGIS Engine
When a layer can be accessed normally, you can obtain the data source path of the layer as follows:
Ifeature pfeaturelayer = (ifeaturelayer) player;
Ifeature fc = (ifeatureclass) pfeaturelayer. featureclass;
FDS = (ifeaturedataset) FC. featuredataset;
Ws = (iworkspace) FDS. workspace;
String S = ws. pathname. toupper ();
When the layer cannot be accessed normally and the data source needs to be repaired, the ifeatureclass obtained in the above method is empty. In this case, you can obtain the data source path of the layer in the following way:
Idatalayer pdlayer = (idatalayer) player;
Iworkspacename Ws = (idatasetname) (pdlayer. javascename). workspacename;
This. textbox2.text = ws. pathname;
Data Source modification method
1. filegdb
Idatalayer2 pdlayer = (idatalayer2) pflayer;
Idatasetname pdsname = (idatasetname) (pdlayer. CENAME );
Iworkspacename Ws = pdsname. workspacename;
This. textbox2.text = ws. pathname;
String newpath = @ "J:/work/windowsapplication1/windowsapplication1/bin/New. GDB ";
WS. workspacefactoryprogid = "esrisponcesgdb. filegdbworkspacefactory ";
WS. pathname = newpath;
Pdsname. workspacename = ws;
Pmapdocument. Save (True, true );
2. SHP File
Idatalayer2 pdlayer = (idatalayer2) pflayer;
Idatasetname pdsname = (idatasetname) (pdlayer. CENAME );
Iworkspacename Ws = pdsname. workspacename;
This. textbox2.text = ws. pathname;
String newpath = @ "J:/work/windowsapplication1/windowsapplication1/bin /";
WS. pathname = newpath;
Pdsname. workspacename = ws;
Pmapdocument. Save (True, true );
This article Article from GIS Power Station | www.gispower.org Original article: http://www.gispower.org/article/arcgis/ao/2009/1119/0911199299K0H733CH3E627648888G.html