需要 Spatial Analyst 许可。
需要 3D Analyst 许可。
使用方法
等值线不能延伸到栅格的空间范围以外,并且无法在 NoData 区域中生成;因此,相邻等值线输入应首先与连续要素数据集进行边匹配。还可以在计算等值线前将相邻栅格合并,以此取代边匹配方法。
然而,当等值线类型不是等值线时,等值线面将被外推到栅格的外边缘。
等值线可以在负栅格值区域内生成。在此区域内的等值线值也将为负值。不允许使用负等值线间距。
若启用 ArcGIS Spatial Analyst 扩展模块,较平滑却欠精确的等值线可通过预处理输入栅格获得,可以使用 平均值选项进行焦点统计操作,或者通过 低选项使用过滤器工具来执行该预处理过程。
例如,要从 10 米处开始每隔 15 米创建等值线时可使用起始等值线。在这种情况下,10 用于起始等值线,而 15 则为等值线间距。绘制的等值线值为 10、25、40、55,依此类推。
指定起始等值线不会阻止等值线以高于或低于该值的值创建。
等值线类型用于生成等值线或面。例如,如果栅格的值介于 0 和 575 之间,等值线间隔为 250,则以下是将要创建的各种输出要素类。将会分别显示实际输出以及单独的组件面。
- CONTOUR - 值为 250 和 500 处的等值线
- CONTOUR_POLYGON - 0-250、250-500 和 500-575 之间的非重叠面(图 1)
图 1. “等值线面”选项会在 0-250、250-500 和 500-575 之间创建三个非重叠面。 - CONTOUR_SHELL - 0-575、0-500 和 0-250 之间的重叠面(图 2)
图 2. “等值线壳”选项会在 0-575、0-500 和 0-250 之间创建三个重叠面。 CONTOUR_SHELL_UP - 0-575、250-575 和 500-575 之间的重叠面(图 3)
图 3. “等值线上壳”选项会在 0-575、250-575 和 500-575 之间创建三个重叠面。
每个要素的最大折点数参数可用于细分要素。仅当输出要素包含大量(数百万)折点时,才能使用此参数。此参数产生的输出与切分工具创建的输出类似。
此参数旨在用于对以后在以下情况下可能会导致问题的极大要素进行细分,例如在存储、分析或绘制要素时。
选择限制取决于正在运行该工具的计算机上的可用内存,以及要素的大小(要素越大,则需要的内存越大)。对于包含数十万或数百万个折点的单个要素,大多数运行 64 位软件的现代计算机通常没有问题。如果出现任何问题,则将此参数设置为较大的值(例如 100 万)可避免由于要素大小而导致的问题。
折点限制参数可用于细分要素。仅当输出要素包含大量(数百万)折点时,才能使用此参数。
默认情况下,此工具会利用多核处理器。可供使用的最大核数为四。
要使用较少的核,请使用 parallelProcessingFactor 环境设置。
如果在环境设置中指定了范围,且输出范围的左下角与输入栅格的任何像元角均不匹配,则在处理过程中将移动输入栅格的像元对齐位置,以与指定范围匹配。此移动操作将使用双线性方法触发输入栅格的重采样。因此,还将移动输出要素的位置,这样一来,生成的输出要素便不会与原始输入栅格完全叠加。可以避免执行此移动操作,方法为将输入栅格用作环境中的捕捉栅格。
语法
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 米)。 再如,考虑采用 WGS_84 地理坐标系且高程单位为米的输入栅格,您希望以 50 英尺为基础、100 英尺为间隔来生成等值线(即等值线将为 50 英尺、150 英尺、250 英尺,以此类推)。为此,可将 contour_interval 设置为 100、base_contour 设置为 50,并将 z_factor 设置为 3.2808(因为 1 米 = 3.2808 英尺)。 | Double |
contour_type (可选) | 指定输出的类型。输出可以将等值线表示为线或面。面有多个选项。
| String |
max_vertices_per_feature (可选) | 细分要素时的折点限制。仅当输出要素包含大量(数百万)折点时,才能使用此参数。 此参数旨在用于对以后在以下情况下可能会导致问题的极大要素进行细分,例如在存储、分析或绘制要素时。 如果留空,则不会分割输出要素。默认值为空。 | Long |
代码示例
此示例根据 Esri Grid 栅格创建了等值线,并将其输出为 shapefile。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Contour_3d("elevation", "C:/output/outcontours.shp", 200, 0)
此示例根据 Esri Grid 栅格创建了等值线,并将其输出为 shapefile。
# Name: Contour_3d_Ex_02.py
# Description: Creates contours or isolines from a raster surface.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
contourInterval = 200
baseContour = 0
outContours = "C:/sapyexamples/output/outcontours02.shp"
# Execute Contour
arcpy.Contour_3d(inRaster, outContours, contourInterval, baseContour)
环境
许可信息
- Basic: 需要 3D Analyst 或 Spatial Analyst
- Standard: 需要 3D Analyst 或 Spatial Analyst
- Advanced: 需要 3D Analyst 或 Spatial Analyst