等值线 (空间分析)

摘要

根据栅格表面创建等值线的要素类。

了解有关等值线工作原理的详细信息

使用情况

  • 等值线不能延伸到栅格的空间范围以外,并且无法在 NoData 区域中生成。 首先将相邻等值线输入与连续要素数据集进行边匹配。 还可以在计算等值线前将相邻栅格合并,以此取代边匹配方法。

    但是,当等值线类型不是等值线时,等值线面将被外推到栅格的外边缘。

  • 等值线可以在负栅格值区域内生成。 在此区域内的等值线值也将为负值。 不允许使用负等值线间距。

  • 较平滑却欠精确的等值线可通过预处理输入栅格获得,可以使用焦点统计工具搭配平均值选项,或者使用滤波器工具搭配选项来执行该预处理过程。

  • 例如,要从 10 米处开始每隔 15 米创建等值线时可使用起始等值线。 在这种情况下,10 用于起始等值线,而 15 则为等值线间距。 绘制的等值线值为 10、25、40、55,依此类推。

  • 指定起始等值线不会阻止等值线以高于或低于该值的值创建。

  • 等值线类型用于生成等值线或面。 例如,如果栅格的值介于 0 和 575 之间,等值线间隔为 250,则以下是将要创建的各种输出要素类: 实际输出和单独的组成面如下所示。

    • CONTOUR - 值为 250 和 500 处的等值线
    • CONTOUR_POLYGON - 0-250、250-500 和 500-575 之间的非重叠面(图 1)

      0-250、250-500 和 500-575 之间的面

      (图 1) “等值线面”选项可创建 0-250、250-500 和 500-575 之间的三个不重叠的面。

    • CONTOUR_SHELL - 0-575、0-500 和 0-250 之间的重叠面(图 2)

      0-575、0-500 和 0-250 之间的面

      (图 2) “等值线下壳”选项可创建 0-575、 0-500 和 0-250 之间的三个重叠面。

    • CONTOUR_SHELL_UP - 0-575、250-575 和 500-575 之间的重叠面(图 3)

      0-575、250-575 和 500-575 之间的面

      (图 3) “等值线上壳”选项可创建 0-575、250-575 和 500-575 之间的三个重叠面。

  • 每个要素的最大折点数参数可用于细分要素。 仅当输出要素包含大量(数百万)折点时,才能使用此参数。 此参数产生的输出与切分工具创建的输出类似。

    此参数旨在用于对以后在以下情况下可能会导致问题的极大要素进行细分,例如在存储、分析或绘制要素时。

    选择限制取决于正在运行该工具的计算机上的可用内存,以及要素的大小(要素越大,则需要的内存越大)。 对于包含数十万或数百万个折点的单个要素,大多数运行 64 位软件的现代计算机通常没有问题。 如果出现任何问题,则将此参数设置为较大的值(例如 100 万)可避免由于要素大小而导致的问题。

    折点限制参数可用于细分要素。 仅当输出要素包含大量(数百万)折点时,才能使用此参数。

  • 默认情况下,如果有多核处理器可用,此工具将使用多核处理。 最多可以使用 4 个核。

    要使用较少的核,请使用并行处理因子环境设置。

  • 如果指定了范围环境,并且输出范围的左下角与输入栅格的任何像元角均不匹配,则在处理过程中将移动输入栅格的像元对齐位置,以与指定范围匹配。 此移动操作将使用双线性方法触发输入栅格的重采样。 因此,还将移动输出要素的位置,这样一来,生成的输出要素便不会与原始输入栅格完全叠加。 可以避免执行此移动操作,方法为将输入栅格用于捕捉栅格环境。

参数

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

输入表面栅格。

Raster Layer
输出要素类

输出等值线要素。

Feature Class
等值线间距

等值线间的间距或距离。

该值可为任意正数。

Double
起始等值线
(可选)

起始等值线值。

根据需要生成高于和低于该值的等值线以覆盖输入栅格的整个值范围。 默认值为零。

Double
Z 因子
(可选)

在生成等值线时使用的单位转换因子。 默认值为 1。

等值线是基于输入栅格中的 z 值生成的,所采用的测量单位通常为米或英尺。 如果使用默认值 1,等值线将采用与输入栅格中的 z 值相同的单位。 要以不同于 z 值的单位创建等值线,请为 z 因子设置适当的值。 对于此工具,没有必要使地面 x,y 单位与表面 z 单位保持一致。

