我们部门有 2 名新的 GIS 程序员/分析师(编程和 ArcObjects 新手),我觉得自己不够资格或没有时间教他们。所以我正在寻找入门级书籍/教程供他们用作参考。

我能找到的关于开发 ArcMap 扩展的唯一书籍是针对 VBA 编写的。

除了您在雷德兰兹培训中获得的 ESRI 课程书籍之外,是否有人知道学习在 .Net 中针对 ArcObjects 进行编码的良好资源?

谢谢

有帮助吗?

解决方案

尝试向程序员教授 ArcObjects 和一般软件开发是一个非常糟糕的主意。我现在正在努力解决完全相同的问题。您可能会遇到两个开发人员都不太擅长 ArcObjects 和 C# 编程的风险。

首先教他们成为优秀的开发人员。通过让它们处理非 ArcObjects 代码来实现此目的(无论这意味着高级 ArcGIS ADF 还是完整的非 GIS 应用程序都取决于您)。确保他们了解应用程序上下文(Web、桌面、中间等)的基础知识。这将简化向 ArcObjects 的过渡。

一旦他们掌握了软件开发基础知识(特别是继承和 OOP),就向他们介绍 ArcObjects。VBA 参考足够了,但很难抽象为 C# 和现代工具。聪明的开发人员可以做到这一点,但普通开发人员可能会养成很多坏习惯。

最好的选择是硬着头皮将他们送到开发人员研讨会。有时,ESRI 在您可能更本地的地区办事处提供课程。或者,分别将他们发送到春季和夏季的开发者峰会或用户大会。技术研讨会对于初学者来说有点高级。也就是说,如果开发人员对 ArcMap 或 ArcObjects 有非常基本的了解,则可以从研讨会中学到很多东西。

还, 他们需要学习如何使用 ArcMap. 。他们在学习 ArcObjects 时能做的最重要、最有用的事情就是学习 ArcMap。了解它在桌面产品中的工作原理通常可以揭示如何使用 API。一个简单的例子是投影数据。在 ArcMap 中,必须使用工具来显式投影数据。简单地“设置”投影是行不通的。这直接转换为 API,您必须在其中调用“项目”方法或使用项目 GPTool。

其他提示

我同意每个人在这里表达的一般情绪(从编程开始,从小做起,特别是通过示例/做事来学习)。

让开发人员学习ArcObjects比让GIS分析师学习编程要容易得多。你的任务(做两件事)非常困难!

但是,如果你必须从某个地方开始,我首先要用C#或VB .NET基础知识(通过一个很好的基于网络的教程或付费课程)训练它们,然后用ESRI .NET特定培训进行训练。正如我在上面的评论中所说,我对ESRI培训课程印象不深。我有一个软件开发背景,我能够在几个月内学习ArcObjects API - 与两个月的实践知识相比,培训课程在ArcObjects材料上非常基础。不过,它可能适用于学徒,你可能会和你的雇员一起运气。

我还想补充一点,你肯定希望首先强调软件培训,并考虑附带ArcObjects API。如果此ArcMap扩展程序是您打算向人们销售并作为客户销售的产品,那么实现支持,增强和维护错误的产品是一项昂贵的操作。因此,花在软件培训上的任何美元都将在长期内收回成本。

我甚至会告诉你考虑在合同的基础上聘请软件开发人员作为指导和导师,比如六个月。

据我所知,ESRI开发者网络中的一些代码现在使用的是C#,至少这是我用于GIS的C#代码的主要来源,但没有书籍,抱歉。

也许这是一个很好的入门书: http:// www .pragprog.com /标题/ sdgis / GIS换网络的开发

如果您的员工对编程非常陌生,我首先要让他们学习C#(或其他一些.Net语言的基础知识,但C#可能是初学者的方法)和良好的编程习惯。我想象现有的stackoverflow线程会有这方面的建议。我认为对面向对象编程的深刻理解以及了解示例所用语言的语法将有助于学习ArcObjects。

我不太了解ArcObjects上的非ESRI书籍。但是我认为他们的资源足以让初学者入门。除ESRI课程书籍外,我建议您从 http://的在线资源开始。 resources.esri.com/arcgisdesktop/dotnet/index.cfm

其他建议是学习如何阅读对象模型图并使用帮助来探索ArcObjects的方法和属性。还鼓励员工利用ESRI用户论坛。有很多知识渊博的人愿意帮助解决问题。

以身作则。

当我第一次使用简单但有趣的工具开始时,我获得了一些乐趣,例如一个截取当前地图的截图并将其发布到MediaWiki网站(只需点击一下)。很多API看起来都像是Deep Magic,我不止一次偶然发现完全没有文档的功能,只需要浏览Windows注册表并进行有根据的猜测(比如如何在“数据视图”上下文菜单中创建自定义菜单项)。

我总是通过简单,可实现的任务而不是被迫阅读枯燥乏味的书籍来学习更多。

有很多权力,但我在了解和了解其中很多方面肯定很慢。

如果没有让它变得有趣,我认为开发人员会因为API太大而自杀。

也不了解专注于ArcObjects的非ESRI书籍。对于ArcGIS Server软件和我来说,我只推荐ArcGIS Server Administrator和开发人员指南(即AGS安装框中包含的AFAIK) - C#和VB都有许多代码示例。即使不使用AGS编程,示例仍然可用于教育ArcObjects代码的工作方式。

我完全赞同詹姆斯。

作为4年前在这艘船上的人,我坚信你应该从.NET编程开始,然后转向ESRI平台,而不是在尝试学习OOP概念时陷入ESRI问题。

我还想指出,ESRI开发人员资源中心为开发人员提供了大量信息[ http://resources.esri.com/gateway/index.cfm]

如果您从.NET和桌面开发开始,您可以在[ http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/concepts_start.htm]

祝你好运。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top