ArcGIS Python开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return arcpy.Extent(XMin, YMin, XMax, YMax)
oldExtent = arcpy.Describe("boundary").extent newExtent = increase_extent(oldExtent, .1)
定义函数
返回结果 调用函数
Python 101
ArcGISห้องสมุดไป่ตู้Python 开发
Esri中国(北京)有限公司 黄炎
内容摘要
• ArcGIS Python开发概述
• Python脚本语言快速入门
• ArcPy——ArcGIS Python API
• ArcGIS Python开发和使用
- GP工具的批处理脚本 - 新建ArcGIS脚本工具 - 通过GP服务在线调用
x=1 while x < 5:
print x x=x+1
x = [1, 2, 3, 4] for num in x:
print num
Python 101
• Python中定义函数
- def关键词 - 组织和重用代码的最简方式
import arcpy
def 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)
键/值对
{ D = "ProductName": "desktop", } "InstallDir": “c:\\ArcGIS\\Desktop10.0"
Python 101
• Python中的分支结构和条件表达式
- if/else 语句 - 冒号跟在if/else语句之后 - 代码缩进表示此为条件执行的代码(对比其它语言中的{}) - == 测试相等; 其它操作符例如 >, <, !=
- Package (包): 一堆modules;可以import
- 例如:math.sqrt(100) … 10.0
ArcPy——ArcGIS Python API
• ArcGIS的脚本语言
• 免费、跨平台、简单易用、使用广泛、社区火 热
为什么使用Python脚本?
• Python是一种高效率的语言
• 显著减少花费在项目上的时间
- 快速执行工具和函数 - 自动化执行常用任务
• 代码易于阅读和维护
- 这是Python设计的初衷 - 易于修改和不断更新
Python可以帮助完成那些工作?
• 总结与展望
ArcGIS Python 开发概述
Python是什么?
• “Python is an easy to learn, powerful language… (with) high-level data structures and a simple but effective approach to objectoriented programming. Python’s elegant syntax and dynamic typing…make it an ideal language for scripting…in many areas and on most platforms.” –python.org
Python 101
• 充分利用Python核心数据结构的优势
Type
List 列表
Tuple 元组
Dictionary 词典
Explanation
Example
[ ] 成员类型皆可变 L = "10 feet", "20 feet", "50 feet"
( ) 成员类型皆固定 T = "Thurston", "Pierce", "King"
• 大小写敏感
- 变量, 函数等等... 都是大小写敏感的 - name ‘X’ is not defined, function ‘X’ does not exist
• 各种可复用的构件 - Function (函数): 一段代码;用于完成指定任务
- Module (模块): 一个Python文件;可以import
Geoprocessing Service
Python脚本语言快速入门
Python 101
• 在哪写Python代码?
- IDE,例如:IDLE、PythonWin、 PyScripter - Python window in ArcGIS
• 怎样运行一段Python脚本?
- 双击脚本 或者 通过命令行
• 哪些是Python中的变量?
input -=A"nCa:m/Deatthaa/tRsotaodrse.sshapv"alue; assigned using =
distance = 50 both = [input, distance]
# Variables act as substitutes for raw values arcpy.Buffer_analysis(input, "Roads_buffer.shp", distance)
制图自动化
影像处理
网络分析
批处理脚本
空间分析
构建GP工具
空间统计
在线分析 GP服务
等等…
空间数据库 管理和维护
在ArcGIS中使用Python的几种方式
Desktop
Server
Script Tool
Python Window
Standalone Script: IDE, Command Line, Scheduled Task
var = "a" if var == "a":
# Execute indented lines print("variable is a") else: print("variable is not a")
Python 101
• Python中的循环结构
- while循环, for循环 - 冒号跟在while/for语句之后 - 代码缩进表示此为循环执行的代码
相关文档
最新文档