**零基础学习 ArcGIS Engine + C# 二次开发——GIS 开发者进阶指南**

在地理信息系统(GIS)行业迅猛发展的今天,单纯的软件操作已难以满足日益复杂的业务需求,基于二次开发定制专属解决方案成为核心竞争力。本课程专为零基础学员打造,系统性地拆解 ArcGIS Engine 与 C# 编程的结合之道,旨在帮助学习者从入门到精通,掌握 GIS 二次开发的底层逻辑与实战技能。

课程开篇并非直接切入代码,而是通过详尽的前言部分,厘清了 ArcGIS Engine 与 ArcGIS Desktop 的演进关系及定位差异。学员将深刻理解 Engine 作为组件式 GIS 开发平台的独特价值,明确其“轻量化、高集成、易扩展”的技术优势。同时,针对初学者普遍存在的畏难情绪,课程专门设置了学习方法论指导,剖析如何高效利用 ESRI 官方帮助文档与对象模型图,建立起科学的自学路径,为后续长达数月的深度学习奠定坚实的心态基础。

技术基石层面,课程并未假设学员具备深厚的编程背景,而是前置了 C# 面向对象编程的核心章节。从类、接口、对象的本质关系,到事件驱动、继承、封装、多态四大特性,讲师以通俗易懂的方式逐一破译。这部分内容至关重要,因为 ArcGIS Engine 的开发本质就是对 COM 组件的面向对象调用,不理解“多态”与“接口查询(QI)”,便无法灵活驾驭复杂的 GIS 对象体系。通过这一阶段的打磨,学员将彻底扫清编程语法障碍,顺利进入 GIS 专属领域。

进入专业开发阶段,课程重点讲解了 ArcGIS Engine 的核心 UI 控件(如 AxMapControl、AxTOCControl)的配置与交互逻辑,并深入剖析了矢量数据模型(FeatureClass、FeatureLayer 等)的结构及其基本 CRUD 操作。尤为关键的是,课程耗时较长篇幅讲解“接口查询技术(QI)”,这是 ArcGIS 开发中最具特色也最易出错的技术点,掌握它意味着掌握了对象转换的钥匙。最后,通过添加数据、地图缩放、漫游、全景视图及鹰眼功能的完整代码实例,学员将把碎片化的知识串联成可运行的应用,体验从“懂理论”到“能动手”的质变。

这是一门兼顾理论深度与实战广度的体系课。它不仅教授如何调用 API,更着重培养 GIS 程序员的对象建模思维。对于希望转型 GIS 开发、或希望在现有工作中提升技术壁垒的学员而言,这是从零基础迈向专业开发者的高性价比进阶之路。

课程目录