例如,如果输入栅格中的高程值单位为英尺,但您希望以米为单位来生成等值线,则可将 z 因子设置为 0.3048(1 英尺 = 0.3048 米)。

再如,考虑采用 WGS84 地理坐标系且高程单位为米的输入栅格,您希望以 50 英尺为基础、100 英尺为间隔来生成等值线(即等值线将为 50 英尺、150 英尺、250 英尺,以此类推)。 为此,可将等值线间距设置为 100、起始等值线设置为 50,并将 Z 因子设置为 3.2808(1 米 = 3.2808 英尺)。

Double
等值线类型
(可选)

指定输出类型。 输出可以将等值线表示为线或面。 系统提供了多个面选项。

  • 等值线等值线(等高线)的折线要素类。 这是默认设置。
  • 等值线面填充等值线的面要素类。
  • 等值线下壳面要素类,其中面的上限按间隔值累积增加。 下限在栅格最小值处保持不变。
  • 等值线上壳面要素类,其中面的下限从栅格最小值按间隔值累积增加。 上限在栅格最大值处保持不变。
String
每个要素的最大折点数
(可选)

细分要素时的折点限制。 仅当输出要素包含大量(数百万)折点时,才能使用此参数。

此参数旨在用于对以后在以下情况下可能会导致问题的极大要素进行细分,例如在存储、分析或绘制要素时。

如果留空,则不会分割输出要素。 默认值为空。

Long

Contour(in_raster, out_polyline_features, contour_interval, {base_contour}, {z_factor}, {contour_type}, {max_vertices_per_feature})
名称说明数据类型
in_raster

输入表面栅格。

Raster Layer
out_polyline_features

输出等值线要素。

Feature Class
contour_interval

等值线间的间距或距离。

该值可为任意正数。

Double
base_contour
(可选)

起始等值线值。

根据需要生成高于和低于该值的等值线以覆盖输入栅格的整个值范围。 默认值为零。

Double
z_factor
(可选)

在生成等值线时使用的单位转换因子。 默认值为 1。

等值线是基于输入栅格中的 z 值生成的,所采用的测量单位通常为米或英尺。 如果使用默认值 1,等值线将采用与输入栅格中的 z 值相同的单位。 要以不同于 z 值的单位创建等值线,请为 z 因子设置适当的值。 对于此工具,没有必要使地面 x,y 单位与表面 z 单位保持一致。

例如,如果输入栅格中的高程值单位为英尺,但您希望以米为单位来生成等值线,则可将 z 因子设置为 0.3048(1 英尺 = 0.3048 米)。

再如,考虑采用 WGS84 地理坐标系且高程单位为米的输入栅格,您希望以 50 英尺为基础、100 英尺为间隔来生成等值线(即等值线将为 50 英尺、150 英尺、250 英尺,以此类推)。 为此,可将 contour_interval 设置为 100、将 base_contour 设置为 50,并将 z_factor 设置为 3.2808(1 米 = 3.2808 英尺)。

Double
contour_type
(可选)

指定输出类型。 输出可以将等值线表示为线或面。 系统提供了多个面选项。

  • CONTOUR等值线(等高线)的折线要素类。 这是默认设置。
  • CONTOUR_POLYGON填充等值线的面要素类。
  • CONTOUR_SHELL面要素类,其中面的上限按间隔值累积增加。 下限在栅格最小值处保持不变。
  • CONTOUR_SHELL_UP面要素类,其中面的下限从栅格最小值按间隔值累积增加。 上限在栅格最大值处保持不变。
String
max_vertices_per_feature
(可选)

细分要素时的折点限制。 仅当输出要素包含大量(数百万)折点时,才能使用此参数。

此参数旨在用于对以后在以下情况下可能会导致问题的极大要素进行细分,例如在存储、分析或绘制要素时。

如果留空,则不会分割输出要素。 默认值为空。

Long

代码示例

Contour 示例 1(Python 窗口)

此示例根据 Esri Grid 栅格创建了等值线,并将其输出为 shapefile。

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Contour("elevation", "C:/sapyexamples/output/outcontours.shp", 200, 0)
Contour 示例 2(独立脚本)

此示例根据 Esri Grid 栅格创建了等值线,并将其输出为 shapefile。

# Name: Contour_Ex_02.py
# Description: Creates contours or isolines from a raster surface.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
contourInterval = 200
baseContour = 0
outContours = "C:/sapyexamples/output/outcontours02.shp"

# Execute Contour
Contour(inRaster, outContours, contourInterval, baseContour)