当前位置:文档之家› ARCGIS中Python实现批量裁剪

ARCGIS中Python实现批量裁剪

ARCGIS中Python实现批量裁剪
ARCGIS中Python实现批量裁剪

A R C G I S中P y t h o n

实现批量裁剪

标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

程序代码:

[python]

1.import arcpy

2.("spatial")

3.=1

4.="F:\\Modis_16\\1Moasic"

5.rasters=("*","tif")

6.mask="F:\\VegetationChange\\Data\\Bound\\"

7.for raster in rasters:

8.print(raster)

9.out="F:\\VegetationChange\\Data\\GIMMSData\\new\\"+"ma_"+raster[0:8]

10.(raster,mask,out)

11.print("ma_"+raster[0:8]+"hasdone")

12.print("Alldone")

二、注意事项:

即覆盖之前的文件;

2.输入的是.tif文件,输出的是Grid文件;

[0:8]表示从第0个开始取8个字符串;

后缀名不可或缺。

三、运行情况:

ArcGIS中Python脚本学习

[初学入门]ArcGIS中Python脚本的使用 By:飞天小猪 目录 写在前面的话...................................................................................................... 错误!未定义书签。 前言..................................................................................................................... 错误!未定义书签。 一、PYTHON语言基础 ....................................................................................... 错误!未定义书签。 1数学运算符........................................................................................................ 错误!未定义书签。2字符串操作........................................................................................................ 错误!未定义书签。3模块的使用(M ODULES) .................................................................................. 错误!未定义书签。4使用DEF构建函数 ............................................................................................. 错误!未定义书签。5流程控制结构:I F,W HILE,F OR....................................................................... 错误!未定义书签。6简单输入和输出................................................................................................ 错误!未定义书签。 二、ARCGIS&PYTHON ......................................................................................... 错误!未定义书签。 1如何创建地理处理对象(GEOPROCESSOR OBJECT)............................................. 错误!未定义书签。2获取地理处理帮助............................................................................................ 错误!未定义书签。 2.1举例:如何使用Geoprocessor Programming Model中的Lists ............... 错误!未定义书签。3使用地理处理工具——T OOLBOXES和A LIASES.................................................... 错误!未定义书签。4在建模中使用脚本(S CRIPTS IN M ODEL B UILDER) ............................................... 错误!未定义书签。5在P YTHON W IN里调试地理处理脚本 ................................................................ 错误!未定义书签。 5.1 调试选择和消息........................................................................................ 错误!未定义书签。 5.2PythonWin的调试工具............................................................................... 错误!未定义书签。 5.3地理处理工具举例..................................................................................... 错误!未定义书签。6使用描述(D ESCRIBE)和存在(E XISTS)获取数据信息 .................................. 错误!未定义书签。 6.1描述............................................................................................................. 错误!未定义书签。 6.2存在(Exists)............................................................................................ 错误!未定义书签。 6.3在循环中使用描述和存在......................................................................... 错误!未定义书签。7在P YTHON脚本中使用地图代数(M AP A LGEBRA) ........................................... 错误!未定义书签。8数据管理和指针(D ATA M ANAGEMENT AND C URSORS)........................................ 错误!未定义书签。 8.1数据管理(Data Management) .............................................................. 错误!未定义书签。 8.2指针(Cursors)......................................................................................... 错误!未定义书签。 附录1:地理处理脚本中输入&输出方法指南 .................................................. 错误!未定义书签。附录2:其他....................................................................................................... 错误!未定义书签。

实验三 ARCGIS PYTHON脚本编程

实验三ArcGIS Python脚本编程 姓名:班级:学号: 实验目的 1、熟练掌握ArcGIS Python脚本编程,熟悉如何根据空间数据某个属性值选择数 据点,并用空间统计算法进行处理,保存并进行可视化; 2、熟悉空间核密度估计方法(Kernel Density Estimate) 数据准备 1.解压Experiment3.zip文件,打开ArcMap,将数据students_wgs84.shp添加到一个新地空地图文件中,如下图所示 数据为NUIM在校生学籍注册地址,坐标系为WGS84,即所使用地为经纬度,打开属性表:

主要属性名称含义如下: ●County:学生所在郡/县,如DUBLIN为爱尔兰首都都柏林; ●ED:Electrol District,爱尔兰最小地行政单元,直译为“选举区”,隶属于 County; ●ED_ID:ED地区分编号; ●INITIAL_AD:入学前家庭地址 ●TYPE:此处均为STUDENT ●COUNTY_ID:郡县编号 第一部分 在Sublime中新建task_Part1.py,并保存到与数据相同地文件夹下,输入以下代码:

这个代码就是将来自于DUBLIN、MEATH、LOUTH三个郡(County)的学生取出来,如用 counties=["DUBLIN","MEATH","LOUTH"] 定义的循环体。然后将取出的这些记录存储在一个临时地文件temp_lyr中:result=arcpy.MakeFeatureLayer_management(input_fc,temp_layer,"\"COUNTY\" ='"+unit+"'") 最后将这些抽取地点地坐标值分别按照所属地郡存储至“data_DUBLIN.csv”、“data_LOUTH.csv”、“data_MEATH.csv”三个CSV文件中,可以在当前文件夹下的子文件夹csvdata去查看这些文件地内容: Longitude,Latitude -6.68536404605,53.6525262979 -6.66472854007,53.6483054369 -6.24173854864,53.6820175854 ... 第一部分任务 1)编辑上面地代码,要求通过“ED”的值,选取来自于LEIXLIP、CELBRIDGE、KILCOCK三个区域的学生,并将学生地坐标值分别存储为名称为data_LEIXLIP、data_CELBRIDGE、data_KILCOCK的CSV文件,存储到csvdata子文件夹下; 2)任选上面一个CSV坐标文件,写一个python脚本,创建一个KML文件,要求将坐标文件中的每个坐标都存储为一个个地标,KML文件中地单个地标格式为: Simple placemark

在ArcGIS下基于Python的矢量数据处理方法

测绘技术装备 第18卷 2016年第4期 技术交流 63 在ArcGIS 下基于Python 的矢量数据处理方法 林璐 王爽 李海泉 侯兴泽 马鹏刚 (国家测绘地理信息局第二地形测量队 陕西西安 710054) 摘 要:在ArcGIS 中地理处理可以通过Python 脚本语言来具体实现。通过Python 串联Arcgis 的地理处理工具,实现工作流自动化完成,同时,实践批处理过程,解放人工的机械重复工作,提高效率,进而保证数据质量。现以地形图中示坡线的正确、严谨表达为实践案例,介绍了在ArcGIS 下利用Python 处理矢量数据,为矢量数据处理的高效、自动化提供解决方法。 关键词:Python ARCGIS 地理处理 示坡线 1 引言 地理处理是GIS 用户应用的重要组成部分,ArcGIS 的ArcToolbox 窗口为GIS 用户提供了数百个地理处理。对于数据处理人员在使用ArcGIS 地理处理工具时,就会遇到这样的难题,如何将几个简单的地理处理工具串联起来,自动化地完成一个简单工作流,使得人工操作转换为自动化的程序批处理 过程[1] 。 Python 是一种不受局限、跨平台的开源编程语言,它功能强大且简单易学。同时,它可伸缩程度高,适于大型项目或小型的一次性程序(称为脚本), 并且可嵌入(使ArcGIS 可脚本化)。目前,Python 已延伸到ArcGIS 中,成为了一种用于进行数据分析、数据转换、数据管理和地图自动化的语言。运用 Python 语言可以实现对地理数据的批处理,从而有 助于提高工作效率[2] 。 2 开发案例说明 示坡线,是指示斜坡降落的方向线,它与等高线垂直相交。一般表示在谷地、山头、鞍部、图廓边及斜坡方向不易判读的地方。凹地的最高、最低 一条等高线上也应表示示坡线[3] 。在测绘4D 产品之一的数字线划图(DLG)中,示坡线一般以有向点或有向线(长度为定值的线段)的方式表达。其中,有向点应严格捕捉相应等高线,通过填写要素角度属性项表达所示方向;有向线为线段,起始节点应严格捕捉相应等高线,终止节点指向所示方向,线段长度为规范要求长度。 图1 山丘、山峰和盆地、洼地的示坡线示意图 一般在DLG 制作过程中,特别是中小比例尺地形图,通常利用立体测图系统,在恢复立体影像相对模型的情况下,人工判断地貌,并采集示坡线。采集时要求在对应等高线采集第一点,沿斜坡的方向采集第二点。为提高生产效率及生产工序技术要求,此时采集的示坡线,不符合前述DLG 拓扑规范要求。存在未严格捕捉等高线,造成悬挂和相交的拓扑问题;或示坡线要素长度不定,不符合技术要求;亦或示坡线采集图形上看正确,实际上刚好与要求相反,是由斜坡降落方向向等高线采集。这些情况致使下工序矢量数据编辑处理时,需要人工核对、修改,工作量大且繁琐(尤其是在沙漠、特殊丘陵地区,1幅1∶10000比例尺地形图可能需要上千个示坡线表示地貌形态),如果作业人员责任心不足还易造成质量隐患。 3 处理方案设计 3.1 方案设计思路 数据要素处理的关键是两点:一是解决拓扑问题,二是实现示坡线角度正确表达。因此解决思路是:首先,要满足拓扑要求,即相应要素之间严格