课程目录45 集
  • 1-1 [前言] 课程大纲 (07:18).mp4
  • 1-2 [前言] 学前必看 (16:38).mp4
  • 2-1 [ArcGIS Engine介绍及与Desktop的关系] ArcGIS Engine介绍及与Desktop的关系(上) (08:11).mp4
  • 2-2 [ArcGIS Engine介绍及与Desktop的关系] ArcGIS Engine介绍及与Desktop的关系(下) (09:38).mp4
  • 3-1 [ArcGIS Engine的重要性及如何学习] ArcGIS Engine的重要性及如何学习(上) (10:11).mp4
  • 3-2 [ArcGIS Engine的重要性及如何学习] ArcGIS Engine的重要性及如何学习(下) (10:48).mp4
  • 4-1 [C#面向对象编程的学习] 类、接口、对象及三者之间的关系 (22:25).mp4
  • 4-2 [C#面向对象编程的学习] 事件驱动、继承、封装、多态讲解(上) (20:11).mp4
  • 4-3 [C#面向对象编程的学习] 事件驱动、继承、封装、多态讲解(下) (23:12).mp4
  • 5-1 [学习对象模型图和开发帮助] 学习对象模型图和开发帮助(上) (10:11).mp4
  • 5-2 [学习对象模型图和开发帮助] 学习对象模型图和开发帮助(下) (13:33).mp4
  • 6-1 [ArcGIS Engine接口查询技术(QI)] ArcGIS Engine接口查询技术(QI) (21:54).mp4
  • 7-1 [ArcGIS Engine的核心UI控件讲解] ArcGIS Engine的核心UI控件 (16:42).mp4
  • 8-1 [矢量数据结构及基本操作] 第一讲 (16:27).mp4
  • 8-2 [矢量数据结构及基本操作] 第二讲(上) (21:22).mp4
  • 8-3 [矢量数据结构及基本操作] 第二讲(下) (25:33).mp4
  • 9-1 [通过代码实例实现基本的地图操作] 实现添加数据、地图放大、缩小、漫游、全景视图和鹰眼(上) (25:11).mp4
  • 9-2 [通过代码实例实现基本的地图操作] 实现添加数据、地图放大、缩小、漫游、全景视图和鹰眼(下) (26:17).mp4
  • 10-1 [对矢量图层进行SimpleRenderer渲染] 对矢量图层进行SimpleRenderer渲染(上) (20:11).mp4
  • 10-2 [对矢量图层进行SimpleRenderer渲染] 对矢量图层进行SimpleRenderer渲染(下) (19:20).mp4
  • 11-1 [设置图层的透明度、亮度和对比度] 设置图层的透明度、亮度和对比度(上) (10:11).mp4
  • 11-2 [设置图层的透明度、亮度和对比度] 设置图层的透明度、亮度和对比度(下) (13:04).mp4
  • 12-1 [对矢量数据进行属性查询] 对矢量数据进行属性查询(上) (20:11).mp4
  • 12-2 [对矢量数据进行属性查询] 对矢量数据进行属性查询(下) (21:47).mp4
  • 13-1 [用ISpatialFilter接口对矢量数据进行空间位置查询] 矢量数据进行空间位置查询(上) (14:11).mp4
  • 13-2 [用ISpatialFilter接口对矢量数据进行空间位置查询] 矢量数据进行空间位置查询(下) (14:32).mp4
  • 14-1 [通过代码实例实现缓冲区分析] 通过代码实例实现缓冲区分析(上) (13:11).mp4
  • 14-2 [通过代码实例实现缓冲区分析] 通过代码实例实现缓冲区分析(下) (14:55).mp4
  • 15-1 [如何在地图上画点、线、面数据] 如何在地图上画点、线、面数据(上) (15:11).mp4
  • 15-2 [如何在地图上画点、线、面数据] 如何在地图上画点、线、面数据(中) (15:11).mp4
  • 15-3 [如何在地图上画点、线、面数据] 如何在地图上画点、线、面数据(下) (27:13).mp4
  • 16-1 [对矢量数据的字段值进行统计分析] 对矢量数据的字段值进行统计(上) (10:11).mp4
  • 16-2 [对矢量数据的字段值进行统计分析] 对矢量数据的字段值进行统计(下) (13:38).mp4
  • 17-1 [如何快速发现程序运行时的错误] 如何快速发现程序运行时的错误(上) (15:11).mp4
  • 17-2 [如何快速发现程序运行时的错误] 如何快速发现程序运行时的错误(下) (19:04).mp4
  • 18-1 [栅格数据结构及核心接口] 栅格数据结构及核心接口讲解(上) (10:11).mp4
  • 18-2 [栅格数据结构及核心接口] 栅格数据接口及核心接口讲解(下) (11:41).mp4
  • 19-1 [如何统计栅格图层的波段值、行数和列数] 如何统计栅格图层的波段值、行数和列数 (17:54).mp4
  • 20-1 [如何读取栅格像元的值] 如何读取栅格像元的值(上) (22:41).mp4
  • 20-2 [如何读取栅格像元的值] 如何读取栅格像元的值(下) (22:23).mp4
  • 21-1 [如何更改指定像元的值] 如何更改指定像元的值 (18:35).mp4
  • 22-1 [如何对栅格图层进行RGB渲染] 如何对栅格图层进行RGB渲染(上) (10:11).mp4
  • 22-2 [如何对栅格图层进行RGB渲染] 如何对栅格图层进行RGB渲染(下) (11:48).mp4
  • 23-1 [ArcGIS Engine三维开发] ArcGIS Engine三维开发(上) (14:11).mp4
  • 23-2 [ArcGIS Engine三维开发] ArcGIS Engine三维开发(下) (14:36).mp4