这篇文章主要介绍基于Python的栅格数据一些处理方法。
目录
栅格元素类型
栅格数据集
:存储在磁盘中或者数据库中,包括TIFF、JPEG、Esri GRID等格式;栅格数据集是没有栅格分辨率属性的;栅格波段
:栅格数据集中的一个图层,访问波段可以使用 栅格数据/Band_1 形式;只有栅格波段才有分辨率属性。栅格目录
:以表格形式定义的栅格数据的集合。(这个我倒是没有注意过,也不知道具体说的是哪种。待考证。)
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。
–原创文章,转载必须注明出处–