线统计 (空间分析)

需要 Spatial Analyst 许可。

摘要

计算每个输出像元周围圆形邻域中线属性的统计信息。

了解有关“线统计”工作原理的详细信息

使用情况

  • 有多种统计数据类型可供选择。 可用统计数据的选择取决于指定字段的类型。

  • 对于整型字段,统计类型的有效选择是:众数、最大值、平均值、中值、最小值、少数、范围、变异度和长度。 对于浮点型字段,有效统计数据为:最大值、平均值、最小值、范围和长度。 众数、少数和变异度不可用。

  • 如果字段类型为整型,则以下统计数据的输出栅格将为整型:众数、最大值、中值、最小值、少数、范围和变异度。 平均值和长度统计数据的输出将为浮点型。

    如果字段类型为浮点型,则所有可用统计数据类型的输出栅格都将为浮点型。

  • 对于众数、均值、中值、少数以及长度统计数据,这些类型将只考虑邻域范围中的线部分。 对于最大值、最小值、范围和变异度统计数据,可以使用部分线或整个线

  • 众数、平均值、中值和少数统计类型将根据线长度进行加权。 例如,如果一条线的长度是另一条线的两倍,则将认为该值具有两倍的出现频率。

  • 如果栅格像元的邻域中没有线,则变异度和长度统计数据会被指定为零。 对于其他统计数据,则分配 NoData。

  • 输出像元大小参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果没有将像元大小明确指定为参数值,则将从像元大小环境获取相应值(前提是已指定环境)。 如果未指定参数像元大小和环境像元大小,但已设置捕捉栅格环境,则将使用捕捉栅格的像元大小。 如果未指定任何内容,则像元大小会通过使用范围的宽度或高度中的较小值除以 250 来计算,其中范围位于在环境中指定的输出坐标系内。

  • 如果使用数值指定像元大小,则工具会直接将其用于输出栅格。

    如果使用栅格数据集指定像元大小,则该参数将显示栅格数据集的路径而不是像元大小的值。 如果数据集的空间参考与输出空间参考相同,则栅格数据集的像元大小将直接用于分析。 如果数据集的空间参考与输出空间参考不同,则将基于所选的像元大小投影方法进行投影。

  • 有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst

参数

标注说明数据类型
输入折线要素

在邻域运算中使用的输入线。

对于每个输出像元,将为落在该像元周围圆形邻域内的输入折线要素的所有部分计算统计数据。

圆形邻域的大小由搜索半径定义。

Feature Layer
字段

将要计算指定统计数据的字段。 它可以是输入线要素的任何数值字段。

统计类型设置为长度时,字段参数可以设置为 NONE

如果输入要素包含 z 值,则它可以是 Shape 字段。

Field
输出像元大小
(可选)

将创建的输出栅格的像元大小。

此参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。 有关详细信息,请参阅用法部分。

Analysis Cell Size
搜索半径
(可选)

要在其中计算所需统计数据的搜索半径,以地图单位为单位。

默认半径是输出像元大小的五倍。

Double
统计类型
(可选)

指定要计算的统计数据类型。

根据邻域内所有行的指定字段的值计算统计数据。

默认统计类型为平均值

统计类型的可用选择取决于指定字段的数值型。 如果该字段为整型,则可用的统计选择包括:众数、最大值、平均值、中值、最小值、少数、范围、变异度和长度。 如果字段为浮点型,则可用统计数据仅包括:平均值、最大值、最小值、范围和长度。

  • 平均值将计算每个邻域中字段值的平均值,根据长度进行加权。计算公式为:
    • 均值 =((长度 × 字段值)总和)/(长度总和)
    仅使用位于邻域内的线部分。
  • 众数将识别邻域中的最大线长度值。
  • 最大值将识别邻域中的最大值。
  • 中值将计算中值,根据长度进行加权。从概念上讲,邻域中的所有线段都按值排序,并以端点对端点的方式放置成一条直线。 直线中点的线段值即为中值。
  • 最小值将识别每个邻域中的最小值。
  • 少数将识别邻域中的最小线长度值。
  • 范围将计算值范围(最大值 - 最小值)。
  • 变异度将计算唯一值的数量。
  • 长度将计算邻域中线的总长度。 如果字段值不是 1,则先将长度乘以项目值,然后再将它们相加。 当字段参数被设置为“无”时,可使用此选项。
