线统计 (Spatial Analyst)
用法
-
对于众数、均值、中位数、少数以及长度统计,这些类型将只考虑邻域中的线部分。对于其他类型,使用部分线还是全部线无关紧要。
-
如果栅格像元的邻域中没有线,则“变异度”和“长度”统计会被指定为零值。对于其他统计数据,将分配 NoData。
-
众数、均值、中位数和少数这些统计数据类型是根据线长度进行加权的。例如,如果一条线是另一条线的两倍长,则认为其值的发生次数是正常的两倍。
-
输出栅格的值在“变异度”统计中始终为整型。对于均值和长度,输出值始终为浮点型。对于其他统计数据,输出数据类型与输入项值类型相同。
-
该字段为整型时,可用的叠加统计选择有:均值、众数、最大值、中位数、最小值、少数、范围以及变异度。该字段为浮点型时,可用的叠加统计选择有:均值、最大值、最小值和范围。
-
对于众数、最大值、中位数、最小值、少数以及范围这些统计数据类型,栅格的输出数据类型与输入字段类型相同。对于均值和长度这些统计类型,输出栅格始终为浮点型。对于变异度,输出栅格将始终为整型。
语法
参数 | 说明 | 数据类型 |
in_polyline_features |
要计算“线统计”的输入折线 (polyline) 要素。 | Feature Layer |
field | 将用于计算指定统计数据的字段。字段可以是输入线要素的任何数值字段。 当统计类型被设置为 Length 时,字段可被设置为 None。 如果输入要素包含 z,则它可以是 Shape 字段。 | Field |
cell_size (可选) |
输出栅格数据集的像元大小。 如果专门进行设置,则是环境中的值。如果环境中未设置,则该值为输出空间参考中输入要素数据集范围的宽度或高度中的较小值除以 250。 | Analysis Cell Size |
search_radius (可选) |
搜索计算所需统计数据的半径范围(采用地图单位)。 默认半径是输出像元大小的五倍。 | Double |
statistics_type (可选) |
要计算的统计数据类型。 为邻域中所有线的指定字段值计算统计数据。
| String |
返回值
名称 | 说明 | 数据类型 |
out_raster |
输出线统计栅格。 | Raster |
代码实例
本例将计算输入栅格中各像元某一半径范围内的平均线段长度。
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")
本例将计算输入栅格中各像元某一半径范围内的线段的平均长度。
# 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
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute LineStatistics
lineStatOut = LineStatistics(inLines, field, cellSize, searchRadius,
"MEAN")
# Save the output
lineStatOut.save("C:/sapyexamples/output/linestatisout")