没有合适的资源?快使用搜索试试~ 我知道了~
[初学入门]ArcGIS中Python脚本学习
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 42 浏览量
2022-06-28
13:42:45
上传
评论
收藏 1.07MB PDF 举报
温馨提示
试读
34页
[初学入门]ArcGIS中Python脚本学习
资源推荐
资源详情
资源评论
1 / 33
[初学入门]ArcGIS 中 Python 脚本的使用
By:飞天小猪
目录
写在前面的话 .................................................................................................................................... 2
前言 ................................................................................................................................................... 2
一、PYTHON 语言基础 ..................................................................................................................... 3
1 数学运算符 ....................................................................................................................................... 3
2 字符串操作 ....................................................................................................................................... 4
3 模块的使用(MODULES) ................................................................................................................. 5
4 使用 DEF 构建函数 ............................................................................................................................ 6
5 流程控制结构:IF,WHILE,FOR ...................................................................................................... 7
6 简单输入和输出 ............................................................................................................................... 9
二、ARCGIS&PYTHON ..................................................................................................................... 10
1 如何创建地理处理对象(GEOPROCESSOR OBJECT) .......................................................................... 10
2 获取地理处理帮助 ......................................................................................................................... 11
2.1
举例:如何使用
Geoprocessor Programming Model
中的
Lists ............................................ 11
3 使用地理处理工具——TOOLBOXES 和 ALIASES ................................................................................. 12
4 在建模中使用脚本(SCRIPTS IN MODELBUILDER) ............................................................................ 13
5 在 PYTHONWIN 里调试地理处理脚本 ............................................................................................. 19
5.1
调试选择和消息
..................................................................................................................... 20
5.2PythonWin
的调试工具
............................................................................................................ 21
5.3
地理处理工具举例
.................................................................................................................. 22
6 使用描述(DESCRIBE)和存在(EXISTS)获取数据信息 ............................................................... 22
6.1
描述
.......................................................................................................................................... 23
6.2
存在(
Exists
)
......................................................................................................................... 24
6.3
在循环中使用描述和存在
...................................................................................................... 24
7 在 PYTHON 脚本中使用地图代数(MAP ALGEBRA) ........................................................................ 27
8 数据管理和指针(DATA MANAGEMENT AND CURSORS) ..................................................................... 28
8.1
数据管理(
Data Management
)
........................................................................................... 28
8.2
指针(
Cursors
)
...................................................................................................................... 29
附录 1:地理处理脚本中输入&输出方法指南 .............................................................................. 32
附录 2:其他 ................................................................................................................................... 33
2 / 33
写在前面的话
一直想学习 ArcGIS 中的 Python 脚本,大四下半学期终于有了时间,可是想找到这么一
本好的教材不容易。茫茫互联网,终于找到了旧金山州立大学 Jerry Davis 教授的个人主页,
对其中《Geoprocessing Scripts With Python》如获至宝,独乐乐不如众乐乐,现在将其教程
翻译并结合自己的学习情况给出总结。希望能够给更多想学习 Python 的同学一个参考。
另外,在我刚开始接触 Python 时,是看了台湾辅仁大学一位老师的视频课件,在此致
谢。
我想从两个大部分总结:一、Python 语言基础;二、ArcGIS&Python。其中第一部分参
考了《Python 精要参考(第二版)》、《Python 编程金典(读书笔记)》等书籍文献。对于多
数读者来说,可能或多或少有一些编程基础,所以理解起来应该不成问题。
文中多数数据来自 Jerry Davis 教授的主页,放在“C:\prog”目录下,为了直观,我将运
算结果一并编辑,方便参考。
值得一提的是 ArcGIS 的在线帮助文档,一个实时更新的 GIS 宝库,很多专业性知识都可
以找到答案,点击链接 ArcGIS10 中文帮助、ArcGIS9.3.1 或 9.3 英文帮助。 获取更过脚本例
子来学习 :ESRI 的地理处理模型和脚本工具库是个不错的选择。
由于我也是初次接触,翻译或者心得难免有纰漏之处,希望同仁们可以多多交流!
前言
在 GIS 建模或 GIS 数据管理中,你可能经常需要处理一系列步骤才可以完成的工作;你
可能有一个工作目录下的数据需要重投影、裁剪到研究区域,或者用某种方法组合成期望的
结果;我们也经常需要根据不同情形用不同方法处理数据,因此我们需要作出选择,而高质
量的决策需要考虑很多低水平的决策,这可以通过脚本程序模型辅助完成。
脚本编程的主要目的是使枯燥的处理数据工作自动化,通过逻辑来指挥处理过程。我想
自动化和逻辑是关键,它们区别于我们多数使用计算机时的交互活动。我们发 E-mail,写文
章或者设计地图,都需要和计算机交互,而处理一系列数据,我们需要自动化和利用逻辑来
指导自动化。
在地理处理脚本逻辑中,我们需要在允许我们做的事情中作出决定,比如,处理栅格数
据不同于矢量数据,或为没投影的数据设置投影,或处理仅在特定时间搜集的数据集。对于
重要的 GIS 工作来说,脚本以及其他形式的程序是必需的,而非可有可无。
在接下来的联系中,我们会探索 Python 的使用以及创建脚本来使用 ArcGIS 里众多的地
理处理工具。所有你能在 ArcToolbox 或 Model 中使用的工具都能够用在 Python 脚本中,这
些脚本可以生成脚本工具,像其他地理处理工具一样使用。
3 / 33
一、Python 语言基础
安装 PythonWin,在…\ArcGisDesktop9.3.iso\Desktop\PythonWin 目录下可以找到
PythonWin 的安装程序,默认
是 不 安 装 的 ,
。同时会安装 win32com 以及
允许任何脚本在基于 Dispatch
的 地 理 处 理 过 程 中 工 作 。
ArcGIS10 中 引 入 了 全 新 的
Python Window 来增强内嵌的
Python 体验。
警 告 : 不要尝试更新随
ArcGIS安装的 Python到一个新
的版本!
下面介绍Python的一些简
单语法和规则。
1 数学运算符
Python 提供了多样化的通用数学运算符——多数编程语言的特征,以及许多通过
import 的 modules 提供的符号。常用的有+,-,*,/,**(幂),%(取模,即除后的余数)。
下面的表格显示了整型(Integer)和浮点型(Float)各种组合运算的结果,记住一
条规则,只要参与运算的有浮点型,则结果为浮点型;全为整型时,结果才为整型。
4 / 33
输入表达式
结果
Notes
2+3
5
整型结果
2.+3
5.0
2.是浮点型,结果浮点型
2-3
-1
2*3
6
整型结果
2.*3
6.0
浮点型
5/2
2
整型
5./2
2.5
5%2
1
取模
Az=270
Newaz=az+180
Print newaz%360
90
取模的用途之一——方位角加 180 后逆转方向
5**2
25
25**0.5
5.0
没有 sqrt()功能,除非添加 math 模块
2 字符串操作
注:使用 Python 帮助:有超过 30 种内置方法来处理字符,请到 Sequence Types
下的 String Methods 寻找帮助!
字符串是一串字母,比如’San Francisco’,字符串下标从 0 开始。学习字符串语法的
最好方法是自己动手尝试,下标展示之:
输入
结果
Notes
print 'zhulj'.capitalize()
Zhulj
s.capitalize()即将 capitalize()方法用于 s
s='zhulj'
print s.capitalize()
print s[0]
z
Strings 可以像一个字母列表一样处理,第一个字
母下标为 0,某个字符段可以用 1:3 来格式化:从
第 1 个的开头到第 3 个的开头,不包括下标为 3
的字母;s[-1]表示倒过来第一个,相当于 s[len(s)-1]
s1=s[1]
print s1
h
print s[-2:]
lj
print s[2:3]
u
print s[2:4]
ul
print s[2:],s[:5]
ulj zhulj
s2=s.upper()
print s2
ZHULJ
我们可以将字符串方法的结果赋给新的变量
s3=s+s2
print s3
zhuljZHULJ
字符串组合用“+”
print s*3
zhuljzhuljzhulj
字符串重复用“*”,后为重复次数
selstr='"elev">1000'
print selstr
"elev">1000
字符串可以使用单引号或双引号,跨行时用双引
号。
othersel=”’elev’>1000”
print othersel
‘elev’>1000
print s.isupper()
False
一些方法返回值为布尔型(True 或 False),一些
返回索引值(下标值)
print s2.isupper()
True
剩余33页未读,继续阅读
资源评论
梅里雪山GIS
- 粉丝: 2w+
- 资源: 498
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功