• 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】存储路径是一模一样的。
    在这里插入图片描述

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

    在这里插入图片描述

  • 相关阅读:
    如何创建 robots.txt 文件?
    ShanDong Multi-University Training #3
    第17章 标准库特殊设施【C++】
    #Java的语法糖
    什么是线程的拒绝策略&&核心线程数打满后就直接创建新线程吗
    Java网络编程1
    线程(Thread)基本用法
    小程序自定义组件以及组件传值的简单总结
    纯CSS3实现萧瑟深秋中律动的音乐之火
    GAN详解,公式推导解读,详细到每一步的理论推导
  • 原文地址:https://blog.csdn.net/qq_43173805/article/details/127706212