ArcGISPython实习指导

实习一Python基础学习 1.什么是python Python是一种不受局限、跨平台的开源编程语言,它功能强大且简单易学。因而得到了广泛应用和支持。 ArcGIS 9.0社区中引入了Python。此后,Python被视为可供地理处理用户选择的脚本语言并得以不断发展。每个版本都进一步增强了Python体验,从而为您提供更多的功能以及更丰富、更友好的Python体验。 ESRI已将Python完全纳入ArcGIS中,并将其视为可满足用户需求的语言。下面仅介绍Python的部分优势: ?易于学习,非常适合初学者,也特别适合专家使用 ?可伸缩程度高,适于大型项目或小型的一次性程序(称为脚本) ?可移植,跨平台 ?可嵌入(使ArcGIS可脚本化) ?稳定成熟 ?用户社区规模大 Python已延伸到ArcGIS中,成为了一种用于进行数据分析、数据转换、数据管理和地图自动化的语言,因而有助于提高工作效率。 2.在ArcGIS中使用Python (1)打开ArcMap,在工具栏中点击“”按钮,位置如图1-1所示,即可打开Python编辑窗口。

图1-1 (2)Python程序为解释运行,输入一行代码,按“回车”键后即可运行,如图1-2。 图1-2

3.行和缩进 学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。(1)缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。在Python窗口中输入如图1-3所示的代码块并运行,该代码块是严格缩进的。 图1-3 (2)以下代码将会执行错误,如图1-4: 图1-4

ARCGIS与PYTHON

arcgis与python(zz) ESRI软件中的脚本语言一直使用两种模式。 第一种为AML宏语言,该模型显示了PrimOS系统特性。输出为文件格式,数据处理基于目录和文件系统,代码是线性的。 第二个模式是AVENUE语言,继承了Smalltalk的特性。对象响应是调用方法名称,处理事物不必是线性的,有时会引起I/O冲突,集成啦其他语言的混合包。两种语言都有各自的弊端。 随着ArcGIS8的出现,基于地理视图的脚本语言开始引入,基于接口的编程要求用户使用“真正的”编程语言,如,C++,VB,访问ArcGIS8的功能。没有脚本语言自动完成该系列任务。这用户必须写可执行程序,在复杂的接口树和对象里找到需要的工具,并汇编成DLLs动态库和类型库来使用自定义功能。 ArcGIS9版本的面世,ESRI再次提供了访问该软件的新的脚本语言。ESRI意识到,许多用户并不想或不必是个开发者,但还想使用工具解决他们遇到的问题。这些工具包括,友好一致的界面,脚本对象,用于自定义功能所必须的细致入微的编程工具。 满足这些需要,ESRI提供了多种脚本语言-使用ArcObjects-开始空间处理框架。Python,ESRI支持的脚本语言之一,是一种开源的,编译性的,动态类型的,面相对象的脚本语言之一。Python包含在ArcGIS9中,典型的安装与其他组件一起安装。本篇文章总体介绍如何利用P ython的资源帮助大家的GIS编程以及集成ESRI工具。 1Python简介 Python第一次公开发行是1991年,作者是CWI(阿姆斯特丹国家数学和计算机科学研究所)的研究员Guido van Rossum。名字来源于Guido喜欢的喜剧连续剧“Monty Pytho n”,python继承了许多其他语言的特征,如ABC,Modula,LISP,以及Haskel,这些包括很高级的特征,如元类(metaclass),生成器,列表综合(list comprehension)。但更多的程序员需要的仅仅是python的基本类型,如,列表,字典,字符串。 虽然,已经有13年的发展,目前的版本是2.3。这反映了Guido慈善的独裁者设计哲学,以及开发组的精益求精。他们努力增加新的内容,并保持向后的兼容性,当必要时,重新设计在以前发现有问题的地方。 2python设计 Python语言被设计成易于使用,易于学习的动态脚本语言,这意味着用户不需要编译,交互式的方式可以让用户学习到许多执行层次。 Python的设计哲学,Tim Peter在The Zen of Python描述的最清晰,python程序员遵照这些哲学指导他们学习这门语言,帮助他们编写代码,以保持python的一贯风格。

Arcgis 10中的PYTHON

