【教学】arcpy教学专题
2024-08-11 08:23:52 0 举报
AI智能生成
"ArcPy教学专题"是一个致力于教授用户使用ArcPy进行地理空间数据处理和分析的教程。ArcPy是ESRI公司的 ArcGIS平台中一个用于Python编程的库,它使得用户可以通过编写脚本来自动执行GIS任务。在这个专题中,我们将深入探讨ArcPy的基础知识,包括如何使用Python脚本来创建、读取、更新和删除地理数据集,以及如何使用ArcPy进行地理处理和分析。无论你是GIS专业人士,还是Python编程爱好者,这个专题都将帮助你掌握使用ArcPy的基本技能,提高你的工作效率。
作者其他创作
大纲/内容
arcpy教学专题
科学:知识体系技术:操作技能工程:场景实操
认:知识体系知:应用场景行:实验实践
功能的基本原理--数学原理?比如叠加分析其原理是集合的代数运算空间查询其实是空间对象的拓扑关系运算
关于ArcGIS工具学习的一点小心得
GIS功能的实现/使用方式1)软件操作(包括专业软件和开源软件、轻量级软件)2)建模方式(比如arcgis中的model builder,现在的代码块)3)脚本编程*(适合智能时代,向在线云计算方向发展)4)程序定制(软件开发)
GIS功能的应用场景:解决实际问题中功能的具体应用比如:选址中的网络分析,土地利用中的栅格分析....因此:能够结合实际问题,梳理需求,提出解决方案,细化业务逻辑,再用GIS功能实现....才是GISer的基本素养
GIS功能的学习之路从面向教程转为面向场景
认-知-行 三位一体科学-技术-工程三位一体
专题学习的基本方法
ArcPy 由一系列模块支持,包括数据访问模块 (arcpy.da)、制图模块 (arcpy.mp)、ArcGIS Spatial Analyst 扩展模块 模块 (arcpy.sa) 以及 ArcGIS Network Analyst 扩展模块 模块 (arcpy.na)。
要点:arcpy是按工具、函数、类和模块来进行组织
ArcPy入门相关知识--使用工具、函数、类、模块
从 ArcGIS 走向 ArcGIS Pro,ArcPy 的使用差别
Arcpy升级到ArcGIS Pro
ArcGIS Pro和ArcMap的arcpy区别
提示:把该帮助文件的链接注释到 import arcpy语句边,随时查用
小提示:里面自带的搜索用的是英文版,查找相应的函数时尽量用英文,找到后再把网址中的en改为zh-cn
arcpy帮助手册(arcgis pro)
arcpy帮助手册(arcgis 10.x)
arcpy脚本的几种编写环境:1)gis桌面版自带的python窗口:命令行方式,适合在桌面版环境内部使用2)arcgis自带的idle开发工具font color=\"#e74f4c\
Arcpy的三种使用方式
Arcpy介绍和安装
arcpy+pycharm
notebook中使用的一些简单要点.txt
notebook中使用的一些简单要点
aprx工程文件及目录.png
aprx工程文件及目录
arcgis pro中arcpy的三种使用方式.txt
arcgis pro中arcpy的三种使用方式
使用Arcgis pro要点:1.统一用工程文件.aprx来进行资源管理(包括数据源、数据文件、地图/布局、工具箱、notebook等),与文件夹对应并统一管理(养成这种项目管理习惯)2.在arcgis pro下面书写python代码,用笔记本Notebook的方式3.notebook的编辑和命令模式,代码和标记格式4.markdown标记格式的一些书写方法
arcgis pro notebook笔记本
arcpy的开发环境
从 10.x 到 ArcGIS Pro 的 Python 迁移
从 arcpy.mapping 迁移至 ArcGIS Pro
Arcpy升级到ArcGIS Pro很多代码的写法不同了,特别是mp模块
arcpy概述&环境配置
“数据”的不同的层次:1)物理层面的数据文件,数据库:如shp文件/gdb数据库2)逻辑层面的数据对象:参考arcgis geodatabase模型 如:工作空间workspace,地图map,图层layer,要素集......3)arcpy中的编程对象:如地图对象vsmap,在不同的应用环境中,清晰的使用具体的“数据”概念
“数据”的处理过程:1)软件操作时数据的输入,处理,输出.....比如:加载shp文件,得到要素集对象,再打开关联的属性表,查看记录(行)和字段(列)2)脚本编程时,对应软件操作过程,得到数据的处理流程比如:加载shp文件对应语句?得到要素集语句?列出行和列的语句--游标的操作?
GIS的数据基础
GIS功能的基本原理特别是数学原理
地处理工具arctoolbox(*.tbx)
model builder建模
arcpy脚本
实例说明
GIS功能的使用方式输入输出参数--工具的option选项--arcpy的核心方法参数
GIS软件操作基础
程序语言的基础: 变量 数据类型(python的组合类型是重点) 输入和输出 流程控制三大结构 函数 面向对象(属性、事件、方法)
三大结构:顺序分支循环
try-except 语句
with语句(块语句)with arcpy.da.searchcursor() as cursor:
流程控制
点密度 工具/函数的帮助文档提问:如何看函数原型,如何构造和传递参数
arcpy编程基础[地处理工具右上角?号][运行:复制python命令]
手册在身边,会查会看核心方法(函数)能够看得懂函数原型:(可以把工具或函数的在线帮助网址注释到代码中)1)函数名及其功能2)参数:参数名,参数的数据类型,参数意义,顺序,输入/输出3)函数的返回值(得到什么)重点:看懂原型后,如何构造实际参数,传递实际参数
容易出错地方:1)路径设置问题:\\是python的转义字符路径前加r进行转义,或用\\\\
容易出错地方:2)理解参数传递的方式a.将值直接作为实参传递(python窗口方式)b.先定义形参进行赋值,再进行传递c.用形参=实参的方式(一定要注意形参的命名)
arcpy的编程基础(其中某功能的实现):1)调包 import arcpyfrom arcpy import envfrom arcpy.sa import *2)设置工作空间(如需,实则是统一数据源所在的路径)env.workspace = r\"C:/sapyexamples/data\"3)构造参数,赋值实参(理解python窗口和独立脚本传参方式的区别)inFeatures = \"rec_sites.shp\"populationField = \"NONE\
脚本编程基础
一些基础知识
实验数据
码农设计师 公众号 ArcGIS工具箱 系列【参考其原理和软件操作转arcpy脚本】
《实用主义学ArcGIS》系列文章配套数据
码农设计师 公众号 实用主义学ArcGIS
2023年地理空间领域最火的11个Python包
gitee.com开源系列城市空间数据分析初学者学习笔记
一、Arcpy介绍和安装【ArcGIS Python系列】
知乎
Renhai实验室 ArcGIS Python系列
教材案例 《面向ArcGIS的Python脚本编程》,在线阅读【含数据下载链接】:百度云盘链接: https://pan.baidu.com/s/1ht2v7U0 密码: pypy
ArcGIS中不可不知的Python技术(PPT可下载)
ArcGIS平台中的Python开发面面观
ArcGIS API for Python
基础内容:Python in ArcGIS
用ArcGIS Pro和Python重塑你的数据世界
Ai尚研修科研技术服务平台
基于Python的GIS开发与应用实战营
培训机构的课程参考
arcpy中文帮助(10.2)
arcpy中文帮助(arcgis pro 3.2)
arcpy学习入门(1)
arcpy基础入门
B站 arcpy基础教程
B站 Arcpy编程开发(从小白到大神)
arcpy基础教程
ArcPy+JuputerNotebook环境配置.pdf
ArcPy专题一:栅格数据的处理技术文档.pdf
ArcPy专题二:矢量数据的处理技术文档 .pdf
ArcPy专题二:矢量数据的处理技术文档.pdf
ArcPy专题三:批量与精细化制图技术文档(终) .pdf
203080014_王国熙_Arcpy实验二报告.pdf
师兄实验报告
2020级课程讲稿整理(上).pdf
课程讲稿整理(上 arcgis版).pdf
2020级课程讲稿整理(下).pdf
课程讲稿整理(下 arcgis版).pdf
基于GWR模型的建成环境对共享单车出行影响机制研究(三稿).pdf
基于GWR模型的建成环境对共享单车出行影响机制研究
基于ArcPy的专题地图批量制图工具设计.pdf
基于ArcPy的专题地图批量制图工具设计
农村地籍调查.pdf
农村地籍调查
相关毕设
团队教程作品
综合教程
教学的目的是什么:1.追求教学相长2.与学生开展基于项目的团队合作3.关键是达成合作共识,聚焦解决实际问题4.能够清晰的表达学习方法、学习路径以及预期的学习目标5.基础薄弱客观条件下的 “技能特训”--坚持以上操作看是否能让学生形式自己的“学习节奏/风格”
开源精神?
信创?
职业素养/专业技能
思政点的思考
开放科学背景下“Pytho...与开源GIS”课程教学探索_刘星根.pdf
开放科学背景下“Python 与开源 GIS”课程教学探索
地理信息科学专业Pytho...程序课程设计与开课效果分析_张黎明.pdf
地理信息科学专业 Python 程序课程设计与开课效果分析
Python软件在地理信息...遥感数字图像处理”课程为例_韩瑛.pdf
Python 软件在地理信息科学专业课程教学中的应用
泛在测绘背景下空间数据库课程改革与实践.pdf
泛在测绘背景下空间数据库课程改革与实践
空间大数据时代GIS二次开发的教学改革研究与实践(arcpy).pdf
空间大数据时代GIS二次开发的教学改革研究与实践(arcpy)
PBL项目教学(分专题)同行的教学参考
提示语的编写:1明确具体的条件,2明确你想让AI执行的具体操作方案,3你希望得到的具体的结果及结果形式
坚持“提示词”训练
以arcpy使用手册为参照,写提示词与AI一起编写代码,调试代码.....如何认识到AI的幻觉问题
kimi arcpy编程助手提示词参考(对话分享)
通义千问 arcpy编程助手提示词参考(对话分享)
对于AIGC的使用(支持)
《Python与开源GIS》配套资源(2020年11月更新)
参考:Python 与开源 GIS : 数据处理、空间分析与地图制图科学出版社
[Python与开源GIS]免费Jupyter在线计算环境为了方便学习,OSGeo中国中心搭建了Jupyter服务供大家使用,免除了搭建环境的麻烦。地址:http://121.42.45.218:8000/用户名:各人可随便输入,但应避免与别人冲突密码:pygis注意:免费Jupyter服务仅供学习使用,相关信息不会保存,在每周一凌晨3:20服务器
定位:基于python的GIS设计与开发(arcpy只是其中一个第三方包而已)==》以后一定是往开源的python包围绕GIS功能实现进行课程教学(教程准备)
ArcGIS Python 库
ArcGIS API for Python
ArcGIS API for Python学习笔记(二)
如何使用ArcGIS API for Python训练深度学习模型
是否还考虑“基于Arcgis Python API的服务端/Web端的开发”的应用教学?
基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化
Python在遥感图像处理中的应用,特别是基于AI的应用(深度学习+遥感图像)(大模型+遥感)
城市空间数据分析方法——PYTHON语言实现
面向定量城市研究的Python
考虑是否开设“基于Python的空间大数据分析”专业任选课?
课程以后发展思考
教学总结反思
CC工具箱1.3.0
跑路规划gis工具箱
作品分享地址
KKTools工具箱Pro版 使用手册
学学GIS 整理的 ArcGIS Pro脚本工具大放送
......
一些商业作品参考
arcgis 制图 三大文件对象操作
ArcGis中的要素数据格式
批量合并不同文件目录同名SHP文件
将WKT转为gdb文件和shp文件
合并文件夹下的所有shp文件
将shp文件和gdb文件转换为GeoJSON
mdb地理数据库结构解析和gdb库的创建
GDB数据库的读、写,并将实现方式与ArcGIS环境共存配置
三种方式实现GDB数据库的读、写
mdb转gdb实现过程介绍(扩展)
mdb(个人地理数据库)转shape file其实并不简单
写入GDB数据
读取GDB数据
创建GDB数据CreateFileGDB_management函数
生产中常见案例
arcgis中常用的数据文件和数据库思考:有哪些常见的文件操作场景
比如:arcgis pro的工程文件统一管理:数据源/地图/布局/笔记本....比如用file.gdb文件数据源统一管理各种 数据集(要素集)shp文件是由一系列的数据/投影/属性等文件组成的
理解数据文件之间的包含关系
制图对象之间关系
比如:制图过程中的对象关系工程文件对象arpx--布局对象layout--地图框--地图map---图层layer,各种元素记得 list*类函数的使用
理解数据对象之间的包含关系
检查数据是否存在
检查数据是否存在arcpy.Exists()函数
在 Python 中验证表和字段名称
Describe 对象属性
描述函数arcpy.Describe() 和 arcpy.da.Describe()
必须先设置工作空间环境,然后才能使用多个列表函数,包括 ListDatasets、ListFeatureClasses、ListFiles、ListRasters、ListTables 和 ListWorkspaces。
ListFields
ListRasters
列出数据
arcgis对数据对象的组织和管理思考:应用中包含哪些对象,定义,赋值
专题1 数据的组织管理
ArcPy数据访问模块
ArcGIS二次开发Python(arcpy)指南(五):你不知道的属性表游标本质和应用
ArcGIS Pro Python脚本学习:处理空间数据之使用游标访问数据
游标对象就是通过执行游标方法而获得的游标对象实例,(可以理解为一个包含行和列的临时表)使用游标对象可以获取属性表数据(包括几何属性)。
第一个参数输入要素类、图层、表或表视图;第二个参数输入字段名称或者令牌,虽然令牌这个说法可能看起来比较怪,其主要用于获取属性表中没有的信息,比如几何的质心、周长、面积等第三个参数是条件表达式
SearchCursor查询、条件查询
理解前三个参数
SearchCursor 函数用于在要素类或表上建立只读游标。SearchCursor 可用于遍历行对象并提取字段值。可以使用 where 子句或字段限制搜索,并对结果排序。
更新游标有两个自带的独特方法:deleteRow ():删除当前行。updateRow (row):更新表中的当前行
ArcPy入门(5)-数据的更新
UpdateCursor更新shapefile字段数据
小图斑处理
数据重新分类
利用arcpy实现对要素shapefile数据的字段数据值空和空白的统计
基于arcpy完成立地因子四至点提取
ArcPy批量更新图形面积
insertRow (row):向表中插入一行。
ArcPy InsertCursor 插入多边形几何及非属性数据
通过arcpy创建shp文件
ArcGis图层属性表中字段内容的汇总
arcpy.ListFields()
arcpy.AddField_management
arcpy.DeleteField_management
arcpy.AlterField_management
arcpy.CalculateField_management
字段列表、字段创建、字段删除
ArcPy实现从1开始编号
ArcPy实现自北向南-自西向东编号
Excel表批量赋值到ArcGIS属性表
利用arcpy实现在arcgis中对字段的删除
生产应用
fieldfield得到的是包含Field对象的列表,Field对象具有字段名称、别名、长度、精度等属性信息
ArcGIS开发&点(point)、线(polyline)、面(polygon)游标(Cursor)中的令牌
特殊列的表示:令牌
FieldInfo属性:# count:field的数量# FieldInfo常用方法:# findFieldByName (field_name):返回field_name的索引# getFieldName (index):返回索引index处字段名称# removeField (index):删除索引index处字段
fieldinfo对layer的属性字段操作需要用到FieldInfo类
ArcPY系列之三(字段计算)
字段计算器
利用arcpy实现arcgis中字段自动编号(pycharm导入arcpy站点包,字段创建、更新与写值)
excel转点、创建表
ArcPy将中文字段自动转为首字母
ArcPy实现图斑分组编号
相关应用
字段相关的对象相关操作(包含令牌)
arcpy行列(游标)操作.ipynb
课堂案例
专题2 游标的操作(arcpy.da)
脚本中得到工程对象的两种方式:# 方式一,文件路径aprx = arcpy.mp.ArcGISProject(r\"D:/arcpy制图/Study.aprx\") # 方式二 适用于程序内运行的脚本CURRENTaprx = arcpy.mp.ArcGISProject(\"CURRENT\")
如何导入ArcMap的地图文档(.mxd文件)?arcgis中原有的地图文档导入ArcGISProject.importDocument
ArcGIS Pro中的工程arcpy中的工程对象aprx为mp模块的ArcGISProject类
脚本中如何得到地图对象?
列出现有地图中的所有图层
图层类型的判断
生产场景:图层对象数据源丢失的问题layer.updateConnectionProperties()
地图包含多个图层layer(图层对象)
地图对象map地图标签的名字即为map的name属性
使用 ArcGISProject 对象上的 listLayouts 方法访问布局
MapFrame 地图框元素注意地图框中一系列的输出方法exportTo*()方法
LegendElement图例元素items属性,遍历图例项并修改其属性
TextElement 文本元素/标注text属性,与元素关联的文本字符串。
可以通过 listElements 方法访问页面布局上的所有元素:GraphicElement、GroupElement、LegendElement、MapFrameElement、MapSurroundElement、PictureElement 和 TextElement得到相应的元素后再进行设置
Layout 对象可访问多个 exportTo 方法
布局对象layout
arcpy制图相关概念.ipynb
课堂实例
制图相关的对象
arcpy自动制图实战(arcpy.mapping迁移至arcpy.mp)更换不同数据源达到自动化制图目的
查询或选择不同的数据要素(更新到图层),从而达到批量制图layer.updateConnectionProperties()
arcpy批量出图.ipynb
显示/隐藏不同的图层(和图例项),从而达到自动化制图目标
arcpy地图序列(原数据驱动).ipynb
ArcGIS Pro中的数据驱动与Arcpy编程驱动
(arcgis版)各种自动化出图场景脚本总结(富才师兄)
ArcGIS Pro地图册制作(动态文本、动态表格、动态图片等),
制图方案(过程)制图应用场景
专题3 制图(arcpy.mp)
ArcGIS栅格值更换+图层标识(栅格数据的一般操作方法)
ArcGIS Spatial Analyst 工具箱简介理解工具--脚本函数的一一对应
spatial analyst工具介绍
处理栅格数据(基础概念)
栅格文件基本概念.ipynb
ArcPy与栅格(Raster)栅格对象栅格文件栅格数据集
栅格基本介绍、sa与ia模块介绍、Raster对象、栅格属性描述、栅格列表
ArcGIS Pro Python脚本学习-处理栅格
栅格计算器
条件分析函数Con()思考:在土地利用变化分析中的应用
LUCC计算.ipynb
栅格计算 地图代数运算地图代数——栅格计算器
重分类
重分类——分割
栅格重分类
坡度变率
坡度
坡向变率
坡向
曲率
Arcpy批量生成坡度和坡向
软件操作:坡度、坡向、曲率
等值线
等值线列表
含障碍的等值线(计曲线)
软件操作:等值线
挖方填方
软件操作:填挖方
山体阴影
软件操作:山体阴影(制作地貌渲染图)
地面粗糙度
地形起伏度
山顶点提取邻域分析->地图代数->重分类->栅格转点
利用水文分析方法提取山脊线和山谷线(ArcPy实现)
表面分析.ipynb
3.3-表面分析.pdf
软件教程
DEM分析 表面分析
栅格统计
脚本:点密度
软件操作:点密度
脚本:核密度
软件操作:核密度
脚本:线密度
软件操作:线密度
密度分析.ipynb
3.5-密度制图.pdf
密度分析(制图)软件操作
脚本:趋势面分析
软件:趋势面法(全局分析)
脚本:IDW
软件:反距离权重法IDW
脚本:自然邻域法
软件:自然邻域法
脚本:样条函数法
软件:样条函数法
脚本:克里金法
软件:克里金法
空间插值.ipynb
3.6-栅格插值.pdf
插值分析
脚本:欧氏距离
脚本:欧氏分配
软件操作:欧氏距离 欧氏分配欧氏方向 欧氏反向
路径距离分析包括路径距离、路径距离分配路径距离回溯链接三个工具。
脚本:路径距离
脚本:路径距离分配
脚本:路径距离回溯链接
软件操作:路径距离
脚本:成本距离
软件操作:成本距离
脚本:成本路径
软件操作:成本路径
软件操作:成本分配
软件操作:成本连通性
软件操作:廊道分析
3.4-距离制图.pdf
距离分析
局部分析
焦点统计
块统计
邻域分析
区域分析
水分分析
#查看栅格数据的基本信息 describe()
软件:利用ArcMap10.4进行遥感影像的镶嵌和裁剪
建模:用ArcGIS模型构建器实现批量裁剪影像
脚本:按掩膜提取 (Spatial Analyst)
模型:构建器实现批量按掩膜提取影像
ArcPy批量掩膜、批量重采样栅格图像
脚本:裁剪栅格 (数据管理)
#批量裁剪案例(不同年份的遥感影像)arcpy.management.Clip()
脚本:镶嵌至新栅格 (数据管理)MosaicToNewRaster
脚本:镶嵌(数据管理)Mosaic
#数据管理工具management遥感影像镶嵌拼接工具为“镶嵌至新栅格”
脚本:
影像处理,例如镶嵌校正、空间滤波等
栅格数据裁剪拼接.ipynb
栅格文件的裁剪和拼接
彩色合成
软件操作:遥感影像进行波段合成(2种方法)和波段提取(3种方法)
脚本 波段合成:只针对分波段栅格数据
脚本 波段提取:从多波段栅格中提取一个或多个波段或在多波段栅格中对波段进行重新排序来创建栅格对象
脚本 直接使用相关的指数函数进行指数计算比如:NDVI
波段合成(波段计算)
波段和指数计算.ipynb
波段和通道
栅格数据处理的应用场景栅格和影像
专题4 空间分析(arcpy.sa/ia)
理解工具与函数的区别与联系: 工具的记录方式与函数不同。每个工具在 ArcGIS Desktop 帮助系统中都有自己的工具参考页面。函数则记录在 ArcPy 文档中。 工具会返回 Result 对象;而函数不会。 工具会生成可通过各种函数(如 GetMessages())进行访问的消息。函数不会生成消息。 工具按产品级别(ArcGIS for Desktop Basic、Standard 或 Advanced)和扩展模块(ArcGIS Network Analyst 扩展模块、ArcGIS Spatial Analyst 扩展模块 等)进行授权。您可以在工具参考页面上查找所需的许可等级。不对函数进行授权 - 它们随 ArcPy 一起安装。
ArcGIS Pro Python脚本学习-调试和处理错误
工具箱、函数、工具类、
AddError
注意事项
AddMessage
GetMessage
GetMessages ({severity})
消息和错误机制如何与try...except配合使用
如何自制一个ArcGIS工具箱(ArcPy和模型构建器的使用)
ArcGIS二次开发Python(arcpy)指南(七):你也可以制作ArcGIS工具箱
GetParameterAsText
GetParameter()和GetParameterAsText()的区别
基于arcgis的Python----创建自定义地理处理工具
基于arcgis的Python----使用脚本执行地理处理工具课本实例
ArcGIS将Python程序脚本创建为工具箱与自定义工具的方法
ArcGIS:工具、模型和脚本
Model Builder:如何创建自定义工具箱并导出为Python脚本
ArcPy入门(10)-调用Model Builder创建的工具
ArcPy入门(11)-从Arcpy创建工具
重点:工具与函数的区别与联系
了解ArcGIS工具的类型
使用Arcpy处理地理数据的基本步骤
自制一个ArcGIS工具箱(ArcPy和模型构建器的使用)
利用ArcPy制作一个导出地图的脚本工具
ArcGIS批量导出地图(制作ArcPy脚本工具,arcgis版本)
ArcGIS Pro 教程:从独立的 Python 文件创建脚本工具
arcpy工具进阶
专题5 工具的开发
使用Arcpy自定义曲线线段替换为线段的实现
应用实例
arcgis pro中的网络分析
专题6 网络分析(arcpy.nax)
收藏
0 条评论
回复 删除
下一页