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