没有合适的资源?快使用搜索试试~ 我知道了~
首页ArcGIS中Python脚本的使用
资源详情
资源评论
资源推荐

初学入门 中 脚本的使用
:飞天小猪
目录
写在前面的话
前言
一、 语言基础
数学运算符
字符串操作
模块的使用()
使用 构建函数
流程控制结构:,, !
简单输入和输出"
二、
如何创建地理处理对象( # $%#&)"
获取地理处理帮助
2.1
举例:如何使用
Geoprocessor Programming Model
中的
Lists.............................................11
使用地理处理工具——&' 和
在建模中使用脚本(# &$($ )
$在 )&(( 里调试地理处理脚本"
5.1
调试选择和消息
.......................................................................................................................20
5.2PythonWin
的调试工具
.............................................................................................................21
5.3
地理处理工具举例
...................................................................................................................22
使用描述(# )和存在('&)获取数据信息
6.1
描述
...........................................................................................................................................23
6.2
存在(
Exists
)
..........................................................................................................................25
6.3
在循环中使用描述和存在
.......................................................................................................25
! 在 )&( 脚本中使用地图代数($ )!
* 数据管理和指针(&$((&$($# )*
8.1
数据管理(
Data Management
)
.............................................................................................28
8.2
指针(
Cursors
)
.......................................................................................................................30
附录 :地理处理脚本中输入输出方法指南
附录 :其他
$$+$

写在前面的话
一直想学习 中的 脚本,大四下半学期终于有了时间,可是想找到这么一
本好的教材不容易。茫茫互联网,终于找到了旧金山州立大学
%,$-./0
$$
教授的个人主页 ,
对其中《,1,00/2$/10$/$》如获至宝,独乐乐不如众乐乐,现在将其教程
翻译并结合自己的学习情况给出总结。希望能够给更多想学习 的同学一个参考。
另外,在我刚开始接触 时,是看了台湾辅仁大学一位老师的视频课件,在此致
谢。
我想从两个大部分总结:一、 语言基础;二、3。其中第一部分参
考了《$ $
$$$$
精要参考(第二版)$ $》、《 $ $
$$$$
编程金典(读书笔记)$ $》等书籍文献。对
于多数读者来说,可能或多或少有一些编程基础,所以理解起来应该不成问题。
文中多数数据来自 %,$-./0 教授的主页,放在“#4512”目录下,为了直观,我将运
算结果一并编辑,方便参考。
值得一提的是 的在线帮助文档,一个实时更新的 宝库,很多专业性知识都
可以找到答案,点击链接 "$ $
$$$$
中文帮助$ $、6$ $
$$$$
或$ $
$$
6$ $
$$$$
英文帮助$ $。 获取更过脚
本例子来学习$: 的地理处理模型和脚本工具库是个不错的选择。
由于我也是初次接触,翻译或者心得难免有纰漏之处,希望同仁们可以多多交流!
前言
在 建模或 数据管理中,你可能经常需要处理一系列步骤才可以完成的工作;你
可能有一个工作目录下的数据需要重投影、裁剪到研究区域,或者用某种方法组合成期望
的结果;我们也经常需要根据不同情形用不同方法处理数据,因此我们需要作出选择,而
高质量的决策需要考虑很多低水平的决策,这可以通过脚本程序模型辅助完成。
脚本编程的主要目的是使枯燥的处理数据工作自动化,通过逻辑来指挥处理过程。我
想自动化和逻辑是关键,它们区别于我们多数使用计算机时的交互活动。我们发 78-/9,
写文章或者设计地图,都需要和计算机交互,而处理一系列数据,我们需要自动化和利用
逻辑来指导自动化。
在地理处理脚本逻辑中,我们需要在允许我们做的事情中作出决定,比如,处理栅格
数据不同于矢量数据,或为没投影的数据设置投影,或处理仅在特定时间搜集的数据集。
对于重要的 工作来说,脚本以及其他形式的程序是必需的,而非可有可无。
在接下来的联系中,我们会探索 的使用以及创建脚本来使用 里众多的地
理处理工具。所有你能在 &9:; 或 <,9 中使用的工具都能够用在 脚本中,这
些脚本可以生成脚本工具,像其他地理处理工具一样使用。
$$+$

一、 语言基础
安 装 , 在 … 5
/0,0=16/05
,0=15/ 目 录 下
可 以 找 到 / 的 安 装
程 序 , 默 认 是 不 安 装 的 ,
。同时会安装 >/8 以及允许任何脚本在基
于 /01- 的地理处理过程中工作。" 中引入了全新的 $/<> 来增强内
嵌的 体验。
警告:不要尝试更新随 安装的 到一个新的版本!
下面介绍 的一些简单语法和规则。
$$+$

1 数学运算符
提供了多样化的通用数学运算符——多数编程语言的特征,以及许多通过
/81 的 8<?9,0 提供的符号。常用的有@A7ABA+ABBC幂DAEC取模,即除后的余数D。
下面的表格显示了整型(,2,)和浮点型(9-)各种组合运算的结果,记住
一条规则,只要参与运算的有浮点型,则结果为浮点型;全为整型时,结果才为整型。
输入表达式 结果
(,0
@
整型结果
@ "
是浮点型,结果浮点型
7 7
B
整型结果
B "
浮点型
+
整型
+
E
取模
FG!"
(,>-FG-F@*"
/ $ ,>-F
E"
6"
取模的用途之一——方位角加 *" 后逆转方向
BB
BB" "
没有 0HCD功能,除非添加 8- 模块
2 字符串操作
注:使用 帮助:有超过 种内置方法来处理字符,请到 !" 下
的 # $%" 寻找帮助!
字符串是一串字母,比如’-$-/0I,字符串下标从 " 开始。学习字符串语法的
最好方法是自己动手尝试,下标展示之:
输入 结果
"
1/$JF?9KJ-1/-9/F,CD
L?9K
"&!&'()*即将 -1/-9/F,CD方法用于 0
0GJF?9KJ
1/$0-1/-9/F,CD
1/$0" F
/20 可以像一个字母列表一样处理,第一个字
母下标为 ",某个字符段可以用 4 来格式化:
从第 个的开头到第 个的开头,不包括下标为
的字母;07表示倒过来第一个,相当于
09,C0D7
0G0
1/$0
1/$074 9K
1/$04 ?
1/$04 ?9
1/$04A04 ?9K$F?9K
0G0?11,CD L%
我们可以将字符串方法的结果赋给新的变量
$$+$

1/$0
0G0@0
1/$0
F?9KL%
字符串组合用“@”
1/$0B F?9KF?9KF?9K
字符串重复用“B”,后为重复次数
0,90GJM,9,.MN"""J
1/$0,90
M,9,.MN"""
字符串可以使用单引号或双引号,跨行时用双引
号。
,0,9GOI,9,.IN"""O
1/$,0,9
P,9,.IN"""
1/$0/0?11,CD -90,
一些方法返回值为布尔型(&?, 或 -90,),一
些返回索引值(下标值)
1/$0/0?11,CD &?,
1GJ<4+>=+9?01J
1/$1Q<CPID
"
1/$1Q<CP+ID
19/0G1019/CJ+JD
1/$19/0
J<4JA$J>=JA
J9?01J
你可以用 019/CD方法解析出不同的字符串片段,
并创建一个列表(/0),我们可以使用其中不
同的元素
1/$19/0" <4
1/$19/0 >=
1GJ<455>=550/901J
1/$1
<45>=50/901
反斜线“5”和某些字母一起有特殊用法,如5 为
换行,“5”为转义字符,如“55”则表示“5”
1/$J%,5J0$R/<0J %,J0$R/<0
1/$J%,5J05R/<0J
%,J0
R/<0
1GJ<45>=50/901J
1/$1
<45>=50/901
字符串前加“”则强制“5”代表其本身,而非转义
字符,这对于文件路径的操作很方便
3 模块的使用(Modules)
提供了一系列内置的方法(大量依赖于模块)用于通用编程。 安装
时自带了大量 <?9,0,最常用的有 8-A00A-<8A-- 以及 01-。
当然还有好多 <?9,0 可以下载,比如数字处理((?8,/)——?81,可在
>>>12
$$
或 >>>229,8
$$
里 搜 索 。 >>>12+8/+
(?8,/</,SQ
$$
页面中列举了一些。
使用 <?9, 前,必须 /81 之。通常我们会将一行 +! ,$%' 名-放在程序
顶部,比如:
/81$-2/00/1S2
当然,这不必成为你程序的第一行,但必须在使用它里面方法之前。
当要引用多个模块是,中间用逗号分隔,比如:
/81$-2/00/1S2A00A0/2A0A8-
我们也可以自己为频繁使用的方法创建 <?9,,下面,我们开始体验内置的
<?9,0。
$.$+$
剩余33页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1