学习ArcPy?


Answers:


71

该问题已转换为“社区Wiki”,并且Wiki已锁定,因为它是一个问题的示例,它寻求答案列表,并且似乎很受欢迎,可以防止其被关闭。应该将其视为特殊情况,并且不应将其视为鼓励在此站点或任何Stack Exchange网站上使用的问题类型,但是如果您希望向其中提供更多内容,请随时编辑此答案。


在这里和其他使用Python脚本的网站上查看帖子,并尝试对其进行解构,并查看作者正在使用哪些技术来完成其任务。为此目的,我们值得一提的是有关ArcPy的自组装常见问题解答

您会发现尝试解决他人的问题具有教育意义。我们在ArcPy上提供了一个自组装列表,其中未回答的问题可以帮助您找到它们。

ArcGIS文档:

阅读帮助文件!!90%的ArcPy与使用GUI工具相同,只是使用Python启动它们。帮助文件的底部都有示例Python代码。

在线图书:

在线课程:

教程:

Python文档:

简报:

纸书:

用户社区:

博客:

样例代码:

工具/集成开发环境(IDE)-非商业性:

模块/框架:

使用ArcPymxds导出为pdf的答案中,另请参见针对新Python程序员的这些通用技巧


1
旧问题,但是我是ArcPy的新手,以为我会补充最近对我有帮助的内容。就个人而言,这个YouTube系列节目对我很有帮助。视频很短,我只是在一个晚上以2倍的速度观看了所有视频,以了解ArcPy的工作原理(不必费心做任何练习,只是观看了视频)。[ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1

我也有这本书。这是一个不错的入门介绍,对我当然很有帮助,但是绝对缺少深度和高级主题。尽管如此,我个人还是认为花25美元就能买到它(它的花费不会超过35美元,但这是我的看法)。[ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/… ]
AlexS1

14

我强烈建议阅读使用Python Cookbook编程ArcGIS 10.1

在此处输入图片说明

根据我自己的经验,如果没有最终从Python编程语言中引入更大的概念,就无法严格学习arcpy网站软件包。实际上,我首先尝试采用您不熟悉的方法,在这里我开始使用arcpy站点程序包来自动化ArcGIS中的流程。但是,我很快发现自己在Python文档中进行了分页,以寻找更好的方法来处理诸如with之类的路径os.path.join()。我还发现,通过接受ESRI替代方案,我一直在避免使用功能强大的Python库,例如NumPy和SciPy。总而言之,我将建议以下步骤来学习arcpy站点软件包所称赞的Python基础知识:

  1. 首先:使用PythonWin或PyScripter之类的IDE来完成所有脚本编写!太多的人花了很长时间才意识到他们可以在ArcGIS python窗口之外实现和调试脚本。
  2. 使用Python甚至可以执行最简单的任务。例如,定义工作区并以编程方式创建地理数据库。不要开始创建复杂的脚本。
  3. 最初可以使用arcpy进行所有脚本编写-可以记住,对于许多任务,有更好,更有效的方法。如有必要,请始终使用纯Python寻找更好的选择。
  4. 在此站点上找到用于查询的程序化解决方案。这肯定会帮助您提高自己的能力,因为这会使您面临舒适区以外的问题。
  5. 最后,一旦您相信自己对Python有了很好的了解,就可以参加ESRI的讲师指导课程,例如“ 使用Python进行地理处理脚本简介”。是的,这些课程很昂贵,但它们很有价值,并且确实可以巩固您已经学到的知识。只是如果不掌握主要概念就不要参加其中的一门课程。

6

我经常培训使用ArcMap的人员,我们的培训课程向人们介绍Python和arcpy。我尽力使人们阅读帮助文件!人们不读帮助文件怎么办,这让我发疯!

如果打开任何地理处理工具的帮助文件,它将始终使用该工具提供python代码示例。这是学习如何在Python环境中与arcpy模块进行交互的好方法。

对于初学者来说,它是免费的,并且直接内置在应用程序帮助文件中。当您想做更复杂的事情时,请使用此线程上已整理的资源。


3
这个。是。ArcGIS世界中有很多文档。人们花了大量时间来编写该文档。这是一个有点混乱,我当人通过各具特色的是得到它只是一个文档的链接时,该人可能曾使用搜索引擎,写了一个响应在互联网上长期问题的麻烦显著字数量较少,并转到了相同的帮助页面。
杰森·谢勒


3

我唯一要添加的是在模型构建器中构建某些东西,并将其导出到Python脚本中,以使您了解不同组件如何组合在一起。


7
我对此表示警告。使用此方法需要做很多清理工作(导出程序会插入很多残篇,奇怪的变量名等,并且从ModelBuilder导出时有些功能不起作用),我相信这样做很简单。键入语句和函数会比让工具为您完成更有效地学习。
blah238 2013年

6
一种替代方法是,如果您只想获取函数调用的语法(特别是对于字段映射之类的东西),则右键单击地理处理结果,然后单击“复制为Python代码段”。
blah238 2013年

是的,很公平-如果您只是将几个操作放在一起(可能是几个缓冲区,然后是一个剪辑),这还不错,但是正如您所说的,对于较大的模型,它很快就会变得难看。我也很喜欢将gp脚本复制为代码段的想法。
om_henners 2013年

尚未想到用于字段映射。我将不得不尝试一下。
杰·瓜纳里

1
+1这始终是一个好技巧,特别是在例如需要学习如何将重分类语法集成到脚本中的情况下。
亚伦

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.