加载要素到图层.doc
文本预览下载声明
ArcEngine c# 创建shp图层,并将要素写入图层保存
作者:孤风一剑 发布:2013-08-02 09:32 栏目:A开发 点击:185次 抢沙发
之前看了一位大侠的帖子,写的是跟这个差不多的,所以,我就直接copy下来再vs中做了一个类。大家可以直接拿过去用。
using System;
using System.Collections.Generic;using System.Text;using ESRI.ArcGIS.Geodatabase;using System.Windows.Forms;using ESRI.ArcGIS.DataSourcesFile;
namespace {/// summary/// 导出缓冲分析之后出现JointCount1的点位图层/// /summarypublic class ExportToShp{public string shpPath;/// summary/// 保存输出JointCount1的点位图层/// /summary/// param name=apFeatureClass/parampublic void ExportFeatureClassToShp(IFeatureClass apFeatureClass){
if (apFeatureClass == null){
MessageBox.Show(请选择, 系统提示);return;
}//调用保存文件函数SaveFileDialog sa = new SaveFileDialog();
sa.Filter = SHP文件(.shp)|*.shp;
sa.ShowDialog();
sa.CreatePrompt = true;
string ExportShapeFileName = sa.FileName;
// string StrFilter = SHP文件(.shp)|*.shp;// string ExportShapeFileName = SaveFileDialog(StrFilter);
if (ExportShapeFileName == )return;
string ExportFileShortName = System.IO.Path.GetFileNameWithoutExtension(ExportShapeFileName);
string ExportFilePath = System.IO.Path.GetDirectoryName(ExportShapeFileName);
shpPath = ExportFilePath + \\ + ExportFileShortName + \\ + ExportFileShortName + .shp;//设置导出要素类的参数IFeatureClassName pOutFeatureClassName = new FeatureClassNameClass();
IDataset pOutDataset = (IDataset)apFeatureClass;
pOutFeatureClassName = (IFeatureClassName)pOutDataset.FullName;
//创建一个输出shp文件的工作空间IWorkspaceFactory pShpWorkspaceFactory = new ShapefileWorkspaceFactoryClass();
IWorkspaceName pInWorkspaceName = new WorkspaceNameClass();
pInWorkspaceName = pShpWorkspaceFactory.Create(ExportFilePath, ExportFileShortName, null, 0);
//创建一个要素集合IFeatureDatasetName pInFeatureDatasetName = null;
//创建一个要素类IFeatureClassName pInFeatureClassName = new FeatureClassNameClass();
IDatasetName pInDatasetClassName;
pInDatasetClassName = (IDatasetName)pInFeatureClassName;
pInDatasetClassName.Name = ExportFileShortName;//作为输出参数
pInDatasetClassName.WorkspaceName = pInWorkspaceNa
显示全部