教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

[初学入门]ArcGIS中Python脚本学习(4)

来源:网络收集 时间:2026-07-26
导读: 工作空间);③多边形、弧或点要素的coverage数据。当我们想遍历工作空间里的coverage文件时,应使用ListDatasets而不是ListFeatureClasses。 2获取地理处理帮助 如果你基本熟悉了Python的语法,便可以开始熟悉ArcG

工作空间);③多边形、弧或点要素的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字,全部文档内容请下载后查看。喜欢就下载吧 ……

[初学入门]ArcGIS中Python脚本学习(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/594883.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)