Skip To Content

为加权叠加准备数据

栅格图层是加权叠加服务的基础。因此,如果您有要在加权叠加服务中使用的矢量数据,则必须将其转换成栅格数据集。将矢量转换成栅格的过程可能需要几个步骤。其中可能包括:将输入矢量裁剪到感兴趣区域,将其投影到常用空间参考,以及验证其中是否有潜在的几何异常。

参与加权叠加服务的栅格应采用 geoTIFF 格式。加权叠加还需要周密考虑栅格数据集中的间隙和 NoData 值,并了解如何对其进行处理。

在加权叠加中使用您的数据(门户)概述了用于创建加权叠加服务的工作流。 请确保您已熟悉该主题中引入的概念,然后才能继续操作。

本文档介绍了一些您需要了解的工具和流程,以便您能够成功准备参与加权叠加服务所需的数据。本文档还引用了要素转栅格工具。您可以将此工具作为加权栅格叠加服务工具箱的一部分进行下载。

投影

GIS 专家清楚,选择正确的投影对于工程的成功至关重要。这种选择取决于您的行业领域。例如,等积投影最适用于自然资源相关应用,因为这些投影往往会保留面积测量信息。所有矢量数据都应栅格化为常用投影。

现有栅格数据不需要重新进行投影,除非您想要更改像素大小。包含加权叠加服务的栅格将被加载到镶嵌数据集。镶嵌数据集会处理栅格图层间的投影差异。

裁剪矢量数据

如果您的矢量要素延伸至要在加权叠加服务中使用的感兴趣区域之外,请使用裁剪工具从该区域内提取要素。此操作是可选的,这样可以缩小栅格大小,并缩短配置和处理的时间。

验证和修复矢量数据

在创建栅格前,应对矢量数据运行以下地理处理工具。这些工具可以防止在将具有某些几何异常的矢量图层转换为栅格时出现条纹图案或彩色条纹。

  1. 执行检查几何工具可生成要素类中所发生几何问题的报告。
  2. 执行修复几何工具以修复通过检查几何工具发现的问题。

将矢量转换为栅格

如果您有要在加权叠加中使用的源矢量数据,则需要将其转换成栅格 geoTIFF 格式。将矢量转换为栅格最便捷的方式就是使用加权栅格叠加服务工具箱中提供的要素转栅格工具。

确定像元大小

要素转栅格工具需要您为输出栅格输入像元大小。因此,您需要确定一个合适的像元大小。一种策略是将所有栅格都设置为相同像元大小。对所有栅格使用单一像元大小的优势是叠加分析会更加准确。但是,如果您所创建栅格的分辨率高于源矢量数据能够支持的分辨率,则该栅格就会变得过大且不会添加细节。而以过于粗糙的低分辨率创建栅格又会导致细节损失。以下是用于计算像元大小的几点建议。

根据输入数据的范围计算像元大小

您可以根据输入数据的范围计算像元大小。如果要将多个矢量数据集转换为栅格数据集,则需要选择计算所依据的输入范围。如果所有矢量图层均共享相同的范围,则可以根据任何输入源计算像元大小。如果具有多个范围不同的数据集,则需要选择一个计算像元大小所依据的图层。您可以使用裁剪工具或许多其他工具将所有输入数据集裁剪到相同的范围。确定输入范围后,请在 ArcGIS Python 窗口中输入以下 Python 代码片段:

以下代码片段根据要素图层计算像元大小,方法是求出最短范围尺寸,然后将结果除以 250。

ext=arcpy.Describe("your-layer").extent
if ext.width < ext.height:
     cellsize=ext.width/250
else: 
     cellsize=ext.height/250    
print cellsize

根据另一个栅格计算像元大小

如果您要在运行要素转栅格工具时设置捕捉栅格参数,则可以使用与捕捉栅格相同的像元大小。要素转栅格工具会调整输出栅格的范围,使它们与捕捉栅格对齐。

