我从事专业gis已有很长时间了,将近二十年了,大多数情况下,使用arcinfo / arcgis;我很好。我正在学习软件开发,甚至有一个在公共项目中成功使用的小型python应用程序;我不好!我不想成为一个成熟的软件开发人员,但是我一直遇到我没有编程就无法做的事情(示例)。在arcgis世界中,这使我完全处于python阵营中,这对我来说很好,因为我喜欢python,但是python无法直接访问ArcObjects。 (可以使用Python和ArcObjects,但这是不受支持的路由。这个问题是关于遵循常规的方法。)
我需要开始,但是在哪里呢? Arcgis帮助说要开始使用ESRI开发人员网络,但每年1500美元的预算绝对不在我的预算之内,而且听起来像是用大铁锤拍打蚊子。 NET,Visual Basic或Visual C ++是哪种语言?
更新:谢谢大家的精彩回答。鉴于他们,我意识到
我以为前提是“ ArcObjects”是我需要走的方向,因此我不必要地缩小了我的问题范围。更开放的表述更像是:
我一直遇到我只是用arcgis和python
无法解决的问题。我还能学什么/用来解决X之类的问题?我
没有兴趣或无意成为软件开发人员。我只需要做一些
不会暴露给arcgis python模块的事情。
#1 楼
确保VB.Net加载项。 ESRI步行槽将带您上路。我已经使用VB6和VBA多年了,我个人认为VB相当直观。当然,VB .Net是完全不同的动物,但是加载项结构相对易于学习和部署。我刚在ESRI会议上在ArcPy参加了一个技术研讨会,我不得不说我将坚持使用VB.Net加载项。当很明显VBA将被外接程序替代时,我一直在哭泣,但是在违反学习曲线后,我必须说,这是对ArcGIS 10的唯一最佳改进。使用此设置我无能为力。我到处都有自定义工具。人们在ArcGIS中抱怨的事情我只是根据自己的喜好进行了自定义。编写工具并在办公环境中分发工具轻而易举。
您所需要的就是免费的Visual Studio Express和已安装的SDK。
这里是步行区:http://help.arcgis.com/zh_CN/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/
关于ArcObjects,有如此多的示例和代码片段可以直接添加到Visual Studio中,因此您甚至可以从示例中学习基础知识。
在版本8 ESRI中实际发布ArcObjects书籍; 2本书非常有用,其中包括C和VB的许多示例。现在都可以在网上找到所有内容,但我希望ESRI再次发布这些内容。
评论
在所有方面都同意,buuuuttt,如果您没有以前的VBA / VB6经验,我会说去C#。
–乍得·库珀
2011年4月27日在18:11
是的,我偏爱VB。如果我是一名开发人员并且使用了各种平台,那么我肯定会使用C#,但是我发现(流行观点也是如此)VB在视觉上更清晰,更容易理解,因此更适合初学者。
–雅库布·西萨克地理图形学
11年4月28日在16:47
使用C#时+1。显然,它是行业领导者最喜欢的.NET语言。我曾经将VB和C#用作初学者,但实际上认为它更容易学习和理解。而且它更接近其他基于C的语言,例如JavaScript和Java。
–wilbev
2011年4月29日下午4:51
#2 楼
这是我去年为ArcUser撰写的有关.NET中ArcObjects入门的文章的无耻插件。#3 楼
如果您不想成为一名认真的开发人员,那么我会质疑您迈入编程世界的举动。这里的问题是编写代码时,您应该了解后台发生的事情。否则,由于缺乏理解,您可能会对数据,应用程序甚至计算机无意中做一些事情(是的,您也可以使用Python来做,但是.NET进一步使错误更容易解决。 comimt)。关于您的字段别名的问题(不确定我是否理解正确),您是否要更改要素类中字段的别名?如果是这样,则可以将Featureclass_to_featureclass与字段映射一起使用。是的,它创建了另一个要素类,但是在执行操作时,您可以仅具有一个输出区域来复制数据和更改别名。
正如史蒂夫建议的那样,ArcPy也可以通过新的访问权限来满足ArcGIS 10中的要求地图中的图层属性。
#4 楼
在查看Esri的在线资源时,我不禁注意到ArcObjects如何不像其他ArcGIS技术那样拥有丰富而最新的资源。这就是我启动IGeometry的原因到目前为止,Youtube频道讨论ArcObjects的系列,我称之为ArcObjects的.NET编程,到目前为止已经达到了第14集,许多GIS人士真的从中受益。
该系列基于我创建的一个虚构项目“ Bestaurants”,您必须在ArcMap顶部创建一个应用程序以搜索,管理,添加,删除餐厅。在每一集中,我们都会引入一个新的界面,并以一种有趣的方式来了解ArcObjects中的细粒度对象!
只要有机会,我每周都会发布视频,因为这是我自己的时间。
现在就可以免费签出,并与您可能认识的任何GIS极客共享。始终欢迎您提出改进系列的建议。
谁知道,也许一旦我们完成了这个,我可能会开始另一个系列。
http://www.youtube.com/watch?v=XrZs1rwmOwg&list=PLQnljOFTspQXqYsWJG8o-eJpGlvzww9lE&index=1
#5 楼
您不需要EDN订阅就可以使用ArcObjects开发,也不需要访问SDK文档。http://help.arcgis.com/en/sdk/10.0/arcobjects_net/ao_home.html
评论
但是您确实需要EDN才能访问SDK本身,不是吗?而且,说实话,对于那些对这种开发的本质和毅力不感兴趣的人,将代码从背后拉出来并不是完全的选择。
– Nathanus
2011-4-27在16:31
不,它在安装CD上。
–blah238
2011-4-27 17:02
它随产品的每个版本一起提供吗?
– Nathanus
11年4月27日在17:04
我相信只有主要版本。这些示例也位于联机帮助中,尽管.NET似乎没有这些示例的列表,而Java却有示例:help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine / ...不过,随SDK一起安装的帮助文件更加方便。
–blah238
2011-4-27 17:14
如果您具有ArcGIS Desktop的副本,则不需要EDN订阅即可开发外接程序。 EDN订阅只是一种向开发人员提供ArcGIS堆栈中几乎所有内容的副本而又不消耗更昂贵的生产许可证的方式。如果您完全没有生产许可证,那么EDN也非常适合开发。您不需要EDN即可使用ArcObjects API进行编码和开发。
– JimBarry
11年4月28日在2:56
#6 楼
我对最佳的ArcObjects资源发布了一个类似的问题: 。#7 楼
如果您还不了解arcobjects,我建议您学习arc.py,因为esri正在从vba arcobjects转变为一种脚本语言。否则,您希望Visual Studio和C#开始编写弧对象。这是本好书。 http://www.amazon.com/探索-ArcObjects-Two-Michael-Zeiler / dp / 1589480007#8 楼
关于ArcObjects的新书现已上市(也涵盖了10.1)。使用.NET开始ArcGIS for Desktop Development
#9 楼
宾夕法尼亚州立大学最近免费发布了GIS应用程序开发课程。在VB.NET中讲授ArcObjects的基础知识
#10 楼
您已经说过不想成为一名开发人员,这不是一个真正的答案。我在这里发布的内容是在格式方面优于注释。
这个博客来了,并且在为开发有关arcgis服务器的社区。
它概述了退出ADF的意图,并鼓励拥抱Web服务。
希望它对您的决定有所帮助。
ESRI博客-ArcGISServer
评论
这是来自Stack Overflow(ref)的回收问题,无论出于何种原因,他们都决定不迁移到这里。因此,我再次要求从处于更有利位置的人们那里获得更全面的答案。您可以使用什么软件?我必须承担的ArcGIS。 Visual Studio 2008/2010 Pro / Express?
我拥有ArcGIS 9和10。我尚未选择任何开发软件。