ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

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

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

使用栅格对象

需要 Spatial Analyst 许可。

  • 创建栅格对象
  • 栅格保存方法
  • 使用栅格属性

栅格对象可用作地图代数表达式的输入,也是地图代数表达式的主要输出。执行使用运算符的地图代数表达式时,输入必须是栅格对象或常量。地图代数表达式的栅格输出始终是临时输出,但可通过对栅格对象调用 save 方法来保存该栅格输出。可以通过查询栅格对象来轻松访问所引用的数据集属性。

创建栅格对象

栅格对象可以通过转换栅格数据集来创建,也可以通过 ArcGIS Spatial Analyst extension中工具的输出来获得。通过转换栅格,可以轻松查询栅格数据集的许多属性。

  1. 要创建栅格对象,需指定图层名称或路径以及数据集名称,如下例所示。
    rasObject = Raster("C:/Data/elevation")
    
    在上述语句中,elevation 栅格数据集的属性现在可通过所生成的栅格对象 (rasObject) 来获得。有关栅格对象的属性列表,请参阅栅格对象属性的完整列表。
  2. 栅格对象可作为 Spatial Analyst 工具的左侧输出来创建。
    # rasObject is a Raster object pointing to a temporary 
    #   raster dataset
    rasObject = Slope("C:/Data/elevation")
    
    注:

    Spatial Analyst 工具集外的工具不输出栅格对象。

栅格保存方法

与栅格对象关联的栅格可使用 save 方法保存。

Spatial Analyst 工具会创建临时输出。这些输出可使用栅格对象的 save 方法保存。在下例中,坡度工具的临时输出将保存到指定的输出文件夹中。

outraster = Slope("C:/Data/elevation")
outraster.save("C:/output/sloperaster")

  • 数据保存位置取决于在 save 方法中输入的内容以及所设置的工作空间环境。

    1. 如果指定含有数据集名称的完整路径,则此位置是保存永久数据的位置。
    2. 如果仅指定数据集名称,则数据的保存位置由地理处理工作空间环境来决定。
      • 如果设置了临时工作空间或当前工作空间,则保存的数据将存储到所设置的工作空间位置。
      • 如果同时设置了临时工作空间和当前工作空间,则保存的数据将存储到当前工作空间。
      • 如果未设置工作空间,则返回错误。

  • 如果只希望数据使用默认名称保存在当前位置,则可调用 save 方法而不指定名称,如下例所示:
    outraster.save()
    
  • save 方法支持所有 Spatial Analyst 支持的栅格格式。在下面的示例中,栅格的 save 方法用于将数据保存到文件地理数据库栅格和 IMAGINE 格式。
    outraster.save("C:/output/file_gdb.gdb/sloperaster")
    outraster.save("C:/output/sloperaster.img")
    

使用栅格属性

将栅格转换为栅格对象后,可以轻松地查询数据集的属性。所有栅格对象属性都是只读的。查询栅格属性将会返回字符串、数字或对象。可通过许多方式使用栅格属性,包括用作工具参数的输入,或用于设置环境设置(如下所示)。

from arcpy import env
from arcpy.sa import *
outraster = Raster("C:/Data/studyarea")
myextent = outraster.extent

# Modify myextent as necessary for your workflow and use it to set the extent environment
env.extent = myextent
  • 栅格对象属性的完整列表
注:

栅格对象的可用栅格属性由可通过 Describe 函数访问的属性(栅格数据集属性)以及可通过获取栅格属性工具获得的属性组合而成。

相关主题

  • 什么是地图代数?
  • 管理地图代数中 Spatial Analyst 工具的输出
  • 栅格对象的交互

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明