ArcGIS中不可不知的Python使用技术PPT课件
ArcGIS常用功能和操作PPT课件
30
熟悉ArcMap——属性表管理
查找替换 通过属性选择 清除选择 切换选择 全选 增加字段 打开字段 显示字段别名 缺省列宽
31
熟悉ArcMap——属性表管理
字段上右击:
升序 降序 高级排序 合计生成新表 统计 字段计算器 计算面积、长度、坐标 不显示字段 冻结/取消冻结列 删除字段 属性
32
导入txt文档,设置十进制分隔符(填写与 txt文档中坐标格式一样的数据即可)、导 出路径和坐标系,确定即可。
45
根据坐标生成图形
数据格式: 1、 Polyline后面不能有空格;(如果 要生成面,将Polyline改成Polygon ) 2、数据间的空格间隔只能是一个字符; 3、生成线的每一点要按顺序排列,按 不同顺序排列会生成不同的图像; 4、第一个点的序号从0开始编号; 5、若要生成多条线,对每条线要编号; 且要符合上述的要求,每条线的点重 新从0开始编号; 6、最后一行要加上END。
Personal Geodatabase:使用微软的Access数据库存储属性 表,存储小数据量的数据,数据库存储量最大为2GB。 (*.mdb)。
12
熟悉ArcGIS
坐标系统
投影坐标系统(平面) 地理坐标系统(球面)
13
熟悉ArcCatalog
➢ArcCatalog:是ArcGIS Desktop中最常 用的应用程序之一,它是地理数据的资源管 理器,用户通过ArcCatalog来组织、管理 和创建GIS数据。比如地图,数据集,模型, 元数据,服务等。
20
熟悉ArcCatalog——管理数据源
数据库 数据集
点 线
图层
面
21
熟悉ArcCatalog——导入数据
ArcGIS Python开发
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)
• 哪些是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)
• 总结与展望
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.” –
ArcGIS 10.410.5 Python地理处理讲座
- PyCharm - Python Tools for Visual Studio - Spyder - Eclipse with PyDev - Wingware
Python脚本语言快速入门
Python 101
• 在哪写Python代码?
- IDE,例如:IDLE、PyCharm、 PyScripter - ArcGIS Python window
- BeautifulSoup - Scrapy
Python 类库
• Web Framework
- Django
- GeoDjango
- Flask - Pyramid
• Web Service API
- Twitter - AWS - ElasticSearch - Etc…
开发环境IDE的选择
>>>arcpy.ImportToolbox("c:/mytools/geometrytools.tbx“,"mytools") >>>arcpy.CreateRegularPolygons_mytools( >>> arcpy.RemoveToolbox("mytools")
# Import a geoprocessing service # import arcpy # To add a toolbox from a Internet server, provide the url and toolbox name # delimited by a semi-colon # arcpy.ImportToolbox("http://lab13/arcgis/services;BufferByVal")
ArcGIS软件操作与使用.ppt
2019/10/5
ArcGIS软件操作与使用之应用基础
仿射变换(AFFINE) 投影变换(PROJECTIVE) 相似变换(SIMILARITY )
2019/10/5
ArcGIS软件操作与使用之应用基础
三参数方法
2019/10/5
ArcGIS软件操作与使用之应用基础
七参数法:
2019/10/5
ArcGIS软件操作与使用之应用基础
空间数据预处理-投影变换
投影变换
当系统所使用的数据是来自不同地图投影的图幅 时,需要将一种投影的地理数据转换成另一种投 影的地理数据,这就需要进行地图投影变换。
GCS_XIAN1980(基于西安1980基准面)
2019/10/5
ArcGIS软件操作与使用之应用基础
地理坐标系不是平面直角坐标系
2019/10/5
ArcGIS软件操作与使用之应用基础
空间数据预处理-投影变换
投影坐标系(Projected Coordinate Systems) 投影坐标系使用基于X,Y值的坐标系统来描述地球上某
当不考虑高次变换方程中的A和B时,则变 成二次变换方程,称为二次变换。二次变换 适用于原图有非线性变形的情况,至少需要 5对控制点的坐标及其理论值,才能求出待 定系数。
2019/10/5
ArcGIS软件操作与使用之应用基础
仿射变换(1次多项式)
仿射变换是使用最多的一种几何纠正方式, 只考虑到x和y方向上的变形,仿射变换的 特性是:
Arcgis简单入门操作 ppt课件
2021/3/26
Arcgis简单入门操作 ppt课件
2
Arcgis简单入门操作
• Shp文件是shape文件的简写,是用来表示 图形的点阵文件,包括文件头和变换长度 记录文件组成,主文件后缀名是.shp,也就 是我们要讲的文件。
• 属性文件(.dbf)用于记录属性信息。 • 投影文件(.prj)用于记录。 • 索引文件*. shx 用于记录索引。
23
Arcgis简单入门操作
• 量算工具
• 量算界面,注意开启捕捉,量算面积的时候 注意先转换投影。
• 右击layer,选择properties • 选择Coordinate system
2021/3/26
Arcgis简单入门操作 ppt课件
24
Arcgis简单入门操作
1 首先点击 Editor -----Start Editing。
28
Arcgis简单入门操作
• 1 载入需配准的图片。(img,jpg,tif格式的) • 2 载入矢量。 • 3 利用georeferencing中的Add Control Point工具。
• 提示:若没有找到该工具条,可以再工具栏的空 白处右键,在该工具栏的前面点击左键,加上 “勾”
2021/3/26
2021/3/26
Arcgis简单入门操作 ppt课件
22
Arcgis简单入门操作
• 将底图导入。 • 选择要导出的多边形。可使用Edit中的Find
来进行查找。 • 右键点击china_dist polygon选择
DataExport Data,保存SHP文件即可。
2021/3/26
Arcgis简单入门操作 ppt课件
2021/3/26
《ArcGIS教程》课件
图层叠加方式
包括求交、相减、合并等不同方式的 叠加分析。
叠加结果
可以得到新的地理实体或区域,以及 它们之间的空间关系。
叠加分析应用
用于土地利用规划、城市规划、资源 管理等领域的空间分析。
网络分析
网络分析
基于地理网络数据,对地理实体之间的路径、距离、方向等进行分析。
感谢观看
网络数据
包括道路、河流、铁路等地理网络数据。
网络分析方法
包括最短路径分析、最佳路径分析、路径规划等。
网络分析应用
用于交通规划、物流配送、公共设施布局等领域的空间分析。
04
ArcGIS数据管理
数据导入与导
数据导入
详细描述了如何将不同格式的数据导入到ArcGIS中,包括Shapefile、GeoJSON、 CAD文件等。
地图的缩放与漫游
总结词
学习如何使用缩放和漫游工具查看地图的不同部分。
详细描述
ArcGIS提供了多种缩放级别,您可以通过滚动鼠标滚轮或使用缩放工具条上的按 钮来改变视图。漫游工具则允许您在地图上自由移动,查看不同区域。
地图的符号化与标注
总结词
了解如何改变地图上要素的显示方式 以及添加标注。
详细描述
ArcGIS的应用领域
城市规划
环境监测
ArcGIS可以用于城市规划中的空间分析和 可视化,帮助规划师更好地理解城市空间 结构和人口分布。
ArcGIS可以用于环境监测中的数据分析和 可视化,帮助环保部门更好地了解环境状 况和变化趋势。
灾害应急
农业管理
ArcGIS可以用于灾害应急中的数据分析和 可视化,帮助救援人员更好地了解灾区情 况和救援需求。
不可不知的ArcGIS Python开发
易智瑞(中国)信息技术有限公司 李远祥
内容概要
Python基础 Python简介 Python的优势 变量类型 模块和包 ArcGIS10.1中的Python Python Window ArcPy的使用 不可不知的ArcPy开发 ArcPy代码库 ArcPy 调用GP工具 ArcPy Functions ArcPy 实现类 ArcPy数据管理 ArcPy 制图可视化 Python 实现Add-in
例子:创建空间数据
读取文本文件, 构建线要素, 并最终写入featureclass
ArcPy 类
Cursor Exceptions FeatureSets/RecordSets Fields General Geometry Geostatistical Analyst Parameter 游标 错误抛出 要素和记录 字段信息 通用类,如数组、env 等 图形类,如点、线、面 统计类,如返回要素总数 参数类,参数读取和设置
简单高效
能小能大
胶水特性
Python的一些优秀应用
Zope - 著名的开源Web应用服务器 Bit Torrent - 著名的BT下载工具 Gadfly - 一个用Python写的面向对象关系型数据库,具有小 巧、快速、可移植性好,且开放源码。 红帽(Red Hat ) - 曾用Python和Tk一起成功开发配置和管理操 作系统的可视界面 Microsoft、IBM等用python作为原型开发,在Goolge, python是继C++、Java之后使用最多的开发语言
不需要声明 变量类型
Python中的模块
• • Python中的模块是一个以.py 结尾的 Python代码文件 可通过import命令导入,如: #导入ftplib模块 import ftplib #导入ftplib 模块,名字定义为ftp import ftplib as ftp #导入ftplib 模块中的FTP变量 from ftplib import FTP
ArcGIS10中的Python&ArcPy使用指南7
if pnt: # Print x,y coordinates of current point # print pnt.Xபைடு நூலகம் pnt.Y
示例:使用 SearchCursor 和 InsertCursor 创建方形缓冲区
多部分 (multipart) 要素是由多个物理部分组成的,但是只引用数据库中的一组属性。例如, 在州行政区图层中,可将夏威夷州看作是一个多部分要素。虽然它是由许多岛屿组成的,但 在数据库中仍将其记录为一个要素。
环是一个用于定义二维区域的闭合路径。有效的环是由有效路径组成的,因而环的起点和终 点具有相同的 x,y 坐标。顺时针环是外部环,逆时针环定义内部环。
属性 说明 ID 点的形状 ID X 点的水平坐标 Y 点的垂直坐标 Z 点的高程值 M 点的测量值 点属性
如果一个面包含多个洞,它将由多个环组成。针对 面返回的点对象数组将包含外部环及所 有内部环的点。外部环总是先返回,接着是内部环,其中以空点对象作为环之间的分隔符。 当脚本在地理数据库或 shapefile 中读取面的坐标时,它应包含用于处理内部环的逻辑(如 果脚本需要此信息);否则,将只读取外部环。
ID = -1 for line in fileinput.input(infile): # Open the input file
# set the point's ID, X and Y properties # pnt.ID, pnt.X, pnt.Y = string.split(line,";") print pnt.ID, pnt.X, pnt.Y if ID == -1:
arcgis操作教学.ppt
• 1.3生成grid文件 即DEM高程文件
• 利用3D Analyst工具栏下Convert\TIN to Raster将tin.tin转换为GRID栅格文件 tingrid.grid。
• (栅格大小为125或者50m)
• 2、DEM、tin的应用(地形指标的提取)
• 2.1坡度
• 利用Spatial Analyst\Surface Analysis\Slope工 具对tin文件进行坡度提取。输出度量( output measurement)选择度(degree)输 出栅格大小与tingrid相同为125m。
1.2 浏览数据并将其添加在地图上
1.2 浏览数据并将其添加在地图上
1.2 浏览数据并将其添加在地图上
• 创建图层
• Save as layer file 仅仅保存图层 链接于新地址
• 地图布局
ArcMap操作指南
2.1 浏览数据
• symbology
• 排版
2.1 操作地理要素
• 可见部分用绿色线标识,被障碍物遮挡的 视线部分用红色标识
• 2.8地形剖面 • 利用3D Analyst工具栏中的Interpolate Line按
钮进行操作。在tingrid(或者tin)上跟踪出 一条曲线,并使用Create Profile Graph获得 跟踪线上的地形剖面图。
•
•
DEM水文分析
进行处理得到未填洼的水流方向文件 wFD_tingrid,若从DEM中作出来的流向分析 的最大数值为128则不需要填洼
• 3.1.2洼地的计算
• 利用ArcToolbox\Spatial Analysis Tools\ Hydrology \Sink工具箱对tingrid进行处理, 可以看出由于DEM插值或其他原因造成的 高程“洼地”。得到sink_wFD_tin文件。
ArcGIS入门基础ppt课件
• 将命令拖到任意工具条上,可建立自己的工具条。 • 在【工具条】选项卡中单击【新建】按钮,建立自己的工具如
“MyTools”,单击【确定】按钮。
• 在【工具条】列表框中选中MyTools复选框,单击【删除】按
钮可删除该工具条。
• 在【命令】选项卡中,可选择常用的命令直接拖动到MyTools
加载数据
向ArcMap中添加数据有以下几种方式:
(1)在ArcMap主菜单中单击【文件】 【添加数据】【 添加数 据】,打开【添加数据】对话框,添加数据。
(2)在【标准】工具条中单击【 添加数据。
添加数据】【 添加数据】,
(3)在内容列表中右击数据框,在弹出菜单中单击【 添加数据。
添加数据】,
(4)在目录窗口中定位到要添加的数据所在文件夹,拖动数据到窗口中, 数据即被加载到当前数据框中。
(5)启动ArcCatalog,在目录树窗口中定位到要添加的数据所在位置, 拖动数据直接到ArcMap窗口中来添加数据。
23 23
添加本地数据
(1)启动ArcMap,打开地图文档huadong.mxd(位于“…\chp2\添加数据 \data”)。
和布局视图按钮进行切换。
19 19
2.1.3ArcMap中的弹出菜单
• 经常调用的弹出菜单有以下几种:数据框操作弹出菜单、图层操作弹
出菜单、数据视图操作弹出菜单、布局视图操作弹出菜单等。
1、数据框操作弹出菜单
• 在内容列表中的数据框上单击右键,弹出数据框操作快捷菜单。 • 右击数据框,在弹出菜单中单击【属性】,打开【数据框属性】对话
弹出数据视图操作快捷菜单。
• 数据视图操作弹出菜单用于对数据视图中当前显示的图层进行操作。
2024版《ArcGIS教程》PPT课件
01 ArcGISChapter软件背景及功能01020304用于城市空间布局、交通规划、公共设施选址等。
城市规划应用于环境监测、生态评估、自然保护区规划等。
环境保护支持灾害风险评估、应急响应、灾后重建等。
灾害管理用于精准农业、农业资源管理、农业气候分析等。
农业领域应用领域与案例01ArcGIS界面包括菜单栏、工具栏、图层窗口、属性窗口等部分。
020304常用操作习惯包括使用快捷键、定制工具栏、保存工作空间等。
图层管理是关键操作之一,涉及添加、删除、调整图层顺序和透明度等。
属性表编辑也是常用操作,用于查看和编辑空间数据的属性信息。
界面布局及操作习惯02数据管理与处理Chapter数据类型及格式支持栅格数据矢量数据以像素为单位的图像数据,支持GeoTIFF、ERDAS Imagine式。
属性数据导入数据导出数据数据转换030201数据导入与导出方法数据编辑与整理技巧编辑工具属性表编辑拓扑处理数据裁剪与合并03地图制作与可视化Chapter图层操作包括图层的添加、删除、重命名、调整顺序、设置可见性等基本操作,以及图层的属性设置、符号化、标注等高级操作。
图层概念图层是地图的基本组成单元,用于组织和管理空间数据,每个图层代表一种地理要素或现象。
图层属性图层属性包括空间范围、坐标系统、数据格式、字段信息等,可以通过图层属性窗口进行查看和修改。
地图图层概念及操作符号化表达方法符号类型ArcGIS提供了丰富的符号库,包括点符号、线符号、面符号等,用于表达不同地理要素的形状、颜色、大小等特征。
符号设置可以通过符号选择器选择合适的符号,也可以通过符号属性编辑器自定义符号的样式、颜色、大小等参数。
动态符号化根据地理要素的属性值动态设置符号的样式和颜色,实现地图的交互式表达。
01020304数据准备专题图设置专题图类型选择地图整饰专题图制作流程04空间分析功能介绍Chapter空间查询与统计方法空间查询空间统计空间插值缓冲区分析原理及应用缓冲区分析原理应用示例4. 结果分析与解释对叠加结果进行分析和解释,提取有用信息并应用于实际问题中。
Python PPT电子课件
Matplotlib库:数据可视化
总结词
Matplotlib是一个用于绘制图表和图像 的库,支持多种类型的图表和可视化效 果。
VS
详细描述
Matplotlib库提供了丰富的绘图函数和类 ,可以用于绘制各种类型的图表,如折线 图、柱状图、散点图、饼图等。它还支持 定制图表的样式和布局,可以方便地创建 美观和专业的图表。Matplotlib还支持交 互式绘图和动画效果,可以用于制作动态 图表和交互式应用。
使用`raise`语句抛出异 常。
使用`finally`语句确保异 常处理后执行特定代码 。
使用`assert`语句进行条 件测试,触发异常。
装饰器与上下文管理器
01
02
03
装饰器
使用函数包装另一个函数 ,在不修改原函数的基础 上增加功能。
上下文管理器
使用`with`语句确保资源 在使用后被正确释放。
Python在物联网和嵌入式系统中的应用前景
物联网开发
Python在物联网设备开发中越 来越受欢迎,如智能家居、智能
农业等领域。
嵌入式系统
Python也开始被用于嵌入式系 统的开发,如树莓派等小型计算
机的开发。
控制与自动化
Python可以用于控制和自动化 嵌入式系统,如机器人和自动化
设备的控制。
感谢观看
人工智能和机器学习
Python在人工智能和机器学习领 域非常流行,许多知名的机器学 习库,如TensorFlow和PyTorch ,都是用Python编写的。
Web开发
Python有许多用于Web开发的框 架,如Django和Flask,使得快 速构建网站和Web应用成为可能 。
网络爬虫
arcgis中Python脚本的使用【简明教程】
arcgis中Python脚本的使用【简明教程】[初学入门]ArcGIS中Python脚本的使用By:飞天小猪目录写在前面的话 (2)前言 (2)一、PYTHON语言基础 (3)1数学运算符 (3)2字符串操作 (4)3模块的使用(M ODULES) (5)4使用DEF构建函数 (6)5流程控制结构:I F,W HILE,F OR (7)6简单输入和输出 (9)二、ARCGIS&PYTHON (10)1如何创建地理处理对象(GEOPROCESSOR OBJECT) (10)2获取地理处理帮助 (11)2.1举例:如何使用Geoprocessor Programming Model中的Lists (11)3使用地理处理工具——T OOLBOXES和A LIASES (12)4在建模中使用脚本(S CRIPTS IN M ODEL B UILDER) (13) 5在P YTHON W IN里调试地理处理脚本 (19)5.1 调试选择和消息 (20)5.2PythonWin的调试工具 (21)5.3地理处理工具举例 (22)6使用描述(D ESCRIBE)和存在(E XISTS)获取数据信息 (22)6.1描述 (23)6.2存在(Exists) (24)6.3在循环中使用描述和存在 (24)7在P YTHON脚本中使用地图代数(M AP A LGEBRA) (27)8数据管理和指针(D ATA M ANAGEMENT AND C URSORS)(28)8.1数据管理(Data Management) (28)8.2指针(Cursors) (29)附录1:地理处理脚本中输入&输出方法指南 (32)附录2:其他 (33)写在前面的话一直想学习ArcGIS中的Python脚本,大四下半学期终于有了时间,可是想找到这么一本好的教材不容易。
茫茫互联网,终于找到了旧金山州立大学Jerry Davis教授的个人主页,对其中《Geoprocessing Scripts With Python》如获至宝,独乐乐不如众乐乐,现在将其教程翻译并结合自己的学习情况给出总结。
ArcGIS使用Python脚本进行地理处理
ArcGIS使⽤Python脚本进⾏地理处理⽂章⽬录Python是ArcGIS内置的脚本处理函数,可进⾏地图分析,数据处理,制图等功能。
脚本与我们熟悉的ModelBuilder或是ArcToolbox功能很类似,但是不同的地⽅有:低层次的处理任务只有脚本可以执⾏,如某些表格操作脚本可以使⽤更复杂的编程逻辑,如错误捕捉等脚本可以包裹其他软件,如Excel 或是 R程序脚本可以单独运⾏,实际上也需要安装ArcGIS脚本可以定时执⾏ArcPy的类ArcPy有很多类,其中⽐较重要的有:地图⾃动化arcpy.mapping地图代数arcpy.saArcPy的执⾏导⼊ArcPy的⽅式:整体导⼊:import arcpy按需导⼊:from arcpy import env# 推荐⽅式# 导⼊的模块、类、或是⽅法可以有别名,如# from arcpy import env as myEnv设置⼯作空间:每个任务的开始需要先设置⼯作空间import arcpyarcpy.env.workspace = "C:/Data"调⽤ArcPy中⽅法:调⽤ArcPy中⽅法的两种⽅式:1、 arcpy.<toolname_toolboxalias>() 如:import arcpyarcpy.env.workspace = "C:/Data"arcpy.Clip_analysis("streams.shp", "study.shp", "result.shp")2、 arcpy..() 如:import arcpyarcpy.env.workspace = "C:/Data"arcpy.analysis.Clip("streams.shp", "study.shp", "result.shp")ArcPy中包含所有ArcToolbox中⽅法,名称也与对应的⼯具名称对应,如Analysis Tools -> Extract -> clip对应的⽅法为:Clip_analysis注意调⽤函数时,如遇到⽆需填写的参数可⽤""或是"#" 占位获取ArcPy执⾏结果执⾏函数print arcpy.GetMesssages()ArcPy权限检查检查产品有:arcviewarceditorarcinfoengineenginegeodbarcserver检查产品可⽤性:print arcpy.CheckProduct("arcinfo")# AlreadyInitalized# AlreadyInitalized— 许可已经设置# Available—许可可⽤# Unavailable—许可不可⽤# NotLicensed—许可⽆效# Failed—系统出错检查产品信息:print arcpy.ProductInfo()# ArcInfo检查扩展:arcpy.CheckExtension("spatial")# availableArcPy获取空间数据信息判断是否存在数据集import arcpyprint = arcpy.Exists("C:/Data/streams.shp")arcpy.Exists() 中dataset是⼀个字符串,可是是windows可以识别的⽂件路劲,也可是是catalog中的路径。
在Arcmap中使用Python
ArcGIS中的Python简介:ArcGIS 8.X之前不能使用脚本语言,只能通过VB, C++的应用程序接口访问。
ArcGIS 9.0/9.1版本开始引入Python,通过PythonCOM接口调用gp(GeoProcessing对象),这种方式类似于调用其它程序的脚本,必须通过导入Win32com包实现(单独安装),同时必须启动ArcMap等程序之后才能进行操作。
如下:import win32com.client # 9.1以前老版本的访问方式gp = win32com.client.dispatch("esriGeoProcessing.GPDispatch.1")ArcGIS 9.2版本之后就抛弃了PythonCOM方式,采用C/C++扩展了一个一个Python对象(GP),该对象位于..\ArcGIS\BIN\arcgisscripting.dll,该对象直接引用了Python24.dll(位于C:\WINDOWS\system32),从名称可以看出全部使用小写名称也是C的风格。
使用GP对象可以在不启动ArcGIS方式下直接处理数据,性能更加稳定。
要在Python中直接使用gp对象,需要在PYTHONPATH 变量中增加..\ArcGIS\BIN\目录,这样在Python脚本中就可以直接导入arcgisscripting对象了。
如下:import arcgisscripting # 9.2以后新版本的调用方式gp = arcgisscripting.create()注意:9.1和9.2在python代码上的区别仅此两行而已!!但9.3之后增加了许多列表函数,需要改写程序。
import arcgisscripting # 9.3以后版本的调用方式gp = arcgisscripting.create(9.3) # 在9.3中使用create不添加版本号以9.2兼容方式运行import arcpy # 10.0以后的版本在ArcGIS的9.3版本中,gp对象增加了许多列表对象如:ListFields, ListFeatureClasses等,这样使得操作更加方便,避免频繁地遍历。
ArcGISPython的简单应用
ArcGISPython的简单应用原创小刘 GIS前沿 2022-03-14 12:10之前已经讲了:ArcGIS中的Python入门知识点整理,今天我们继续来看看Python,通过简单的应用让你更加了解ArcGIS Python。
1.按属性选择要素:相关代码如下图所示:图片依旧将其放到arcmap内置编辑器中运行代码,结果如下图所示:图片通过之前的几个方法函数名可以知道,方法都是(工具名称_工具箱别名),两者一起使用,为什么要加一个工具箱别名呢?这是因为许多工具的名称相同,如下图所示,都是【Clip】,在不同工具箱下却有不同的【Clip】工具存在,因此在脚本中调用某个工具时同时引用工具名称和工具箱别名可以唯一标识该工具。
图片怎么看工具箱别名,右键工具箱属性即可查看,如下图所示的【数据管理工具】的别名Alias=management。
图片2.输出工程文件夹里面内容列表的名称:工程文件夹内容列表如下图所示:图片代码如下:运算结果如下图所示:可以看到作为临时文件【GSD】和【GSD1】都没有被输出。
游标是一种数据访问对象,可用于在表中迭代一组行或者向表中插入新行。
游标有三种形式:搜索、插入和更新。
游标通常用于读取现有几何和写入新几何。
如下是官方文档对游标函数的简单说明:3.下面使用代码查询纬度小于27.9度的【公司点.shp】的名称、FID、经度字段信息这是原始属性表中的信息:运行结果如下图所示:4.接下来根据【公司点.shp】(全部在长沙市内)的经度范围插入一个新字段【位置】使其判断该公司点位于长沙市的什么位置(东部、中部、西部)。
首先查看其经度统计数据,如下图所示:为此我考虑使用112.5度和113.5度作为划分界限,书写代码如下所示:注意:多数情况下,ArcGIS 会对地理数据库中的数据集自动应用方案锁,以帮助管理变更且不会与其他用户发生冲突。
方案锁指的是其他应用程序正访问数据库,不允许通过添加或移除字段更改其结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
推荐度
IDLE
手动
有(很差) 用库
无
开源
★★
PythonWin
手动
有
用库
无
开源
Win Onl
★★★
SPE
无
有
WPDB 存盘时 开源
★★★★
Ulipad
有
有
WPDB 自动
开源
★★★★★
Eric
有
有
类VC 自动
开源
★★★★★
BOA
手动
手动
类VC 无
开源
中文支持差 ★★★
WingIDE
有
有
类VC 手动
共享
TIOBE开发语言琅琊榜
Python的优点
• 简单 • 易学 • 免费、开源 • 高层 • 可移植性 • 解释性
• 面向对象 • 可扩展性 • 可嵌入性 • 丰富的库 • 海量资源 • ……
跨平台语言:支持Windows/Unix/Linux/Macintosh
Python的站点包
jupyter
Python自带的IDE
• 集成开发环境(Integration Development Environment)
PyCharm
Python功能包与ArcGIS平台对应关 系
ArcGIS Python API Arcpy
桌面
Web
移动设备
Portal
Web GIS
ArcRest/PortalPy
将存储在字段值中类似379.826的数据处理成K379+826
交通行业通常需要将道路 的里程数据存储成 K389+34的形式。
第一步:!桩号! .replace(".","+") 第二步:“K“+ !桩号!
示例:python窗口批量 数据删除
批量删除要素类:
import arcpy from arcpy import env env.workspace=r'C:\Users\yanrui\Documents\ArcGIS\Default.gdb' fcs = arcpy.ListFeatureClasses() for fc in fcs:
• 代码库:
• C:\Program
Files
(x86)\ArcGIS\Desktop10.4\arcpy\arcpy
ArcPy
arcpy.da
arcpy.mappi ng
数据的编辑会话
表、要素类与 Numpy格式互 转
版本、属性域和 子类工作流
操作.mxd和.lyr
扩展了数据驱动 页面功能,自动 导出、打印地图
eyed3
flask
ArcPy
pyreadli ne
pip
matplotlib
jinja2
numpy
pandas
Web.py
GWPY
Python的缺点
强制缩进
慢
Python的版本
-跨平台语言,支持 Windows/Unix/Linux/Macintosh -下载路径: -安装
Python 2.x和3.x的区别
ArcGIS中不可不知的Python使 用技术
Python的历史
Python是自由软件的丰硕成果之一 ➢创始人Guido van Rossum ➢时间地点 :1989年圣诞节期间在阿姆斯 特丹创造 ➢名字来源 :大蟒蛇飞行马戏团的爱好者 ➢渊源:从ABC发展而来 主要受Modula-3的影响 结合了Unix shell和C的习惯
……
Python 3.4
ArcGIS Python API(beta)
ArcGIS 9.0/9.1
ArcGIS 9.2
ArcGIS 9.3
ArcGIS 10.0
ArcGIS ArcPro Python
10.4
1.2
API
常用IDE比较
IDE name
自动补全 智能感知 调试 语法检查 开源 特别注意
Server
在线内容与服务
Python in Desktop/Pro
ArcPy
• Arcpy——为用户提供了使用 Python 语言操 作所有地理处理工具(包括扩展模块)的 入口,并提供了多种有用的函数和类,以 用于处理和询问 GIS 数据。使用 Python 和 ArcPy,可以开发出大量的用于处理地理数 据的实用程序。
• 属性选择
GeoDatabase
• 。。。
• 元数据处理
• 元数据填写
• 元数据标准转换
• 。。
属性数据
行政区 用地性质 用地面积 …
数据管理
• 来自 management.py
创建SDE连接文件
• 完全实现 Data Manager Tools
创建ArcGIS Server连接文件
示例:Python字段计算 器
3.X增加了部分功能包,但是也删除了一些2.x的 功能包,总体来说差不多
操作符规则 数据类型
3.X 规则更加严格 3.X去除了long类型,现在只有一种整型int
面向对象
3.x引入抽象基类,容器模块中类型更多
成熟度
第三方包数 量
3.X的成熟度还比较低,guido认为3.x可优化的余 地还很大
3.X的第三方包远远小于2.x,特别是不同平台上 面。
ArcGIS中Python的用法
4.Python Add-in
数据管理
• 管理地理数据库(personal/ GDB) 空间数据
数据创建
数据库连接
数据备份
• •
数据格式转换 空间数据格式转换
数据过滤 • 非空间数据格式转
字段计算 换
• 数据预处理
•
……• 数据抽稀
• 字段计算
• 空间选择
பைடு நூலகம்
ArcGIS Python API的发 展历程
基于 dispatch geoprocesso r Python 2.1
arcgisscripti ng Python 2.4
arcgisscripti ng Python 2.5
ArcPy站点 包 Python 2.6
Python 2.7 第三方包
自动化制图 数据访问 空间分析
可发布为服务在 Web端使用
arcpy.sa
执行空间分析 、空间运算
arcpy.na
可访问Network Analyst Toolbox的所有 工具(增删图层 、获取属性) 结合 Arcpy.Describe 使用
arcpy.ga
arcpy.time
ArcGIS中Python的用法
1.字段计算器
2.制作gp工具
中文要设置 ★★★★
Komodo
无
有
类VC 手动
共享
相当耗资源 ★★★★
VIM+插件
有
无
无
无
开源
★★★
emacs+插件
有
无
无
无
开源
★★★
eclipse+pydev插件 有
有
类VC 自动
开源
比较耗资源 ★★★★★
VS +VisualPython 无
有
类VC 无
共享
★★
PyCharm
有
有
有
自动
开源
★★★★★★
Python自己版本之间的比较,满分5颗星
2.x
3.x
运行效率
说明
3.0比2.x的整体运行效率低30%,3.1慢15%但是 3.x在字符串和整形运算上效率较高
中文编码
关键字 Print 功能
3.X默认支持中文编码,而且可以使用中文变量名, 不用任何额外声明
3.x增加了部分关键字
3.X把print语句换成了print函数