分割栅格 (数据管理)

摘要

按照面中的切片或要素将栅格数据集分为多个更小的部分。

使用情况

  • 输出文件将共享输入源栅格的大部分属性,例如,空间参考、源类型、像素类型、像素深度和像元大小。

  • 分割方法决定了用于确定输出切片的尺寸和位置的可选参数。 在两种情况下,NoData 值均用于填充没有对应源数据的切片。 数据格式取决于各个格式规范的限制和源图像的数据类型。 无效组合会产生相应的错误消息。

  • 如果分块已经存在(如果存在同名文件),则不会覆盖此分块。

  • 如果分块仅包含 NoData 像素值,则不会创建此分块。

  • 如果正在处理高程数据或计划应用坡度坡向晕渲地貌等聚焦函数的栅格数据,则建议设置重叠参数。

参数

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

要进行分割的栅格。

Mosaic Dataset; Mosaic Layer; Raster Layer
输出文件夹

新栅格数据集的目标。

Folder
输出基本名称

为将创建的每个栅格数据集设置前缀。 将对每个前缀追加一个数字(从 0 开始)。

String
分割方法

确定如何分割栅格数据集。

  • 切片大小指定切片的宽度和高度。
  • 切片数量指定要通过将数据集分为多个列和行而创建的栅格切片数。
  • 面要素使用要素类中的各个面几何来分割栅格。
String
输出格式

输出栅格数据集的格式。

  • Geotiff (*.tif)标记图像文件格式。 这是默认设置。
  • Bitmap (*.bmp)Microsoft 位图。
  • ENVI (*.dat)ENVI DAT。
  • Esri BIL (*.bil)Esri 波段按行交叉。
  • Esri BIP (*.bip)Esri 波段按像素交叉。
  • Esri BSQ (*.bsq)Esri 波段顺序。
  • GIF (*.gif)图形交换格式。
  • Esri GRIDEsri 格网。
  • ERDAS IMAGINE (*.img)ERDAS IMAGINE。
  • JPEG 2000 (*.jp2)JPEG 2000。
  • JPEG (*.jpeg)联合图像专家组。
  • PNG (*.png)可移植网络图形。
String
重采样技术
(可选)

根据您拥有的数据类型选择适当的技术。

  • 最邻近最快的重采样方法,可最大程度减少像素值的变化。 适用于离散数据,如土地覆盖。
  • 双线性可采用平均化(距离权重)周围 4 个像素的值计算每个像素的值。 适用于连续数据。
  • 三次通过根据周围的 16 像素拟合平滑曲线来计算每个像素的值。 生成平滑影像,但可创建位于源数据中超出范围外的值。 适用于连续数据。
String
输出栅格数
(可选)

要将栅格数据集分割成的列 (x) 数和行 (y) 数。 X 坐标是列数,Y 坐标是行数。

Point
输出栅格的大小
(可选)

输出切片的 x 和 y 尺寸。 默认的测量单位为像素。 可通过输出栅格大小和重叠的单位参数来更改测量单位。 X 坐标是输出切片的 X(水平)维度,Y 坐标是输出切片的 Y(垂直)维度。

Point
重叠
(可选)

切片不需要完全对齐;使用该参数设置切片之间的重叠量。 默认的测量单位为像素。 可通过输出栅格大小和重叠的单位参数来更改测量单位。

Double
输出栅格大小和重叠的单位
(可选)

设置输出栅格大小参数和重叠参数的测量单位。

  • 像素单位为像素。 这是默认设置。
  • 单位为米。
  • 英尺单位为英尺。
  • 单位为十进制度。
  • 英里单位为英里。
  • 千米单位为千米。
String
像元大小
(可选)

输出栅格的空间分辨率。 如果留空,输出像元大小将与输入栅格相匹配。 更改像元大小值时,切片大小将重置为图像大小,切片计数将重置为 1。

Point
左下角原点
(可选)

更改左下角原点的坐标,确定切片方案的起始位置。 如果留空,左下角原点将与输入栅格相同。

Point
分割面要素类
(可选)

将用于分割栅格数据集的要素类。

Feature Layer
裁剪类型
(可选)

在分割栅格数据集之前,限制其范围。

  • 使用输入栅格数据集的全图范围。
  • 范围指定裁剪边界的边界框。
  • 要素类指定用于裁剪范围的要素类。
String
模板范围
(可选)

用于定义裁剪边界的范围或数据集。 数据集可以是一个栅格或一个要素类。

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。 仅在存在活动地图时,才可使用此选项。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。 此选项将在工程地理数据库中创建要素类并将图层添加至地图。 该要素类的坐标系将与地图相同。
    注:

    环境对话框中不提供此选项。 只能在具有范围数据类型的工具参数中或工具对话框的环境选项卡中找到此选项。

    注:

    当选中从“编辑”选项卡启用和禁用编辑编辑选项时,必须在编辑功能区选项卡上启用编辑才能绘制范围。

  • 图层范围 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
NoData 值
(可选)

具有指定值的所有像素将在输出栅格数据集中被设置为 NoData

String

派生输出

标注说明数据类型
更新的文件夹

输出文件夹。

Folder

arcpy.management.SplitRaster(in_raster, out_folder, out_base_name, split_method, format, {resampling_type}, {num_rasters}, {tile_size}, {overlap}, {units}, {cell_size}, {origin}, {split_polygon_feature_class}, {clip_type}, {template_extent}, {nodata_value})
名称说明数据类型
in_raster