其他方法

还有许多其他方法来计算像元大小。手册 Hengl, T. 2006. Finding the right pixel size. Computers & Geosciences, 32(9): 1283-1298,最后更新于 2007 年 8 月详细阐述了有关平均椭圆轮廓大小和窄轮廓宽度的方法。

栅格数据集处理

要参与加权叠加服务的栅格数据集有一些特殊注意事项。这些注意事项包括栅格格式、金字塔和统计数据、范围、位深度以及 NoData 或间隙的处理方法。

栅格金字塔和统计数据

对所有栅格数据创建金字塔和统计数据可帮助提高性能和加权叠加处理的精度。您可以使用多种工具来构建金字塔和统计数据,其中包括构建金字塔计算统计数据

格式和压缩

尽管任何栅格格式都可以加载到镶嵌数据集中,但加权叠加服务的首选格式为采用 LZW 压缩方法的 geoTIFF。加权栅格叠加服务工具箱中的工具需要此格式。可以使用多种栅格工具将其转换为 geoTIFF 格式,其中包括栅格转其他格式复制栅格

栅格裁剪

如有必要,请使用数据管理工具箱栅格工具集中的裁剪工具,以便仅提取分析感兴趣区域 (AOI) 内的像元。也可以使用 Spatial Analyst 按掩膜提取工具,以 AOI 为掩膜。只有要缩小磁盘上数据的大小时才需要此步骤。如果考虑数据大小,则使用裁剪函数来设置镶嵌数据集中的裁剪范围会更有效。

调整栅格数据大小

有时,栅格可能会以较小的位深度进行存储,具体取决于属性和 AOI 的最大值和最小值。这样可以缩小存储空间并缩短处理时间,而不会减少栅格细节。这可以在进行裁剪并查看栅格统计数据中指示的最小值和最大值之后确定。使用数据管理工具箱内栅格数据集工具集中的复制栅格工具,并将像素类型参数设置为相应输出位深度。

处理 NoData 值

栅格数据集中可能会包含没有数据的区域。NoData 像元可通过对叠加下方的像元进行掩膜来更改叠加。这样做的结果是从分析中移除这些栅格像元。您可以使用栅格计算器工具将 NoData 像元值计算为其他值。以下步骤演示了在输入栅格中如何使用栅格计算器工具将 NoData 值计算为其他值。

  1. 将栅格图层添加到 ArcMap 中。
  2. 要在栅格数据集中显示 NoData 像元,请执行以下步骤:
    1. 在内容的 ArcMap 表中,双击您的栅格图层。
    2. 图层属性对话框中,单击符号系统选项卡。
    3. 将 NoData 显示为旁边,单击下拉箭头并选择一种颜色。单击确定

      地图显示随即更新为以您选择的颜色符号化 NoData 像元。

  3. 打开 Spatial Analyst 工具箱内地图代数工具集中的栅格计算器工具。
  4. 在该工具中间的文本输入字段中,数字和运算符按钮的下方,输入 Con(IsNull("raster-layer-from-step-1"),no-data-replacement-value,"raster-layer-from-step-1")
  5. 输出栅格字段中,输入要存储输出栅格的路径或浏览至该位置。确保将输出文件扩展名指定为 .tif。其形式应如下例所示:
    用于移除 NoData 值的栅格计算器表达式
    地图代数表达式会使用 Vacant Lands 图层内的 0 值替换 NoData 值。在本例中,Vacant Lands 图层当前加载到 ArcMap 中的内容列表内。
  6. 单击确定

    栅格计算器工具随即执行,并向您指定的文件夹和文件写入新的栅格数据集。

在此工作流中,您已了解了如何准备要在加权叠加服务中使用的数据。在以下工作流创建镶嵌数据集中,您将了解到如何向栅格中添加加权叠加元数据,然后将这些栅格添加到新的镶嵌数据集。