基于.net 的 ArcMap插件开发学习之路

文章介绍了学习基于.net的ArcGIS插件开发的步骤,包括掌握C#语言基础,理解ArcObjects/ArcEngine库,学习自带的Sample代码,以及使用NPOI和Aspose.Words进行Excel和Word操作。强调了英语阅读能力和特定接口的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本帖子分享基于.net 的ArcGIS插件开发的学习路径,无代码。

学习建议按照下述步骤逐步进行。

1.语言基础

1.1 C#

首先需要熟悉C# 语言,C#语言功能比较强大,不需要学完所有。对于插件开发,大体需要学习基本语法、面向对象编程(类、结构、实例化、继承等)、数组、集合、属性、泛型、Winform界面制作或者WPF界面制作(界面制作前期不需要学的太精通,能做基本的界面基本沟通),事件相关、异常处理、文件基本操作

数据库、LINQ、网络、线程、GDI+绘图等不需要学习。

.net 需要学习到比较熟悉,能够实现常规的功能。

面向对象相关需要好好理解一下,包括类、对象、继承、接口、方法、事件、属性等。该块内容是学习ArcGIS开发的基础。

相关学习可以到B站找一些视频。

如果上述基本条件具备了,有一条相对简单的道路,可以去学习ArcPro的二次开发,开发ArcPro的插件,可以看 规划GIS会写的教程 规划GIS会_ArcGIS,ArcGIS Pro SDK,ArcGIS小技巧-CSDN博客

与AO那一套东西比起来,真是太简洁了。

1.2 英语

最好能有一定的英语文档阅读能力,原版的开发帮助,出了问题的资料检索等,都需要一定的英文基础。当然,借助翻译工具也是可以的。

2.ArcObjects/ ArcEngine 学习

先说这个库,这个库真是过于抽象。

学习这个库,需要一个前提:熟悉ArcGIS相关操作,熟悉ArcGIS的操作只是表象,其实最主要的是建立对ArcGIS中相关独享的概念。大体是地图(Map)、图层(Layer)、表(Table)、图形(Geometry、Point、Polygon、Polyline等)、空间参考(SpatialReference)、要素(Feature)、元素(Element)、符号(Symbol)、渲染(Renderer)、地理处理等

剩下的就是找本书,把代码一顿抄,边抄边调试边理解。

核心是理解QI(这个术语过于暴露年纪了),接口背后的对象,需要推测

偷懒的话,以下接口 IMap、ILayer、IFeatureLayer、ISpatialReference、IQueryFilter、ISpatialFilter、IFeatureClass、 IFeature、IFeatureCursor、 ITable、IRow、ICursor、IGeoProcessor、IPolygon、IPolyline、IPoint、IGeometry、IActiveView、ISymbol、ITopologicalOperator接口需要熟悉。 如果只是想方便数据处理,基本是与上述接口打交道。

本节能坚持下去的,离成功已经非常接近了。

3.自带的Sample学习

完成上述之后,基本可以试着写插件了,网上找找资料。AO与插件开发,基本就是入口不同。

如果想更好的提高,可以学习安装目录下的 Sample代码

4.扩展

4.1 NPOI Excel操作

如果需要将要素生成统计表格,建议使用 NPOI组件,该库开源。比 AO库简单的多

4.2 Word操作

如果需要生成Word报告,可以使用Aspose.Words库。 比AO库简单的多

Excel与Word操作,切勿使用微软自带的库,真的太难用。 尤其是微软Word操作的库,格式容易乱。

4.3 PDF操作

参考本篇帖子

C# PDF附件生成_不超限的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值