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

摘要

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

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

使用情况

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

  • 可将 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 - 范围基于活动地图图层。 使用下拉列表选择可用图层,或使用所有图层中数据的范围选项获取所有活动地图图层(不包括底图)的组合范围。 仅在存在具有图层的活动地图时,才可使用此选项。

    每个地图图层具有以下选项:

    • 所有要素 全选 - 图层中所有要素的范围。
    • 选定要素Area from Selected Features - 图层中选定要素的范围。
    • 可见要素 Extent Indicator - 图层中可见要素的范围。
      注:

      选定要素 Area from Selected Features可见要素 Extent Indicator 选项中的范围仅适用于要素图层。

  • 浏览 浏览 - 范围基于现有数据集。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围坐标和坐标系复制到剪贴板。
    • 使用粘贴范围 粘贴 - 从剪贴板粘贴范围坐标和(可选)坐标系。 如果剪贴板值不包含坐标系,则范围将使用地图的坐标系。
    注:

    将使用与 ArcPy Extent 对象相同的格式和顺序从剪贴板中复制和粘贴范围坐标:x-min、y-min、x-max、y-max 和空间参考。

  • 重置范围 重置 - 将范围重置为默认值。
  • 手动输入坐标 - 坐标必须是数值,并且与活动地图的坐标系相匹配。
    警告:

    地图可能使用与输入的坐标不同的显示单位。 不支持使用主方向(N、S、E、W)。 在南纬和西经坐标中使用负号。

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

相关主题