ArcGIS中的Python入门知识点整理

在这里插入图片描述

关于Arcpy大家应该都比较熟悉,Python用的好,数据处理快又好!在ArcGIS中ArcPy是一个以成功的arcgisscripting模块为基础并继承了arcgisscripting功能进而构建而成的站点包。

目的是为以实用高效的方式通过Python执行地理数据分析、数据转换、数据管理和地图自动化创建基础。ArcPy提供了丰富纯正的Python体验,具有代码自动完成功能。今天我们就看看关于Arcpy相关处理的使用,通过一些简单代码与大家一起认识Arcpy。

一、使用什么编译器?

1.ArcGIS在安装的时候已经自动安装了相应版本的Python,直接在【开始】菜单中找得arcgis的安装路径,下来找到【IDLE(Python GUI)】这个图形用户界面双击即可,如下图所示:
在这里插入图片描述

这时候会弹出一个叫Python shell的窗口,shell其实是一个接受由键盘输入的命令,并将其传递给操作系统来执行的程序。这时候我们在这个窗口输入带啊吗是无效的,这个窗口其实是用来显示代码运行的结果或者错误提示信息,那么在那里输入代码呢?【File】-【New Window】即可。

在这里插入图片描述

这时候在新弹出的窗口【Untitled】就可以进行代码的书写啦,书写完毕后点击菜单栏上面的【Run】-【Run Model】就可以保存为.py文件后运行代码了。(不过貌似没有代码提示功能哦…)

在这里插入图片描述

2.使用ArcMap桌面版里面的编辑器。首先打开ArcMap后,点击菜单栏上面的【Python】窗口,如下图所示:

在这里插入图片描述

在打开的界面中左键选择【Format】可以来设置窗体中的字体和文本颜色。窗体提供了黑白两个主题,我个人比较比较喜欢黑色哦。这个界面左边用来编写代码和显示运行结果以及错误信息,右边也可以提示错误信息,如下图所示:

在这里插入图片描述

  1. 当然还可以使用第三方编译器,比如Pycharm,只要在设置中指定Python解释器为arcgis安装时附带的Python.exe就可以正常的导入相关包,开始享受舒适的编写环境了,运行代码不用打开GIS软件。

在这里插入图片描述

二、Arcpy具体怎么写?

直接上代码吧,里面有了很详细的注释啦,还不明白的可以留言哦。

  1. 实现矢量裁剪效果:

如下图所示,蓝色的区域是【长沙市.shp】数据,黄色的是【长沙市建成区.shp】数据:

在这里插入图片描述

为了让【长沙市建成区.shp】来裁剪【长沙市.shp】,我输入了如下代码:

在这里插入图片描述

这段代码就是非常简单的使用了arcmap中的【裁剪】工具,如下图所示,工具打开需要3个必要参数。

在这里插入图片描述

打开下面的【工具帮助】也可以看到对【Clip_analysis】方法的语法解释以及一些简单的实现例子,使用其他函数方法时都可以这样参照学习了解,如下图所示:

在这里插入图片描述

运行这段代码的时候我是没有打开arcmap软件的,运行之后再打开看看,可以看到在D盘下面的【ArcpyBook】文件夹下面没有生成【clip.shp】文件,不急,右键【ArcpyBook】文件夹点击【刷新】,这时候子目录多了一个矢量数据【clip.shp】,将其拖入数据框中可以发现和【长沙市建成区.shp】一样。

在这里插入图片描述

  1. 对之前生成的裁剪对象做缓冲区分析:

在这里插入图片描述

刷新后拖拽到数据框如下图所示:

在这里插入图片描述

  1. 按位置选择要素(intersect):

按位置高亮选中前面生成的缓冲区范围内的公司点要素,并且在控制台输出被选中的点要素数量,【公司点.shp】数据如下图所示:

在这里插入图片描述

相关代码如下图所示:
在这里插入图片描述

针对方法【arcpy.MakeFeatureLayer_management(a,b)】我在这里多说一下,这个方法相当于将文件夹中的一份数据a临时复制到内容列表中命名为b,如果在第3方编译器中书写代码,这个是不会显示b到内容列表中,并且使用多次该方法,b的命名可以是一样的。但是如果采用前面说到的第2种方法进行书写代码,每一次调用该方法都要求这个b命名不一样,否则就会报错已存在该要素。

运行完代码后控制台输出了被选中的点要素数量,但是在arcmap这边却是没有被高亮选中,为此我们可以使用前面介绍的第2种方法进行代码的书写。

在这里插入图片描述

输出结果如下所示:

在这里插入图片描述

可以看到内容列表中多了一个【GSD】的临时数据,它和下面的【公司点.shp】存储路径是一模一样的。
在这里插入图片描述

源码如下:(文末有下方源代码下载链接)

在这里插入图片描述

  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值