By diligentpig
$UF*,6
Geoprocessing GIS ×' Tools & '
3\WKRQ
GeoVisualization ArcGIS 5' > GeoData
Geoprocessing × 9.0 ,'
Modeling Python Python / üPython Python /
"ü 3
/
5'
/"
Python ü '
ArcGIS 10 / ü
ArcPy

By diligentpig
Python ArcGIS arcgisscripting module9.3 ,'
9.2 ,' Python List
ArcGIS 10 / ArcPy site-package Python > %# ArcPy 800+ / , ArcPy
arcgisscripting module > % > '/
/"
%#=#%# Geoprocessing Tools ! %
Python IDE
cursorsgeometry / classes NumPy
/NumPyArrayToRasterRasterToNumPyArray
DUFJLVVFULSWLQJ DUFS\
# 9.3 import arcgisscripting gp = arcgisscripting.create(9.3) array1 = gp.createobject("array") # 10.0 import arcpy array2 = arcpy.Array()
Python Window

arcgispython图形有关操作

arcgis python 图形有关操作 arcgis python 图形有关操作作者:gisoracle | 出处: 博客园| 2012/2/13 23:03:29 | 阅读49次计算字段(数据管理)ArcGIS 10汇总为要素类、要素图层或栅格目录计算字段的值。查看计算字段工具的使用示例用法Python 表达式可通过几何对象中的属性(type、extent、centroid、firstPoint、lastPoint、area、length、isMultipart 和partCount)进行 创建。!shape.area!Python 表达式可以使用具有面积或线性单位的几何area 和length 属性将值转换为不同的测量单 位(例如!shape.length@kilometers!)。如果数据存储在地理坐标系中且具有线性单位(例如英里),则使用测地线算 法计算长度。在地理数据中使用面积单位会产生不正确的结果,这是由于沿globe 的十进制度并不一致。面积测量单位关键字:英亩| 公亩| 公顷| 平方厘米| 平方分米| 平方英寸| 平方英尺| 平方千米| 平方米| 平方英里| 平方 毫米| 平方码| 平方地图单位| 未知线性测量单位关键字:厘米| 十进制度| 分米| 英尺| 英寸| 千米| 米| 英里| 毫米| 海里| 磅| 未知| 码在工具对话框中,可将表达式直接输入到表达式参数中,或者使用“字段计算器”以交互 方式构建表达式。使用所选要素集(如从创建要素图层或按属性选择图层内的查询中创建的要素集)时,此工具将只更

新所选的记录。每次操作仅能对一个字段应用计算。现有字段值将被覆盖。如果想要保留原始字段值,应创建输入表副本对于Python 计算,必须在字段名称两旁添加惊叹号(!字段名!)。对于VB 计算,字段名称必须用方括号括起([字段名])。计算文本或字符字段的字符串时,在对话框中,必须对字符串添加双引号("字符串"),而在脚本中,还必须对加双引号的字符串添加单引号('"字符串"')。此工具也可用于更新字符项。应对使用字符串的表达式添加单引号(例如[CHARITEM] = ‘新字符串')。但是,如果字符串已包含单引号,则要对该字符串添加双引号,例如[CHARITEM] = "类型'A'"。要计算数值字段,可在表达式参数中输入数值;值的两旁无需加引号。如果已指定Python 表达式,则此工具支持arcgis.rand() 函数。已为ArcGIS 工具创建 arcgis.rand() 函数,不应将此函数与Python Rand() 函数相混淆。arcgis.rand() 函数的可用分布的语法在随机值的分布语法中进行介绍。表达式与代码块会相互连接。代码块必须返回与表达式的关联;代码块的结果应传入到表达式中。代码块参数可用于创建复杂表达式。您可以在对话框中直接输入代码块,或在脚本中将代码块作为连续字符串输入。Python 数学模块及格式可供代码块参数使用。您可以导入附加模块。数学模块可提供数论函数与表达函数、幂函数与对数函数、三角函数、角度转换函数、双曲函数以及数学常

在ARCMAP中使用PYTHON

ArcGIS中的Python简介: ArcGIS8.X之前不能使用脚本语言,只能通过VB,C++的应用程序接口访问。ArcGIS9.0/9.1版本开始引入Python,通过PythonCOM接口调用gp(GeoProcessing对象),这种方式类似于调用其它程序的脚本,必须通过导入Win32com包实现(单独安装),同时必须启动ArcMap等程序之后才能进行操作。如下: import win32com.client#9.1以前老版本的访问方式 gp=win32com.client.dispatch("esriGeoProcessing.GPDispatch.1") ArcGIS9.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以后的版本

相关主题
文本预览
相关文档 最新文档