ArcEngine C# GIS开发入门作业 (一) Ex01,Ex02 ——地图、图层加载及属性访问

AE C# GIS 设计与开发课程分享(一) Ex01,Ex02——地图、图层加载及属性 访问

  • 这学期在想学习的动力下,刚结束了GIS开发与设计课,简单入门了刚学的C#和ArcEngine,想趁热写点东西记录下来。

  • 感觉这个作业Ex01-Ex07全做一遍就可以基本入门ArcEngine C#开发了,欢迎和我一样的大家一起学习。

    写这篇文章:
    1.第一,是为了纪念一下我Domen的入门IT的人生重大转折点;
    2.第二是为了锻炼一下自己写作的能力;
    3.还有因为我为了增加印象我重新整理了一下自己作业的代码花了很多时间不想浪费,直接拿出来供分享希望做点贡献;

    虽然下面的代码质量肯定是经不住的各种考验,但还是可以运行的,慢慢来。相信有很多和我一样的入门级的同胞,没事的,都是这么一窍不通过来的啦,我也是零基础过来的多亏了舍友,同学的讲解,才能勉强更得上大家的步伐。踩了贼多坑,建议还是了解一下控件和类的功能实现原理等等,那样捋的舒服点,不然这里搬一点那里搬一点不怎么好整,写别的代码也一样吧,都是从看代码到模仿的。然后没有一点C#基础的话看起来可能会有点吃力,我这学期其实也算是没C#基础,虽然大二下选修了C#但根本就是水过的,所以还是花了很多很多时间,其实我昨前天重新理一遍作业后才会自己写一点代码,之前都是复制粘贴。

  • 好的现在终于步入正题了,一不小心简单介绍写这么多,我们的GIS开发与设计,是利用ArcEngine10.2和VS2012配套学习的,一边课上听老师讲教材,一边课下完成老师的作业

相应的教材和作业文件在这里:

因为每个地图文件与空间数据库的路径是设置好的,所以每个作业需要打开对应的文件夹下的地图否则打不开,比如说把地图单独粘贴到其他地方就打不开了

  • 首先是第一部分安装和配置了,对应的VS和engine是这样,vs2012-ArcGIS10.2,vs2013 / 2015-ArcGIS10.4,VS10.6-ArcGIS2015 / 2017,按需求吧,我自己的安装是参考这位大哥的文章 https://blog.csdn.net/qq_35117024/article/details/80131198?utm_source=blogxgwz0 ,很详细,其他版本的vs和gis我也都有,有需要可以留言,注意如果有安装ArcGIS的话看一下破解文件service.txt,改成本地主机。安装和配置完按照结尾步骤生成一个窗体瞧瞧,相信大家就迫不及待的打开窗体想开始干活了。
    在这里插入图片描述
EX01:ArcObjects中有哪几种Class,Class之间存在哪些关系?采用ArcObjects中的实例进行说明,每种举3~5例。
  • 这里不赘述了,在我上面分享的百度云链接里有作业文档。
EX02 :关系编写程序,获取MapDocument 中的地图,获取地图中的图层,获取图层的基本属性。

在这里插入图片描述

功能需求:
  1. 加载MapDocument,并获取其包含的Map。
  2. 获取当前选中Map所包含的Layer。
  3. 显示选中Layer的属性信息。
实现效果

在这里插入图片描述

  • 这个作业的功能需求,我一开始看上去,完全不知道什么意思,先跟着给的截图布置一下窗体,慢慢的就理解了
    进去正题,在创建工程后(我创建的是EngineWindowsApplication),首先在from1.cs[设计]*窗口添加控件进去(我这里将from1改成了MainFrom02文件,下面就用MainFrom02.cs*来叙述),如图
    在这里插入图片描述
  • 依次将地图控件,LicenseControl(如果在普通的Windows项目中没有这个控件无法运行)拖入窗体(窗体的大小可以自行拉伸),这个界面呢,Ctrl+W,X打开工具箱,根据要求布置窗体界面就是按钮等等这个C#基本的控件,如下图,控件的分类什么和基本用法的自己可以去搜索一下,简单来说就是一个属性和一个事件。属性就是控件在基本的显示效果,在窗体中的位置和一些基本功能的设置,是不需要编写代码的;事件则是触发之后执行相关操作,如按钮点击,鼠标移动,下拉选择等等,选择控件右击属性,右侧属性窗格中一个闪电标志,就可以双击点进去写代码了,函数体什么的它都会帮你生成后,然后就可以按自己需求在生成的函数体力改动。

在这里插入图片描述
然后在Program.cs中加入下列有备注的三行代码:

using ESRI.ArcGIS;//需加
using ESRI.ArcGIS.esriSystem;//需加
//引用,本作业程序要用到
有用到别的当然可以自行添加
 
        static void Main()
        {
   
            ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);//需加
        //engine控件的使用需加入此行
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }

然后在MainFrom02.cs中加入下图中用红框框出的部分(被#regi

  • 17
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
C#可以用于处理GIS10.6数据。首先,你需要安装和配置相应的开发环境。根据你的需求,你可以选择安装VS2012-ArcGIS10.2、VS2013/2015-ArcGIS10.4或者VS10.6-ArcGIS2015/2017。你可以参考这篇文章\[2\]来进行安装和配置,里面有详细的步骤说明。另外,如果你已经安装了ArcGIS,请确保将破解文件service.txt中的主机地址改为本地主机。 一旦你完成了安装和配置,你就可以开始使用ArcObjects来处理GIS数据。在ArcObjects中,有多种Class可以使用,它们之间存在不同的关系。你可以参考我分享的百度云链接中的作业文档来了解更多关于ArcObjects中的Class和它们之间关系的详细信息\[2\]。 在处理GIS数据时,你可以编写程序来获取MapDocument中的地图,获取地图中的图层,并获取图层的基本属性。你可以使用ArcObjects中的实例来实现这些功能。具体的代码实现可以参考我分享的百度云链接中的作业文档\[3\]。 需要注意的是,如果你是C#入门级别,可能需要花费一些时间来学习掌握相关的控件和类的功能实现原理。建议你了解一下控件和类的基本原理,这样在编写代码时会更加顺利。另外,如果你对C#没有基础,可能需要更多的时间来学习和理解相关的知识。你可以参考一些教程和资料来帮助你学习和掌握C#的基础知识。 总之,C#可以用于处理GIS10.6数据,你可以根据需要安装和配置相应的开发环境,并使用ArcObjects来实现各种功能。希望这些信息对你有帮助。 #### 引用[.reference_title] - *1* *2* *3* [ArcEngine C# GIS开发入门作业 (一) Ex01,Ex02 ——地图图层加载属性访问](https://blog.csdn.net/Domen_Dragon/article/details/86497799)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值