2022ArcGlS Python 开发培训资料_第1页
2022ArcGlS Python 开发培训资料_第2页
2022ArcGlS Python 开发培训资料_第3页
2022ArcGlS Python 开发培训资料_第4页
2022ArcGlS Python 开发培训资料_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论