[初学入门]ArcGIS中Python脚本学习(4)
工作空间);③多边形、弧或点要素的coverage数据。当我们想遍历工作空间里的coverage文件时,应使用ListDatasets而不是ListFeatureClasses。
2获取地理处理帮助
如果你基本熟悉了Python的语法,便可以开始熟悉ArcGIS的Geoprocessing啦,获取这些方法帮助的途径有两个: ① ArcGIS帮助系统,Go To Geoprocessing/Automating your work with scripts/Scripting
object:Properites and Methods. 这里你会看到Geoprocessor Object,这个能让你很方便地获得所有对你有用的条目、设置和其他操作文档。比如,你想得到特定类型的文件,就找到listfeatureclasses方法:fcList=gp.ListFeatureClasses(“w*”,”polygon”)
注:此方法的语法为:object.ListFeatureClasses({wildCard} As String, {FeatureType} As String) As Python List
{} = optional wildcard为通配符,和星号(*)组合使用,如果没有通配符则返回工作目录下的所有feature classes。 ② Geoprocessor Programming Model(PDF),包含方法(左箭头表示)、属性(可读写
的表示为杠铃形,只读的表示为部分杠铃形)
2.1举例:如何使用Geoprocessor Programming Model中的Lists
Lists(列表)及其属性和方法在图表中用紫色标出,如下:
现在我们试着编写一段脚本列举出属性表中所有属性值(Fields)(以hmbarea栅格土地利用为例,文件存在c:\\prog\\hmbarea下)
import arcgisscripting, sys gp = arcgisscripting.create(9.3)
gp.workspace = \ fieldList = gp.ListFields(\\\
dsc=gp.describe(\
print \for field in fieldList:
... print field.Name, field.Type (此时输出结果如右图)
11 / 33
3使用地理处理工具——Toolboxes和Aliases
总所周知,地理处理工具在脚本中的使用和ArcToolbox中相同,但是需要提供工具名称来使用它们。但是记住一个名称可能有好几个工具,比如,裁剪工具(Clip)在Coverage->Analysis->Extract工具集里,另一个是在Data Management Tools下的Raster工具集下。区别是每个工具适用不同的数据类型,但是我们如何在脚本中区分它们呢? 在ArcToolbox中,我们可以随意选择要使用的工具,但在脚本里就必须在某些方面加以区分。因此我们使用Aliases(别名)——已经成为工具名称的一部分。
每一个工具都有自己的别名,我们可以通过右键->属性来查看:
Aliase “3d” “analysis” “arc” “cartography” Toolbox 3D Analyst Analysis Coverage Cartography “conversion” “geocoding” “ga” “lr” “sa” “stats” Conversion Geocoding Geostatistical Analyst Linear Referencing Spatial Analyst Spatial Statistics “management” Data Management 现在我们用一段脚本来解释:
import arcgisscripting,sys gp=arcgisscripting.create(9.3) gp.Workspace=”c:/prog/hmbarea”
gp.overwriteoutput=1 #OverWriteOutput:Boolean,为1表示允许覆盖已存在文件 # 将streams/arc转换为shp文件
gp.copyfeatures_management(\ #利用转换后的shp文件,做200米的缓冲
gp.buffer_analysis(\
# 用做过缓冲的shp裁剪
gp.Clip_analysis(\
注:上面脚本用“#”注释的中文内容不要出现在脚本文件中,否则会出现错误
结果截图:
12 / 33
如果你一次使用一个工具集中的若干工具,可以通过环境设置省下一些文字:gp.Toolbox = \
gp.Buffer(\
gp.Clip(\
4在建模中使用脚本(Scripts in ModelBuilder)
首先,需要记住的很重要的一点是,ArcToolbox里相当数量的工具实际上都是脚本。脚本都有一个
图标。比如,空间统计分析工具(Spatial Staistics tools)
几乎都是Python脚本(一些是模型中使用了脚本
)。实际上,我们可以复制并编辑这些脚本作为其他用
途。
为了在ModelBuilder中使用脚本或将脚本当做ArcToolbox中工具使用,我们需要考虑如何给它输入值以及让其设置输出值。仍然以太阳角计算代码为例,我们给其加上两句引用,四句输入输出语句,就可以用作Modelbuilder中的一个步骤了。 编辑下面的脚本,不过不要再PythonWin中运行之,因为getparameterastext和setparameterastext只能用在脚本工具(ArcToolbox或Modelbuilder)中。
import arcgisscripting
gp=arcgisscripting.create(9.3) …… 此处隐藏:638字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




