ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

在栅格计算器中构建表达式

需要 Spatial Analyst 许可。

  • 栅格计算器工具对话框中的示例表达式
  • 模型构建器中的示例栅格计算器表达式

在栅格计算器工具中构建表达式时,单击或双击对话框中可用的各个图层、变量、按钮和工具名称,将有助于避免在输入时可能以其他方式造成的语法错误。

由于在栅格计算器工具中输入的表达式将在 Python 中执行,而且 Python 区分大小写,所以使用大小写正确的工具名称非常重要。例如,要使用 IsNull 工具,请确保将其输入为 IsNull,而不是 Isnull 或 isnull。

按顺序使用多个关系或布尔运算符时,表达式需要使用括号。有关详细信息,请参阅栅格计算器工具帮助中所列出的使用提示。

栅格计算器工具对话框中的示例表达式

当“地图代数”不仅在“栅格计算器”中使用,而且直接在 Python 中使用时,在语法上存在一些您应知道的差异。

  • 因为栅格计算器工具对话框中具有特定的输出参数,则使用栅格计算器时,“地图代数”表达式将不包含输出名称和等号 (=)。
  • 只有在栅格计算器工具对话框中,图层名称才能直接与运算符配合使用。在 Python 本身中进行处理时,图层必须首先转换为栅格对象。
  • 同样,仅在工具对话框中,栅格计算器变量才能包含在百分号 (%) 或引号 (") 之内。

栅格计算器工具对话框示例

以下是可在栅格计算器工具中执行的“地图代数”表达式的若干示例。在这些表达式中,栅格图层名称被包含在引号内,例如 "dist"。

  • ("pop" > 150) & ("dist" > 10)
  • (("reclass_rd_dist" * 3) + ("reclass_landuse" * 2) + "reclass_elev") /6.0
  • ("Band4" - "Band3") / Float("Band4" + "Band3")
  • Con("elev" <= 3000, 1, 0)
  • Con(IsNull("elev"),0, "elev")
  • Con(("landuse1" == 1) & ("landuse2" == 5), "landuse1" + "landuse2", 99)
  • Con(Raster('elev') != 0,'elev')
  • (Con('elev', 'elev', "", "elev_feet <> 0")) + Raster("tree_height")
  • Con("inRas" < 45,1, Con(("inRas" >= 45) & ("inRas" < 47),2, Con(("inRas" >= 47)&("inRas" < 49),3, Con("inRas" >= 49,4))))

模型构建器中的示例栅格计算器表达式

在“模型构建器”中使用栅格计算器工具时,唯一的区别是变量可用作输入和图层。有关“模型构建器”中的语法、可用的变量类型以及栅格计算器工具的连接行为的详细信息,请参阅栅格计算器工具帮助。

变量和图层在表达式中的显示方式

下例显示了正在模型中使用的栅格计算器工具的“地图代数”表达式语法。

  • 在此例中,使用栅格数据集变量 (模型变量)、长整型变量 (模型变量) 和栅格图层 (图层)。

    请注意,不同变量的语法略有不同:

    变量或图层名称变量类型语法在表达式中首次出现的方式

    Reclass Road

    栅格数据集变量"%Reclass Road%"

    Rd weight

    长整型变量%Rd weight%

    Reclass Landuse

    栅格图层"Reclass Landuse"

    使用正确的语法添加输入

    1. 将光标放置在表达式框中的适当位置。
    2. 双击适合的图层或变量名称。

    带有使用变量和图层的表达式的栅格计算器工具
    带有使用变量和图层的表达式的栅格计算器工具
  • 单击确定关闭栅格计算器工具对话框之后,代表“Reclass Landuse”图层的变量将被作为模型变量添加到模型中。

  • 栅格计算器工具对话框重新打开时,请注意:

    1. Reclass Landuse 变量将添加到图层和变量列表。
    2. 表达式中的语法已从图层语法 ("Reclass Landuse") 更新为变量语法 ("%Reclass Landuse%")。
    带有使用变量的表达式的栅格计算器工具
    带有使用变量的表达式的栅格计算器工具示例

相关主题

  • 栅格计算器的工作原理
  • 栅格计算器

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
© Copyright 2016 Environmental Systems Research Institute, Inc. | 隐私政策 | 法律声明