条件分析”工具允许您基于在输入值上应用的条件对输出值进行控制。可应用的条件有两种类型,分别是对属性的查询或基于列表中条件语句位置的条件。属性查询工具将显式识别被评估为 True 的像元。这些像元可以保留原始值、可设置为其他值或设置为 NoData。可将被评估为 False 的像元设置为一组与 True 条件不同的值。例如,如果输入栅格中的值大于 10,返回 1;否则返回 100。条件函数和设为空函数工具可使用 where 语句作为逻辑表达式来定义属性查询。位置条件需要输入参数(栅格或常量)来指定应该用于输出的条件语句的位置(栅格或常量)。例如,如果输入栅格指定像元的值为 1,则返回列表中第一个输入指定的值;如果输入栅格中的像元值为 2,则返回列表中第二个栅格指定的值,依此类推。选取工具用于指定输入列表以基于位置输入的值提供输出值。下表列出了执行条件分析的工具,并对每个工具进行了简要描述。
工具/原料
arcgis软件
电脑
条件函数 (空间分析)
1、针对输入栅格的每个输入像元执行 if/else 条件评估。
2、如果真栅格数据或可选假栅格数据为浮点型,则输出栅格数据也将为浮点型。如果真表达式和可选假栅格数据均为整型,则输出栅格数据也将为整型。如果表达式的评估结果非零,则将被视为 True。如果未指定输入条件为假时所取的栅格数据或常量值,则将为表达式结果不为 True 的那些像元分配 NoData。
3、如果 NoData 不满足表达式,像元不会接收输入条件为假时所取的栅格数据值;像元值仍是 NoData。在 Python 中,您可避免使用 {where_clause},其通过将“地图代数”表达式用作输入条件栅格数据来指定“值”字段。例如,以下表达式:Con("elev", 0, 1, "value > 1000")可被重写为:Con(Raster("elev") > 1000, 0, 1)
选取函数 (空间分析)
1、摘要位置栅格数据的值用于确定要从输入栅格列表中的哪一个栅格获取输出像元值。
2、位置栅格的每个像元的值用于确定要使用哪一个输入获取输出栅格数据值。例如,如果位置栅格中的一个像元的值为 1,则将栅格列表中第一个输入的值用于输出像元值。如果位置输入的值为 2,输出值将来自栅格列表中的第二个输入,依此类推。输入列表的顺序对此工具很重要。如果栅格的顺序发生变化,结果也将随之改变。
3、如果位置栅格中的像元值为零或负数,结果将为 NoData。如果位置值大于列表中的栅格数目,结果将为 NoData。如果位置栅格是浮点型,则处理这些值之前将其截断为整型。在位置栅格上值为 NoData 的任何像元在输出栅格上都将接收 NoData。如果输入列表中有任何栅格是浮点型,输出栅格将为浮点型。如果它们都是整型,则输出栅格将为整型。
设为空函数 (空间分析)
1、摘要“设为空函数”根据指定条件将所识别的像元位置设置为 NoData。如果条件评估为真,则返回 NoData;如果条件评估为假,则返回由另一个栅格指定的值。
2、如果 where 子句的评估结果为真,茸垂扌馔则为输出栅格上的像元位置赋予 NoData。如果评估结果为假,则输出栅格将由输入条件为假时所取的栅格数据或常量值进行定义。如果未指定 wher髫潋啜缅e 子句,则只要条件栅格不为 0,输出栅格就具有 NoData。输入条件栅格不会影响输出数据类型是整型还是浮点型。如果输入条件为假时所取的栅格数据(或常量值)包含浮点值,则输出栅格数据将为浮点型。如果其中包含所有整数值,则输出将为整型栅格。逻辑表达式的最大长度为 4,096 个字符。在 Python 中,{where_clause} 应该以引号括起,例如,"Value > 5"。