创建栅格图层 (数据管理)

摘要

根据输入栅格数据集或图层文件创建栅格图层。该工具创建的图层是临时图层,如果不将此图层保存到磁盘或保存地图文档,该图层在会话结束后将不会继续存在。

此工具可用来创建临时图层,这样便可以对栅格数据集内的指定波段子集进行处理。

使用情况

  • 要保留图层,可右键单击内容窗格中的图层,然后单击另存为图层文件,也可使用保存至图层文件工具。

  • 可仅通过波段的子集来创建输出。 这将节省时间和磁盘空间。

  • 可将 GeoPackage 中的栅格图层用作输入。要参考 GeoPackage 中的栅格,请输入路径名,后接 GeoPackage 的名称和栅格名称。例如 c:\data\sample.gpkg\raster_tile 是输入栅格,其中 sample.gpkg 是 GeoPackage 的名称,raster_tile 是包中的栅格数据集。

参数

标注说明数据类型
输入栅格

输入栅格数据集的路径和名称。

可将 GeoPackage 中的栅格图层用作输入。要参考 GeoPackage 中的栅格,请输入路径名,后接 GeoPackage 的名称和栅格名称。例如 c:\data\sample.gpkg\raster_tile 是输入栅格,其中 sample.gpkg 是 GeoPackage 的名称,raster_tile 是包中的栅格数据集。

Composite Geodataset
输出栅格图层名称

要创建的图层的名称。

Raster Layer
Where 子句
(可选)

使用 SQL 定义查询,或者使用查询构建器构建查询。

SQL Expression
包络
(可选)

指定输出范围的方法可以是定义四个坐标,也可以是使用现有图层的范围。

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 当前显示范围 - 该范围与数据框或可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
波段
(可选)

将为图层导出的波段。 如果未指定波段,则输出中将使用所有波段。

Value Table

arcpy.management.MakeRasterLayer(in_raster, out_rasterlayer, {where_clause}, {envelope}, {band_index})
名称说明数据类型
in_raster

输入栅格数据集的路径和名称。

可将 GeoPackage 中的栅格图层用作输入。要参考 GeoPackage 中的栅格,请输入路径名,后接 GeoPackage 的名称和栅格名称。例如 c:\data\sample.gpkg\raster_tile 是输入栅格,其中 sample.gpkg 是 GeoPackage 的名称,raster_tile 是包中的栅格数据集。

Composite Geodataset
out_rasterlayer

要创建的图层的名称。

Raster Layer
where_clause
(可选)

使用 SQL 定义查询。

SQL Expression
envelope
(可选)

指定输出范围的方法可以是定义四个坐标,也可以是使用现有图层的范围。

  • MAXOF - 将使用所有输入的最大范围。
  • MINOF - 将使用所有输入共有的最小区域。
  • DISPLAY - 该范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
band_index
[band_index,...]
(可选)

将为图层导出的波段。 如果未指定波段,则输出中将使用所有波段。

Value Table

代码示例

MakeRasterLayer 示例 1(Python 窗口)

这是 MakeRasterLayer 工具的 Python 示例。

import arcpy
arcpy.MakeRasterLayer_management("c:/workspace/image.tif", "rdlayer", "#", "feature.shp", "1")
MakeRasterLayer 示例 2(独立脚本)

这是 MakeRasterLayer 工具的 Python 脚本示例。

##====================================
##Make Raster Layer
##Usage: MakeRasterLayer_management in_raster out_rasterlayer {where_clause} {envelope}
##                                  {Index;Index...}
    
import arcpy

arcpy.env.workspace = r"C:/Workspace"

##Create raster layer from single raster dataset with clipping feature
arcpy.MakeRasterLayer_management("image.tif", "rdlayer", "#", "feature.shp", "1")

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题