String

返回值

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

输出线统计数据栅格。

Raster

LineStatistics(in_polyline_features, field, {cell_size}, {search_radius}, {statistics_type})
名称说明数据类型
in_polyline_features

在邻域运算中使用的输入线。

对于每个输出像元,将为落在该像元周围圆形邻域内的输入折线要素的所有部分计算统计数据。

圆形邻域的大小由搜索半径定义。

Feature Layer
field

将要计算指定统计数据的字段。 它可以是输入线要素的任何数值字段。

statistics_type 设置为 Length 时,field 参数可被设置为 NONE

如果输入要素包含 z 值,则它可以是 Shape 字段。

Field
cell_size
(可选)

将创建的输出栅格的像元大小。

此参数可以通过数值进行定义,也可以从现有栅格数据集获取。 如果未将像元大小明确指定为参数值,则将使用环境像元大小值(如果已指定);否则,将使用其他规则通过其他输出计算像元大小。 有关详细信息,请参阅用法部分。

Analysis Cell Size
search_radius
(可选)

要在其中计算所需统计数据的搜索半径,以地图单位为单位。

默认半径是输出像元大小的五倍。

Double
statistics_type
(可选)

指定要计算的统计数据类型。

根据邻域内所有行的指定字段的值计算统计数据。

  • MEAN将计算每个邻域中字段值的平均值,根据长度进行加权。计算公式为:
    • 均值 =((长度 × 字段值)总和)/(长度总和)
    仅使用位于邻域内的线部分。
  • MAJORITY将识别邻域中的最大线长度值。
  • MAXIMUM将识别邻域中的最大值。
  • MEDIAN将计算中值,根据长度进行加权。从概念上讲,邻域中的所有线段都按值排序,并以端点对端点的方式放置成一条直线。 直线中点的线段值即为中值。
  • MINIMUM将识别每个邻域中的最小值。
  • MINORITY将识别邻域中的最小线长度值。
  • RANGE将计算值范围(最大值 - 最小值)。
  • VARIETY将计算唯一值的数量。
  • LENGTH将计算邻域中线的总长度。 如果字段值不是 1,则先将长度乘以项目值,然后再将它们相加。 当字段参数被设置为“无”时,可使用此选项。

默认统计类型为 MEAN

统计类型的可用选择取决于指定字段的数值型。 如果该字段为整型,则可用的统计选择包括:众数、最大值、平均值、中值、最小值、少数、范围、变异度和长度。 如果字段为浮点型,则可用统计数据仅包括:平均值、最大值、最小值、范围和长度。

String

返回值

名称说明数据类型
out_raster

输出线统计数据栅格。

Raster

代码示例

LineStatistics 示例 1(Python 窗口)

本示例计算输入栅格中每个像元的特定半径内的线段的平均长度。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
lineStatOut = LineStatistics("streams", "LENGTH", 50, 500, "MEAN")
lineStatOut.save("C:/sapyexamples/output/linestatout")
LineStatistics 示例 2(独立脚本)

本示例计算输入栅格中每个像元的特定半径内的线段的平均长度。

# Name: LineStatistics_Ex_02.py
# Description: 
# 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
inLines = "streams.shp"
field = "LENGTH"
cellSize = 50
searchRadius = 500

# Execute LineStatistics
lineStatOut = LineStatistics(inLines, field, cellSize, searchRadius,
                              "MEAN")

# Save the output 
lineStatOut.save("C:/sapyexamples/output/linestatisout")