ARCGIS10栅格计算PYTHON代码_第1页
ARCGIS10栅格计算PYTHON代码_第2页
ARCGIS10栅格计算PYTHON代码_第3页
ARCGIS10栅格计算PYTHON代码_第4页
ARCGIS10栅格计算PYTHON代码_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、使用python语言进行栅格计算1重采样通过更改像元大小和重采样方法来更改栅格数据集用法:1)可更改像元大小,但栅格数据集的范围将保持不变。2)本工具仅能输出方形像元大小。3)可将输出保存为 BIL、BIP、BMP、BSQ、DAT、GIF、GRID、IMG、JPEG、JPEG 2000、PNG、TIFF 格式或任意地理数据库栅格数据集。 4)有四个用于重采样技术参数的选项:“最邻近”选项,用于执行最邻近分配法,是速度最快的插值方法。此选项主要用于离散数据(如土地使用分类),因为它不会更改像元的值。最大空间误差将是像元大小的一半。“众数”选项,用于执行众数算法,可根据过滤器窗口内的最常用值确定像

2、元的新值。与最邻近法一样,此选项主要用于离散数据;但与“最邻近”选项相比,“众数”选项通常可生成更平滑的结果。“双线性”选项,用于执行双线性插值法,可根据四个最邻近输入像元中心的加权平均距离确定像元的新值。此选项用于连续数据,并会生成平滑的数据。“三次”选项,用于执行三次卷积插值法,可通过拟合穿过 16 个最邻近输入像元中心的平滑曲线确定像元的新值。此选项适用于连续数据,尽管所生成的输出栅格可能会包含输入栅格范围以外的值。与通过运行最邻近重采样算法获得的栅格相比,输出栅格的几何变形程度较小。“三次”选项的缺点是需要更多的处理时间。在某些情况下,此选项会使输出像元值位于输入像元值范围之外。如果无

3、法接受此结果,请转而使用“双线性”选项。“双线性”或“三次”选项不得用于分类数据,因为像元值可能被更改。5)输出栅格数据集的左下角与输入栅格数据集的左下角具有相同的地图空间坐标位置。语法:Resample_management (in_raster, out_raster, cell_size, resampling_type)实例:#Resampletry: import arcpy arcpy.env.workspace = rD:/work #Resample TIFF image to a higher resolutionarcpy.Resample_management(aa.ti

4、f, resample3.tif, 4.0e-006, CUBIC)#NEAREST最邻近 | BILINEAR 双线性| CUBIC 三次| MAJORITY众数except: print Resample example failed.print arcpy.GetMessages()2加逐个像元地将两个栅格的值相加(求和)或与一定的数值相加。语法:Plus_3d (in_raster_or_constant1, in_raster_or_constant2, out_raster)实例:# Name: jia.py# Description: Adds the values of two

5、 rasters on a cell-by-cell basis.# Requirements: 3D Analyst Extension# Author: ESRI# Import system modulesimport arcpyfrom arcpy import env# Set environment settingsenv.workspace = D:/work# Set local variablesinRaster = bb.tifinConstant = 100# Check out the ArcGI 3D Analyst extension licensearcpy.Ch

6、eckOutExtension(3D)# Execute Plusarcpy.Plus_3d(inRaster, inConstant,D:/work/output3.tif)结果:将栅格数据bb中每个像元的值加上100得到新的栅格数据3减逐个像元地从第一个输入栅格的值中减去第二个输入栅格的值或减去一个确定的数值。语法:Minus_3d (in_raster_or_constant1, in_raster_or_constant2, out_raster)实例:# Name: jian.py# Description: Adds the values of two rasters on a c

7、ell-by-cell basis.# Requirements: 3D Analyst Extension# Author: ESRI# Import system modulesimport arcpyfrom arcpy import env# Set environment settingsenv.workspace = D:/work# Set local variablesinRaster1 = output.tifinRaster2 = output4.tif# Check out the ArcGI 3D Analyst extension licensearcpy.Check

