




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ArcGIS
Python
开发2022内容摘要ArcGIS
Python开发概述Python脚本语言快速入门ArcPy——ArcGIS
Python
APIArcGIS
Python开发和使用GP工具的批处理脚本新建ArcGIS脚本工具通过GP服务在线调用总结与展望ArcGIS
Python
开发概述Python是什么?-n“Python
is
an
easy
to
learn,
powerfullanguage…
(with)
high-level
data
structuresand
a
simple
but
effective
approach
to
objectoriented
programming.
Python’s
elegantsyntax
and
dynamic
typing…make
it
an
ideallanguage
for
scripting…in
many
areas
and
omost
platforms.”
–ArcGIS的脚本语言免费、跨平台、简单易用、使用广泛、社区火热为什么使用Python脚本?Python是一种高效率的语言显著减少花费在项目上的时间快速执行工具和函数自动化执行常用任务代码易于阅读和维护这是Python设计的初衷易于修改和不断更新Python可以帮助完成那些工作?影像处理制图自动化空间分析网络分析等等…空间统计空间数据库管理和维护在线分析GP服务批处理脚本构建GP工具在ArcGIS中使用Python的几种方式DesktopServerScript
ToolPython
WindowStandalone
Script:
IDE,
CommandLine,
Scheduled
TaskGeoprocessing
ServicePython脚本语言快速入门Python
101在哪写Python代码?IDE,例如:IDLE、PythonWin、PyScripterPython
window
in
ArcGIS怎样运行一段Python脚本?双击脚本或者通过命令行-
A
name
that
stores
a
value;
assigned
using
=哪些是Python中的变量?input
=
"C:/Data/Roads.shp"distance
=
50both
=
[input,
distance]#
Variables
act
as
substitutes
for
raw
valuesarcpy.Buffer_analysis(input,
"Roads_buffer.shp",
distance)Python
101TypeExplanationExampleList列表成员类型皆可变L
=
["10
feet",
"20
feet",
"50feet"]Tuple元组成员类型皆固定T
=
("Thurston",
"Pierce",
"King")Dictionary词典键/值对D
=
{"ProductName":
"desktop","InstallDir":
“c:\\ArcGIS\\Desktop10.0"}充分利用Python核心数据结构的优势Python
101Python中的分支结构和条件表达式if/else
语句冒号跟在if/else语句之后代码缩进表示此为条件执行的代码(对比其它语言中的{})-==测试相等;其它操作符例如>,<,!=var
=
"a"if
var
==
"a":#
Execute
indented
linesprint("variable
is
a")else:print("variable
is
not
a")Python
101Python中的循环结构while循环,for循环冒号跟在while/for语句之后代码缩进表示此为循环执行的代码x
=
1while
xprintx
=
x<
5:x+
1x
=
[1,2,
3,
4]for
numin
x:printnumPython
101def
increase_extent(extent,
factor):"""Increases
the
extent
by
the
given
factor"""XMin
=
extent.XMin
‐
(factor
*
extent.XMin)YMin
=
extent.YMin
‐
(factor
*
extent.YMin)XMax
=
extent.XMax
+
(factor
*
extent.XMax)YMax
=
extent.YMax
+
(factor
*
extent.YMax)return
arcpy.Extent(XMin,
YMin,
XMax,
YMax)oldExtent
=
arcpy.Describe("boundary").extentnewExtent
=
increase_extent(oldExtent,
.1)义函数定回结果返调用函数Python中定义函数def关键词组织和重用代码的最简方式import
arcpyPython
101大小写敏感变量,函数等等...都是大小写敏感的name
‘X’
is
not
defined,
function
‘X’
does
not
exist各种可复用的构件Function(函数):一段代码;用于完成指定任务Module(模块):一个Python文件;可以importPackage(包):一堆modules;可以import-例如:math.sqrt(100)…10.0ArcPy——ArcGIS
Python
APIPython在ArcGIS中使用的简史基于dispatch
GeoprocessorPython
2.1arcgisscripting模块跨平台Python
2.4arcgisscripting模块,9.3版本“Pythonic”Python
2.5arcpy
site-package支持Mapping
&
Map
Algebra新增Python
windowPython
2.6什么是arcpy?arcpy是一个原生的Python
site-package,它是
ArcGIS的Python
APIarcpy提供了大量类和函数。使用它可以轻松执行
ArcGIS工具箱中的工具(Geoprocessing工具),并且创建原生对象,例如:geometry、raster、spatialreference等等arcpy包含了其它高级模块:mapping:制图sa:空间分析扩展模块自动化制图数据分析数据管理数据转换什么是Python
window?一个嵌入在ArcGIS桌面产品中的交互式Python编辑器快速、简单的访问Python和arcpy新用户学习Python和arcpy的最佳入门工具更加良好的代码补全和智能提示快速调用Geoprocessing工具Arcpy中的函数(Function)Arcpy包含了执行许多脚本任务时所必须的函数:Listing
dataDescribing
dataValidating
table
and
field
namesGettingmessages等等便于自动化执行脚本任务批处理用户经常需要对一类的数据进行批处理格式转换(CAD
to
GDB)批量裁剪数据融合等等…Arcpy提供若干list方法用来简化批处理流程:DescribeDescribe函数是Arcpy函数中的“明星”Data
type
(shapefile,
coverage,
network
dataset,
etc)Shape
type
(point,
polygon,
line,
etc)空间参考要素范围属性字段列表访问不同数据集和数据集的不同属性对象Arcpy中的类(Class)大部分工具的参数使用基本数据类型便可以定义例如:输入、输出路径、缓冲距离总会有一些参数不方便使用基本类型定义例如:空间参考、属性记录、几何对象使用类可以方便的传递和使用这些参数使用Cursors访问数据Cursors是arcpy类中的“明星”Cursors用于完成要素的增删改查TypeExplanationSearchCursor查询(只读访问)UpdateCursor更新删除InsertCursor插入CursorsArcpy中的Cursors使用更加简单At
9.3rows
=gp.SearchCursor(myTable)row
=rows.next()while
row:print
row.GetValue(“Rank”)row
=rows.next()At10forrow
inarcpy.SearchCursor(myTable)print
row.GetValue(“Rank”)Cursors可以非常方便的访问不同投影的数据使用空间参考参数,访问要素的时候可以动态进行投影#
Create
a
SR
object
from
a
projectionfileSR
=
arcpy.SpatialReference("c:/NAD1983
UTM
Zone10N.prj”)#
Create
search
cursor,
using
spatialreferencerows
=
arcpy.SearchCursor("D:/data.mdb/roads","",
SR)使用Cursors访问几何对象要素类通常都具备几何字段一般命名为Shape几何字段返回几何对象几何对象具备特有的几何属性area,
length,
isMultipart,
partCount,
pointCount,
type,…#
Find
the
total
length
of
all
line
featuresimport
arcpylength
=
0for
row
in
arcpy.SearchCursor("C:/data/base.gdb/roads"):feature
=
row.shapelength
+=
feature.length几何对象支持的操作几何对象支持几何关系判断containscrossesdisjointequalsoverlapstoucheswithinArcpy学习资料Esri
Resource
Center-
/geoprocessing/桌面的帮助文档中文版来啦~ArcGIS
Python开发和使用内容提要GP工具的批处理脚本新建ArcGIS脚本工具通过GP服务在线调用不启动ArcMap也能完成任务不启动ArcMap也能完成任务ArcGIS工具箱Python程序独立执行的脚本Demo
1通过脚本自动发布地图服务地图文档Python脚本ArcGIS
Server内容提要GP工具的批处理脚本新建ArcGIS脚本工具通过GP服务在线调用Geoprocessing工具GP工具是ArcGIS
Geoprocessing的基本单位ArcGIS提供了750多种工具供用户调用您可以创建自己的工具(ModelBuilder,Python,etc.)任何工具,一旦被创建,通过arcpy.ImportToolbox函数导入,就能够在Python中使用!轻松封装、简单复用如何创建脚本工具第一步:定义输入输出参数如何创建脚本工具第二步:在脚本中创建参数变量通过GetParameterAsText创建脚本参数变量通过SetParameterAsText返回输出参数变量如何创建脚本工具第三步:在脚本中添加必要的信息在脚本执行过程中返回提示信息在出现问题时,返回错误信息经常使用的三个函数AddMessage()AddWarning()AddError()Demo
2将Demo
1的脚本变为脚本工具地图文档Python脚本ArcGIS
Server为什么使用脚本工具(Script
Tool)Why?脚本工具是通用的,可以处理其他数据用户可以使用不同的参数调用您想在ModelBuilder中使用脚本更简单分享和使用并不是每个人都知道该如何运行一个独立的脚本提供有好的交互界面“吸星大法”——
异构系统为我所用GIS系统业务流程统计PythonDemo
3吸收ENVI/IDL的“内力”——影像自动配准Demo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昆明市现代农业生态园花卉苗木基地一期工程建设项目可行性研究报告
- 防汛知识培训总结课件
- DB65T 4143-2018 反恐怖防范设置规范 汽车客运站
- 部队网络工程布线方案(3篇)
- 航空港口行业发展模式探讨
- 2025年高考政治总复习主观题万能答题模板汇编(全四册)
- 湖北省汉川市金益高级中学2025-2026学年高二上学期9月月考考试数学试卷
- 天津市2025-2026学年七年级语文上学期第一次月考复习试卷(含答案)
- 青海省海西州2024-2025学年七年级下学期期末考试生物试卷(含答案)
- 20xx教师暑假政治学习心得体会
- 餐饮服务(双语)课件任务3中餐服务的形式与特点
- T/CECS 10021-2019照明用LED驱动电源技术要求
- 房款首付赠与协议书
- 2025年北京市东城区九年级初三一模英语试卷(含答案)
- 肌骨超声在康复科的应用
- 2024-2030全球中子刀(锎252中子源自动遥控式后装治疗系统)行业调研及趋势分析报告
- 十一学校小升初入学测试数学真题及详细解答
- 《美容护肤及保养》课件
- 安全课件自我保护
- 资金共管协议书范本
- 大班主题:标志小家族
评论
0/150
提交评论