标签:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Good_liu_simalb/archive/2010/07/21/5752967.aspx
private void shpToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); if (DialogResult.OK == dlg.ShowDialog()) { string file = dlg.FileName.Substring(0, dlg.FileName.LastIndexOf(‘\\‘)); if (!System.IO.Directory.Exists(file)) { System.IO.Directory.CreateDirectory(file); } try { ILayer pLayer = axMapControl1.Map.get_Layer(0); if (pLayer != null) { IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer; if (pFeatureLayer.Visible) { ExportFeature(pFeatureLayer.FeatureClass,dlg.FileName); } } MessageBox.Show("导出成功"); } catch { MessageBox.Show("导出失败!"); } } }
private void ExportShp() { SaveFileDialog dlg = new SaveFileDialog(); if (DialogResult.OK == dlg.ShowDialog()) { string file = dlg.FileName.Substring(0, dlg.FileName.LastIndexOf(‘\\‘)); if (!System.IO.Directory.Exists(file)) { System.IO.Directory.CreateDirectory(file); } try { ILayer pLayer = axMapControl1.Map.get_Layer(1); if (pLayer != null) { IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer; if (pFeatureLayer.Visible) { ExportFeature(pFeatureLayer.FeatureClass, dlg.FileName); } } MessageBox.Show("导出成功"); } catch { MessageBox.Show("导出失败!"); } } }
public void ExportFeature(IFeatureClass pInFeatureClass,string pPath) { // create a new Access workspace factory IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass(); string parentPath=pPath.Substring(0, pPath.LastIndexOf(‘\\‘)); string fileName= pPath.Substring(pPath.LastIndexOf(‘\\‘) + 1, pPath.Length - pPath.LastIndexOf(‘\\‘) - 1); IWorkspaceName pWorkspaceName = pWorkspaceFactory.Create(parentPath,fileName, null, 0); // Cast for IName IName name = (IName)pWorkspaceName; //Open a reference to the access workspace through the name object IWorkspace pOutWorkspace = (IWorkspace)name.Open();
IDataset pInDataset = pInFeatureClass as IDataset; IFeatureClassName pInFCName = pInDataset.FullName as IFeatureClassName; IWorkspace pInWorkspace = pInDataset.Workspace; IDataset pOutDataset = pOutWorkspace as IDataset; IWorkspaceName pOutWorkspaceName = pOutDataset.FullName as IWorkspaceName; IFeatureClassName pOutFCName = new FeatureClassNameClass(); IDatasetName pDatasetName = pOutFCName as IDatasetName; pDatasetName.WorkspaceName = pOutWorkspaceName; pDatasetName.Name = pInFeatureClass.AliasName; IFieldChecker pFieldChecker = new FieldCheckerClass(); pFieldChecker.InputWorkspace = pInWorkspace; pFieldChecker.ValidateWorkspace = pOutWorkspace; IFields pFields = pInFeatureClass.Fields; IFields pOutFields; IEnumFieldError pEnumFieldError; pFieldChecker.Validate(pFields, out pEnumFieldError, out pOutFields); IFeatureDataConverter pFeatureDataConverter = new FeatureDataConverterClass(); pFeatureDataConverter.ConvertFeatureClass(pInFCName, null, null, pOutFCName, null, pOutFields, "", 100, 0); }
标签:
原文地址:http://www.cnblogs.com/cuizhiyuan/p/4599612.html