注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

快乐小屋

 
 
 

日志

 
 

ArcGIS 10中的ArcPy和Add-ins  

2012-04-25 10:05:36|  分类: ARCGIS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
前段时间在纠结四色问题的时候,曾经打定主意,要用Python实现一个版本,然后做成ArcToolbox里面的工具。当时由于笔记本中只有 ArcGIS 9.3,只好无奈的作罢。现在,回到了学校,就一直在想着如何去兑现这个承诺。一番折腾下来,我不得不面对这个现实,这是一个不可能完成的任务。虽然,我 还不敢百分百的确定,但是基本可以说一句,ArcGIS 10里面的Python还不能完全满足我的需求。在ArcGIS 9.x里面用VBA可以完成的工作,在10里面用Python还有好多做不了。
  刚意识到这点的时候,我还有些不敢相信。既然在好多方面Python还代替不了VBA,那么究竟是什么原因让ESRI义无反顾的抛弃VBA,而主推Python呢?这样的疑惑一直困扰着我,直到我在hmfly的提醒下,去全面接触了一下ArcGIS 10中的Add-in。
  从我的角度来理解,ArcGIS 10里面的Add-in更像是9.x里面VBA的工作方式,而10里的Python的升级和推出更多的不是去代替VBA,而是去专注于另外的一个领域:调用ArcToolbox里面的工具,写脚本。
  我们都知道在ArcGIS 9.x里面,我们习惯于使用VBA去定制化ArcGIS Desktop,添加一些自定义的按钮、工具条等。而在10里面,毫无疑问这种工作方式完全由Add-in所接管。在Arcobjects SDK for ArcGIS 10 help里面的Building add-ins for ArcGIS Desktop中, 提到:ArcGIS 10 introduces several new and innovative features that make it easier for you to customize and extend the ArcGIS Desktop applications, including the new Desktop add-in model。同时,还说到Add-in的类型有很多,比如按钮、组合框、工具条、菜单等,这和VBA又多了几分相似。
  而对于Python来说,则专注的是另外的一个方面。ArcGIS 10里的python比9.x中的有了质的飞跃,ArcPy包封装了足够多的功能。利用ArcPy包,更是能够实现所有ArcToolbox里面的工具的 轻松调用。而且,ArcGIS 10中更是内嵌了Python窗口,让我们可以方便的写python代码。以上提到的这些是arcpy或者python的优势,同时也是其缺点所在。 ArcPy包封装了功能,供我们轻松的调用,但是对于它没有封装的功能,我们就无能为力了。同时,ArcPy包并不能在接口的层次上去实例化对象,这一点 大大的限制了其操作ArcObjects的能力。
  说到这里,差不多可以下结论了。如果我们需要的是自定义一个按钮,或是一个工具条来扩展我们的ArcGIS,那么我们最好的选择便是Add-in。而 如果我们需要的是需要操作ArcToolbox里面的某个或是某几个工作,来重复性的进行某一项工作,那么ArcPy包这是我们最好的选择。
  评论这张
 
阅读(608)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018