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

摘要

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

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

使用情况

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

  • 可将 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
包络
(可选)

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

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。 仅在存在活动地图时,才可使用此选项。
  • 图层范围 Layer - 范围基于活动地图图层。 使用下拉列表选择可用图层,或使用所有图层中数据的范围选项获取所有活动地图图层(不包括底图)的组合范围。 仅在存在具有图层的活动地图时,才可使用此选项。
  • 浏览 浏览 - 范围基于现有数据集。
  • 重置范围 重置 - 将范围重置为默认值。
  • 手动输入坐标 - 坐标必须是数值,并且与活动地图的坐标系相匹配。

    地图可能使用不同的显示单位

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")