版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lu_LLLR/article/details/80366749
都是《ArcGIS Egine+C#入门经典》里的例子,可以找来看看
数据都是用的ArcEgine安装好后自带的数据
路径应该是 ArcGIS\DeveloperKit10.2\Samples\data
---------------------------------------------------------------------------------------------------------------------------
在上一个例子的窗体上拖一个
menuStrip进去,再拖一个
openFileDialog进去
最后的成果是这样的
1、添加shapfile文件
代码如下:
private void 添加shp文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
//文件过滤,选择后缀为.shp
openFileDialog1.Filter = "ShapeFile文件(*.shp)|*.shp";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
string pPathName = openFileDialog1.FileName;
string pFolder = System.IO.Path.GetDirectoryName(pPathName);
string pFileName = System.IO.Path.GetFileName(pPathName);
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pFolder, 0);
IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass(pFileName);
IFeatureLayer pFLayer = new FeatureLayerClass();
pFLayer.FeatureClass = pFC;
pFLayer.Name = pFC.AliasName;
ILayer pLayer = pFLayer as ILayer;
IMap pMap = axMapControl1.Map;
pMap.AddLayer(pLayer);
axMapControl1.ActiveView.Refresh();
}
}
2、添加lyr文件
private void 添加lyr文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "lyr文件(*.lyr)|*.lyr";
//openFileDialog1.InitialDirectory = @"C:\Program Files (x86)\ArcGIS\DeveloperKit10.2\Samples\data\World";
//openFileDialog1.Multiselect = false;
//DialogResult pDialogResult = openFileDialog1.ShowDialog();
//if (pDialogResult != DialogResult.OK)
// return;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string pFileName = openFileDialog1.FileName;
axMapControl1.AddLayerFromFile(pFileName);
axMapControl1.ActiveView.Refresh();
}
}