shape文件的读取和展示

    //选择shape文件
public string[] OpenShapeFile()
{
string[] ShpFile = new string[2];
OpenFileDialog OpenShpFile = new OpenFileDialog();
OpenShpFile.Title = "打开Shape文件";
OpenShpFile.InitialDirectory = "E:";
OpenShpFile.Filter = "Shape文件(*.shp)|*.shp";
if (OpenShpFile.ShowDialog() == DialogResult.OK)
{
string ShapPath = OpenShpFile.FileName;
//利用"\\"将文件路径分成两部分
int Position = ShapPath.LastIndexOf("\\");
string FilePath = ShapPath.Substring(0, Position);
string ShpName = ShapPath.Substring(Position + 1);
ShpFile[0] = FilePath;
ShpFile[1] = ShpName;
}
return ShpFile;
}


//读取shape文件,新建图层,并显示在地图
private void button2_Click(object sender, EventArgs e)
{
// IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory(); // 1
// IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile();


OpenFileDialog openFileDialog1 = new OpenFileDialog();
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory(); // 1

string[] ShpFile = OpenShapeFile();

string FilePath = ShpFile[0];
string ShpName = ShpFile[1];


IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(FilePath, 0); // 2

IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;

IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass(ShpName); //3


IFeatureLayer pFLayer = new FeatureLayerClass(); // 4

pFLayer.FeatureClass = pFC;

pFLayer.Name = pFC.AliasName; // 5

ILayer pLayer = pFLayer as ILayer;


IMap pMap = axMapControl1.Map;

pMap.AddLayer(pLayer); // 6

axMapControl1.ActiveView.Refresh();

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值