8、OutExtension(3D)# Execute Plusarcpy.Minus_3d(inRaster1, inRaster2,D:/work/output6.tif)结果:对栅格数据output.tif进行与output4.tif逐个像元值的减法运算得出新的栅格数据。4乘将两个栅格的值逐个像元地相乘或乘以一个定值。语法:Times_3d (in_raster_or_constant1, in_raster_or_constant2, out_raster)实例:# Name: cheng.py# Description: Multiplies the values of two rast

9、ers on a cell-by-cell basis.# Requirements: 3D Analyst Extension# Author: ESRI# Import system modulesimport arcpyfrom arcpy import env# Set environment settingsenv.workspace = D:/work# Set local variablesinRaster = output.tifinConstant = 2# Check out the ArcGIS 3D Analyst extension licensearcpy.Chec

10、kOutExtension(Spatial)# Execute Timesarcpy.Times_3d(inRaster, inConstant, D:/work/timesout2.tif)结果:逐个将每个像元值乘以2输出新的栅格。5除将两个栅格的值逐个像元地相除或除以一个定值。当一个数除以零时,输出结果为 NoData。输入的数据类型将决定输出的数据类型:如果两个输入均为整数,则将执行整数除法,并且输出结果为整数。例如,如果 3 除以 2,则输出为 1。如果两个输入中的任何一个为浮点型,则将执行浮点型除法,并且输出结果也为浮点型值。例如,如果 3 除以 2.0,则输出为 1.5。语法:Di

11、vide_3d (in_raster_or_constant1, in_raster_or_constant2, out_raster)实例:# Name: chu.py# Description: Divides the values of two rasters on a cell-by-cell basis# Requirements: 3D Analyst Extension# Author: ESRI# Import system modulesimport arcpyfrom arcpy import env# Set environment settingsenv.workspa

12、ce = D:/work# Set local variablesinRaster1 = timesout2.tifinRaster2 = output.tif# Check out the ArcGIS 3D Analyst extension licensearcpy.CheckOutExtension(3D)# Execute Dividearcpy.Divide_3d(inRaster1, inRaster2, D:/work/outdivide.tif)结果:将timesout2.tif逐个像元的与 output.tif的像元值相除输出新栅格。6转为整型通过截断将栅格的每个单元值转换

13、为整型。1输入值可为正数,也可为负数。2如果相比于截断更希望采用舍入方式,则请在执行操作之前添加 0.5 个输入栅格。3整型栅格值的最大支持范围是从 -2,147,483,648(由 2的31次确定的最小值)到 2,147,483,647(由 2的31次减去1确定的最大值)。如果将转为整型用在浮点型栅格上,且该浮点型栅格具有所含值超出该范围的像元,则这些像元在输出栅格中的值将为 NoData。4将分类(离散)数据作为整型栅格存储所占用的磁盘空间要明显少于将同样的信息作为浮点型栅格存储所占用的磁盘空间。如有可能,建议使用该工具将浮点型栅格转换为整型。语法:Int_3d (in_raster_or

14、_constant, out_raster)实例:# Name: int.py# Description: Converts each cell value of a raster to an integer by truncation# Requirements: 3D Analyst Extension# Author: ESRI# Import system modulesimport arcpyfrom arcpy import env# Set environment settingsenv.workspace = D:/work# Set local variablesinRast

15、er = timesout1.tif# Check out the ArcGIS 3D Analyst extension licensearcpy.CheckOutExtension(3D)# Execute Intarcpy.Int_3d(inRaster, D:/work/outint.tif)7转为浮点型将每个栅格像元的值转换为浮点型表达形式。1输入值可为正数,也可为负数。2如果对已经是浮点型的输入执行转为浮点型操作,则输出值将与输入值相同。语法:Float_3d (in_raster_or_constant, out_raster)实例:# Name: float.py# Description: Converts each cell value of a raster into a floating-point representation# Requirements: Spatial Analyst Extension# Author: ESRI# Import system modulesimport arcpyfrom arcpy import envfrom arcpy.sa import *# Set environment settin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论