ArcGIS—基于Python的脚本编程(5)

这篇文章主要介绍基于Python的栅格数据一些处理方法。

目录


栅格元素类型

  1. 栅格数据集:存储在磁盘中或者数据库中,包括TIFF、JPEG、Esri GRID等格式;栅格数据集是没有栅格分辨率属性的;
  2. 栅格波段:栅格数据集中的一个图层,访问波段可以使用 栅格数据/Band_1 形式;只有栅格波段才有分辨率属性。
  3. 栅格目录:以表格形式定义的栅格数据的集合。(这个我倒是没有注意过,也不知道具体说的是哪种。待考证。)

2. 栅格数据集的属性

  • 通过arcpy.Desribe()函数来获取
desc = arcpy.Describe(栅格数据)
  • 常用的栅格数据集有以下属性
desc.dataType   //判断栅格元素的数据类型
desc.bandcount  //栅格数据集的波段数
desc.format     //栅格数据格式(如TIFF、GRID等)
desc.permanent  //栅格数据的状态(False代表临时数据,反之则不是)
  • 更多的,从describe中还可以获取height行数、weight列数、meanCellWeight栅格单元在x方向上的值等等(注意:这些都属于栅格波段特有的属性),就不再一一赘述了,具体要看可以去arcgis的help文档。

3. 处理栅格对象

  • 在arcpy中有专门的栅格类,通常使用栅格类来进行栅格数据的处理:
## 通过已有栅格数据创建栅格对象
raster1 = arcpy.Raster(栅格数据完整路径)

## 通过地理处理语句创建新栅格对象,如Slope方法创建一个新栅格
raster2 = arcpy.sa.Slope(栅格数据)
  • 栅格对象只有一个方法:
栅格对象.save(保存的具体完整路径)

4. ApplyEnvironment函数

ApplyEnvironment函数并不能将所有环境参数都进行设置,仅限于Cell Size, Current Workspace, Mask, Output Coordinate System, Scratch Workspace, Snap Raser这几个。

## 将栅格对象2的环境设置应用到栅格对象1上
栅格对象1 = ApplyEnvironment(栅格对象2)

5. arcpy.sa中的类

arcpy.sa是arcgis用于空间分析中的重要模块,其中也包含了许多定义栅格工具参数的类。

  • 例如,以重分类工具为例,它的工具为:
Reclassify(输入栅格,待重分类字段,remap,其他参数)

## 其中的remap就是Remap类的一个remap对象,具体有两种:
remap = RemapValue([[旧值1, 新值1], [旧值2, 新值2], [旧值3, 新值3], ...])  //以单个输入值作为重分类项
remap = RemapRange([[旧起始值, 旧结束值, 新值],  ...])  //以输入值范围作为重分类项
  • 再例如,在焦点统计(Focal Statistics)工具中的邻域类也很常用。主要有六种类型的邻域对象:

    • NbrSnnulus——指定内、外圆半径;
    • NbrCircle——指定半径

这里就不再说了,详情可见help。


–原创文章,转载必须注明出处–

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章