ArcGIS Runtime加载本地Shape数据和编辑Shape数据

本文介绍了如何在ArcGIS Runtime中加载和编辑本地Shape数据。通过使用开源库,如GDAL/OGR,实现了从Shape文件读取几何对象并转化为Graphic显示在Map上。同时,展示了读取Shape数据和编辑Shape数据的核心代码,讨论了将Graphic几何对象转换回OGR支持的Geometry以进行编辑的过程。
摘要由CSDN通过智能技术生成

 

问题的提出

ArcGIS Runtime 支持MPK,APK,TPK,GPK这些打包之后的数据,这些也都是ArcGIS 10.1 中新增的数据格式(MPK除外,MPK是在ArcGIS 10中增加的,但是并不能支持ArcGIS Runtime),我们经常使用的数据可能并不是这些打包后的数据,而是shape这样的数据,我们如何加载shape数据呢?加载了shape数据,我们又如何编辑呢?

我们知道ArcGIS Runtime中有一种类型的图层叫做GraphicsLayer,它是用来显示我们的一些符号化的几何对象——Graphic,Graphic由Gemoetry+属性+符号组成。

Shape数据格式的公开的,这样只要我们按照其规范就可以从底层写读取shape文件的程序,但是我们没有必要这么做,因为在网上有有很多开源的读取shape数据的类库,如GDAL/OGR,SharMap类库等,有了这些类库,我们就有一个想法,借助这些类库将shp数据读取出来,然后转成能在GraphicsLayer图层上显示的东东。到了这里我们需要做的就是将shape文件中读取出来的几何图形对象转成Graphic的几何对象,这一个步骤也有人做了。在http://esrislcontrib.codeplex.com/上,就提到了读取shape文件的shapefilereader类。该类里面有一个非常好的方法ToGraphic(),该方法直接将读取的shape转成了Graphic,有了Graphic,我们就可以将Graphic显示在Map中了

 

 

 

读取shape数据

核心代码

private void button3_Click(object sender, RoutedEventArgs e)

        {

            OpenFileDialog pOpenShpFile = new OpenFileDialog();

 

            pOpenShpFile.Multiselect = false;

 

            pOpenShpFile.Filter = "Shapefile(.shp)|*.shp";

 

            string pFileName = "";

            if (pOpenShpFile.ShowDialog() == true)

            {

                if (pOpenShpFile.FileName.Length > 0)

                {

 

                    pFileName = pOpenShpFile.FileName;

 

                    FileInfo pShpInfo = new FileInfo(pFileName);

 

                    ShapeFile pShapeReader = new ShapeFile();

 

                    //pShapeReader.Read(pShpInfo, new FileInfo(pFileName.Replace(".shp", ".dbf")

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值