Python脚本入门学习经典手册

所需积分/C币:50 2016-06-30 14:32:22 569KB PDF
46
收藏 收藏
举报

Python脚本入门学习经典手册.pdf
我想从两个大部分总结:-、 Python语言基础;二、 ArcGIS& Python。其屮第部分参考了《 Python精要参考(第二 版)》、《 Python编程金典(读书笔记)》等书籍文献。对于多数 读者来说,可能或多或少有一些编程基础,所以理解起来应该不 成问题。 文中多数数据来自 Jerry davis教授的主页,放在“ C: \prog” 日录下,为了直观,我将运算结果一并编辑,方便参考。 值得提的是 ArcGIS的在线帮助文档,个实时更新的GIs 宝库,很多专业性知识都可以找到答案,点击链接 ArcGIS10中 文帮助、 ArcGIS9.3.1或93英文帮助。获取更过脚本例子来 学习:ESRI的地理处理模型和脚本工具库是个不错的选择。 由于我也是初次接触,翻译或者心得难免有纰漏之处,希望 同仁们可以多多交流! 前言 在GIS建模或GIS数据管理中,你可能经常需要处理一系列 步骤才可以完成的工作;你可能有一个工作目录下的数据需要重 投影、裁剪到研究区域,或者用某种方法组合成期望的结果;我 们也经常需要根据不同情形用不同方法处玒数据,因此我们需要 作出选择,而高质量的决策需要考虑很多低水平的决策,这可以 通过脚本程序模型辅助完成。 脚本编程的主要目的是使枯燥的处理数据工作自动化,通过 3/69 逻辑来指挥处理过程。我想自动化和逻辑是关键,它们区别于我 们多数使用计算机时的交互活动。我们发 E-mail,写文章或者设 计地图,都需要和计算机交互,而处理一系列薮据,我们需要自 动化和利用逻辑来指导自动化 在地理处理脚本逻辑中,我们需要在允许我们做的事情中作 岀决定,比如,处理栅格数据不同于矢量数据,或为没投影的数 据设置投影,或处理仅在特定时间搜集的数据集。对于重要的 GIS工作米说,脚本以及其他形式的程序是必需的,而非可有可 无 在接下来的联系中,我们会探索 Python的使用以及创建脚 本来使用 ArcGIS里众多的地理处理工具。所有你能在 ArcToolbox 或Mode中使用的工具都能够用在 Python脚本中,这些脚本可 以生成脚本工具,像其他地理处理工具一样使用。 ArcToolbox Model 回 +的30 Analyst Tor Model Edit view Window Help Feature To Raster con 回当为电間因计。」 landuse⊥u- code lt +-t To dBASE landuse Feature Io To Geodatabase polygon Raster To Ras丈er AscII to Raster DEM to raste Feature to raster Z⊙ca1pax2ab2es,,, lugrid ="D: /Uor kspace/prog/ pendata/ lugrid" landuse polygon ="D:/Workspace/prog/ pendat a/ landuse/po lygon" process: Feature to raster gp Feature ToRaster conversion(landuse polygon LU-CODE", lugr id, 30) 4/69 othon语言基础 安 装 PythonWin 在… ArcGis Desktop9.3so\ Desktop\ Python Win日录下可以 找到 PythonWin的安装程序,默认是不安装的 pywin32-210. win32-py2.5.exe 。同时会安装wn32com以及允许 任何脚本在于 Dispatch的地理处理过程中工作。ArG10 中引入了全新的 Python Window米增强内嵌的 Python体验 警告:不要尝试更新随 ArcGIs安装的 Python到一个新 的版本! Pythonwin File Edit View Tools Window Help 下面介绍Py thon Interactive Window 的一些简单语法和规 PythonWin251(251:54863.r1207.08510B)M Portions Copyright 1994-2006 Mark Hammond -see 'Hel 则 information >> clipstreams200 py 1数学运算符 Import arcgisscripting, sys gp=arcgisscripting create (9.3) gp Workspace="c: /prog/hmbarearr Python提供了多 gp. overwriteoutput=1 gp. copyfeatures management("streams/ gp buffer analysis("st shp 样化的通用数学运算 gp Clip analysis(geol. shp, Fstbuffz 符—一多数编程语言 的特征,以及许多通过 Import的 modules提供的符号。常用 的有+,/*(幂)%(取模,即除后的余数) 下面的表格显示了整型( Integer)和浮点型( Float)各 种组合运算的结果,记住一条规则,只要参与运算的有浮点 5/69 型,则结果为浮点型;仝为整型时,结果才为整型。 输入表达结 Notes 式 果 2+3 5整型结果 2.+3 502是浮点型,结果浮点型 2-3 2+3 6整型结果 2.3 60浮点型 5/2 2整型 5,/2 2.5 5%2 1取模 Az=27090取模的用途之 方位角加 Nawaz=az 180后逆转方向 +180 Print nawaz%36 0 5**2 25 25*0550没有sqrt0功能,除非添加math 模块 6/69 2字符串操作 注:使用 Python帮助:有超过30种内置方法来处理字 符,请到 Sequence Types下的 String Methods寻找帮助 字符串是一串字母,比如' San francisco',字符串下标从 0开始。学习字符串语法的最好方法是自己动手尝试,下标展 之 输入 结果 Notes print zhu门 capitalize eo s capitalize0即将 capitalize0方法 zh山j S=zh山j 用于 prin scapitalize print sO z Strings可以像一个字母列表样 s1=s[1] 处理,第一个字母下标为0,某个 print s1 字符段可以用1:3来格式化:从第 print s[-2 1个的开头到第3个的开头,不包 print s[2: 3] 括下标为3的字母;S[-1]表示倒过 print s[2: 4] 来第一个,相当于s[en(s)-1] print s[2: ]S[ 1 ulj zhuli s2= s upper0zHUL我们可以将字符串方法的结果赋 7/69 print s2 给新的变量 3=S+s2 zhuljZHUL 字符串组合用 print s3 zhujzhuljz print s*3 字符串重复用“*”,后为重复次数 huli selstr= eley' "elev">100 1000 print selstr 字符串可以使用单引号或双引号, othersel="elev 跨行吋用双引号 eley'> 100 >1000″ 0 print othersel p rint False s isupper( pr ue S2. isupper( 一些方法返回值为布尔型(True或 p=d: /work/u False),一些返回索引值(下标值) sh 10 print p find(. print p find(/) plist=. split(/ 你可以用spit(O方法解析出不同的 I'd: work 字符串片段,并创建一个列表 lu.shp] print plist List),我们可以使用其中不同的 8/69 print plist[O] 元素 print plist[1] work p2=d: work\\ d: work\so soil. shp il. shp print p2 反斜线“\”和某些字母·起有特 print Jerry\'s 殊用法,如Ⅶn为换行,“\”为转义 Jerry's Kids Kids 字符,如“”则表示“” print Jerrys Jerry\'s\nKids'I Kids p3=rd: work\s 字符串前加“”则强制“”代表 d: \work\so oil. shp 其本身,而非转义字符,这对于文 .shp print p3 件路径的操作很方便 3模块的使用( Modules) Python提供了一系列内置的方法(大量依赖于模块)用 于通用编程。 Python安装时自带了大量 Modules,最常用的 有 math, sys, random, array以及 os path 当然还有好多 Modules可以下载,比如数字处理 Numeric numpy,可在www.python.org或 www.google.con里 搜 索 www.python。rg/moin/NumericAndScientific页面中列举了 9/69 使用 Module前,必须 Import之。通常我们会将一行 port< Module名>放在程序顶部,比如 Import arcgisscripting 当然,这不必成为你程序的第一行,但必须在使用它里 面方法之前。 当要引用多个模块是,屮间用逗号分隔,比如: import arcgisscripting, sys, string, os, math 我们也可以自己为频繁使用的方法创建 Module,下面 我们开始体验内置的 Modules math和 random模块 艮多常用的数学计算功能都可以通过math找到,比如三 角计算或对数计算,如果要使用复杂数字,就使用 cmath模 块 和之前一样,通过以下表格来体现模块的使用: 输入 结果 Notes import math print 2.0 以10为底的对数 math. log 10(100 p rint 4.6051701859 自然对数 10/69

...展开详情
试读 69P Python脚本入门学习经典手册
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 签到新秀

  • 至尊王者

关注 私信
上传资源赚钱or赚积分
最新推荐
Python脚本入门学习经典手册 50积分/C币 立即下载
1/69
Python脚本入门学习经典手册第1页
Python脚本入门学习经典手册第2页
Python脚本入门学习经典手册第3页
Python脚本入门学习经典手册第4页
Python脚本入门学习经典手册第5页
Python脚本入门学习经典手册第6页
Python脚本入门学习经典手册第7页
Python脚本入门学习经典手册第8页
Python脚本入门学习经典手册第9页
Python脚本入门学习经典手册第10页
Python脚本入门学习经典手册第11页
Python脚本入门学习经典手册第12页
Python脚本入门学习经典手册第13页
Python脚本入门学习经典手册第14页

试读结束, 可继续读6页

50积分/C币 立即下载