网站建设ppt模板下载,建设部网站资质公示,河北建设工程信息网辅助系统,爱佳倍 北京网站01 栅格计算器在哪#xff1f;02 运算符说明栅格计算器的表达式书写与Python语法一致#xff08;由于其为解释型语言并且语言简洁优美#xff0c;因此简单上手#xff09;#xff0c;这里主要简单说明各个运算符即可使用栅格计算器构建地图代数表达式以输出要求的栅格图像…01 栅格计算器在哪02 运算符说明栅格计算器的表达式书写与Python语法一致由于其为解释型语言并且语言简洁优美因此简单上手这里主要简单说明各个运算符即可使用栅格计算器构建地图代数表达式以输出要求的栅格图像。首先我们先来了解一下算术运算符。2.1 (加)(或许你会看到左右两侧均有空格这是python推荐的写法但是并不强制它可以使表达式更为优美简洁我很喜欢Python)2.2 -(减)2.3 *(乘)2.4 \(除)接着我们来看一下关系运算符。2.5 (相等)其它(大于) 、(小于)、 (大于等于)、 小于等于、!(不等于)均为类似用法这里不再赘述。接下来我们来看一下逻辑运算符2.6 (布尔与)等价于数学中的取交集;2.7 |(布尔或)等价于数学中的取并集2.8 ^(布尔异或)2.9 ~(布尔非)类似数学中的取逆但是样本空间为{真, 假}.03 函数3.1 Con(condition, num1, num2)实际为If函数意为对每一个像元进行If判断如果满足条件condition那么赋值为num1,否则赋值为num2.可以进行嵌套例如对某一DEM栅格图像dem.tif我们想要对其进行属性值按照分类标准(200的像元赋值为1 200 但是 500的像元赋值为2 其它赋值为3)进行重新赋值当然你也可以使用重分类进行。那么表达式为Con(dem.tif 200, 1, Con(dem.tif 500, 2, 3))
# 或许你会这么写
Con(dem.tif 200, 1, Con(200 dem.tif 500, 2, 3))
# 恭喜你python支持链式比较(当然你也可以使用 |都行)确实可以200 dem.tif 500
#但是明显不需要因为已经第二个IF判断了肯定是 200了3.2 Pick(Raster.tif, [num1, num2, num3...])实际就是提取栅格图像中属性值为num1num2, num3等的像元其它没有被提取的像元设置为Nodata。例如我们现在有一幅土地利用图(栅格数据结构)其中属性值为1的像元表示城镇属性值为5的像元表示为乡村当然还有一些其它属性值也表示一些地物。那么我的需求即使将城镇和乡村的像元提取出来实际底层执行的是对逐个像元进行判断若该像元的属性值在列表[num1, num2, num3...]中那么该像元属性值不变若是像元属性值不在列表中那么该像元值设置为Nodata。3.3 SetNull(condition, raster.tif/num)其表示将满足条件consition的像元设置为Nodata,不满足条件的像元设置为raster.tif栅格图像(一般为condition条件中的图像意为不满足条件的属性值不变)对应的栅格属性值或者设置为值num。例如我们通过DEM栅格图像dem.tif寻找地形平坦的区域(认为高程小于200的均满足要求)为了后续其它空间分析的方便这里需要将dem.tif进行栅格计算(当然你用重分类等操作也是可以的)那么我们可以写表达式为SetNull(dem.tif 200, dem.tif)
# 表示200的像元值设置为Nodata其它设置为dem.tif对应的栅格像元值即不变3.4 Float(raster.tif)和Int(raster.tif)有时候栅格图像中的栅格属性值的数据类型不满足我们的计算要求那么我们需要对其进行类型转换。Float()是将栅格图像中的像元值类型转化为浮点型(当然raster.tif * 1.0也是可以得到浮点数的raster.tif)Int()是将栅格图像中的像元值类型转化为整型。未完待续如今后碰到其它函数在行补充。如果有问题欢迎一起探讨.p炒茄子p