要进行分割的栅格。

Mosaic Dataset; Mosaic Layer; Raster Layer
out_folder

新栅格数据集的目标。

Folder
out_base_name

为将创建的每个栅格数据集设置前缀。 将对每个前缀追加一个数字(从 0 开始)。

String
split_method

确定如何分割栅格数据集。

  • SIZE_OF_TILE指定切片的宽度和高度。
  • NUMBER_OF_TILES指定要通过将数据集分为多个列和行而创建的栅格切片数。
  • POLYGON_FEATURES使用要素类中的各个面几何来分割栅格。
String
format

输出栅格数据集的格式。

  • TIFF标记图像文件格式。 这是默认设置。
  • BMPMicrosoft 位图。
  • ENVIENVI DAT。
  • Esri BILEsri 波段按行交叉。
  • Esri BIPEsri 波段按像素交叉。
  • Esri BSQEsri 波段顺序。
  • GIF图形交换格式。
  • GRIDEsri 格网。
  • IMAGINE IMAGEERDAS IMAGINE。
  • JP2JPEG 2000。
  • JPEG联合图像专家组。
  • PNG可移植网络图形。
String
resampling_type
(可选)

根据您拥有的数据类型选择适当的技术。

  • NEAREST最快的重采样方法,可最大程度减少像素值的变化。 适用于离散数据,如土地覆盖。
  • BILINEAR可采用平均化(距离权重)周围 4 个像素的值计算每个像素的值。 适用于连续数据。
  • CUBIC通过根据周围的 16 像素拟合平滑曲线来计算每个像素的值。 生成平滑影像,但可创建位于源数据中超出范围外的值。 适用于连续数据。
String
num_rasters
(可选)

要将栅格数据集分割成的列 (x) 数和行 (y) 数。 这是一个点,其 X 和 Y 坐标定义了行数和列数。 X 坐标是列数,Y 坐标是行数。

Point
tile_size
(可选)

输出切片的 x 和 y 尺寸。 默认的测量单位为像素。 可通过 units 参数更改测量单位。 这是一个点,其 X 和 Y 坐标定义了输出切片的尺寸。 X 坐标是输出的水平维度,Y 坐标是输出的垂直维度。

Point
overlap
(可选)

切片不需要完全对齐;使用该参数设置切片之间的重叠量。 默认的测量单位为像素。 可通过 units 参数更改测量单位。

Double
units
(可选)

设置 tile_sizeoverlap 参数的测量单位。

  • PIXELS单位为像素。 这是默认设置。
  • METERS单位为米。
  • FEET单位为英尺。
  • DEGREES单位为十进制度。
  • MILES单位为英里。
  • KILOMETERS单位为千米。
String
cell_size
(可选)

输出栅格的空间分辨率。 如果留空,输出像元大小将与输入栅格相匹配。 更改像元大小值时,切片大小将重置为图像大小,切片计数将重置为 1。

Point
origin
(可选)

更改左下角原点的坐标,确定切片方案的起始位置。 如果留空,左下角原点将与输入栅格相同。

Point
split_polygon_feature_class
(可选)

将用于分割栅格数据集的要素类。

Feature Layer
clip_type
(可选)

在分割栅格数据集之前,限制其范围。

  • NONE使用输入栅格数据集的全图范围。
  • EXTENT指定裁剪边界的边界框。
  • FEATURE_CLASS指定用于裁剪范围的要素类。
String
template_extent
(可选)

用于定义裁剪边界的范围或数据集。 数据集可以是一个栅格或一个要素类。

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

具有指定值的所有像素将在输出栅格数据集中被设置为 NoData

String

派生输出

名称说明数据类型
derived_out_folder

输出文件夹。

Folder

代码示例

SplitRaster 示例 1(Python 窗口)

这是 SplitRaster 函数的 Python 示例。

import arcpy
arcpy.SplitRaster_management("c:/source/large.tif", "c:/output/splitras",
                             "ras", "NUMBER_OF_TILES", "TIFF", "NEAREST",
                             "2 2", "#", "10", "PIXELS", "#", "#")
分割栅格 (SplitRaster) 示例 2(独立脚本)

这是 SplitRaster 函数的 Python 脚本示例。

##====================================
##Split Raster
##Usage: SplitRaster_management in_raster out_folder out_base_name SIZE_OF_TILE
##                              | NUMBER_OF_TILES | TIFF | BMP | ENVI | ESRI BIL |
##                              ESRI BIP | ESRI BSQ | GIF | GRID | IMAGINE IMAGE | 
##                              JP2 | JPG | PNG {NEAREST | BILINEAR | CUBIC | 
##                              MAJORITY} {num_rasters} {tile_size} {overlap} 
##                              {PIXELS | METERS | FEET | DEGREES | KILOMETERS | 
##                              MILES} {cell_size} {origin}
    
import arcpy
arcpy.env.workspace = r"\\myServer\PrjWorkspace\RasGP"

##Equally split a large TIFF image by number of images
arcpy.SplitRaster_management("large.tif", "splitras", "number", "NUMBER_OF_TILES",\
                             "TIFF", "NEAREST", "2 2", "#", "4", "PIXELS",\
                             "#", "#")

##Equally split a large TIFF image by size of images
arcpy.SplitRaster_management("large.tif", "splitras", "size2", "SIZE_OF_TILE",\
                             "TIFF", "BILINEAR", "#", "3500 3500", "4", "PIXELS",\
                             "#", "-50 60")

相关主题