点密度分析 (Spatial Analyst)

需要 Spatial Analyst 许可。

摘要

根据落入每个单元周围邻域内的点要素计算每单位面积的量级。

了解有关“点密度分析”工作原理的详细信息

插图

点密度分析图示
OutRas = PointDensity(InPts, None, 30)

使用情况

  • 计算密度时,仅考虑落入邻域范围内的点。如果没有点落入特定像元的邻域范围内,则为该像元分配 NoData。

  • 输出栅格的值将始终为浮点型。

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

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

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

  • 半径参数值越大,生成的密度栅格的概化程度便越高。值越小,生成的栅格所显示的信息越详细。

  • 对于支持 Null 值的数据格式,例如文件地理数据库要素类,在将 Null 值用作输入时,该值将被忽略。

  • 如果面积单位比例因子的单位相对于点间距非常小,则输出栅格值可能会很小。要获取较大的值,请使用单位较大的面积单位比例因子(例如,平方千米与平方米)。

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

参数

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

要计算密度的输入点要素。

Feature Layer
Population 字段

表示每个点的 population 值的字段。population 字段是将用于计算连续表面的计数或数量。

population 字段的值可以是整型或浮点型。

以下列出的是该字段的选项和默认特性。

  • 如果不使用任何项目或特殊值,则选择 None,这样每一要素就只计数一次。

  • 如果输入要素包含 Z,则可使用 Shape 字段。

  • 否则,默认字段为 POPULATION。以下条件同样适用:

    • 如果没有 POPULATION 字段,但是存在 POPULATIONxxxx 字段,则默认使用此字段。xxxx 可以是任何有效字符,例如 POPULATION6POPULATION1974POPULATIONROADTYPE
    • 如果没有 POPULATION 字段或 POPULATIONxxxx 字段,但是存在 POP 字段,则默认使用该字段。
    • 如果没有 POPULATION 字段、POPULATIONxxxx 字段或 POP 字段,但是存在 POPxxxx 字段,则默认使用此字段。
    • 如果没有 POPULATION 字段、POPULATIONxxxx 字段、POP 字段或 POPxxxx 字段,则默认使用 NONE
Field
输出像元大小
(可选)

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

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

Analysis Cell Size
邻域
(可选)

指定用于计算密度值的每个像元周围的区域形状。

  • 环形 - 由内半径或外半径定义的环形(圆环形)邻域。
  • 圆形 - 具有给定半径的圆形邻域。这是默认设置,半径为输出空间参考中输入点要素范围的宽度或高度的最小值除以 30。
  • 矩形 - 具有给定高度和宽度的矩形邻域。
  • 楔形 - 楔形邻域。楔形由起始角度、终止角度和半径进行指定。楔形按逆时针方向从起始角延伸到终止角。角度为算术度(基于 x 轴正向按逆时针方向进行测量)。也可使用负角度。
  • 像元 | 地图 - 以像元或地图单位定义所选邻域测量值的单位(基于输出空间参考的投影的线性单位)。
Neighborhood
面积单位
(可选)

输出密度值的面积单位。

基于输出空间参考的线性单位选择默认单位。若要转换密度输出,可将此单位更改为合适的单位。线密度值同时转换长度和面积单位。

未指定输出空间参考的情况下,输出空间参考与输入要素类相同。默认输出密度单位通过输出空间参考的线性单位确定,如下所示。如果输出线性单位是米,输出面积密度单位将设置为平方千米,输出平方千米(点要素)或千米每平方千米(折线要素)。如果输出线性单位是英尺,输出面积密度单位将设置为平方英里

如果输出单位不是英尺和米,输出面积密度单位将设置为平方地图单位。即,输出密度单位为输出空间参考的线性单位的平方。例如,如果输出线性单位是厘米,输出面积密度单位将是平方地图单位,即平方厘米。如果输出线性单位是千米,输出面积密度单位将是平方地图单位,即平方千米。

可用选项及相应的输出密度单位如下:

  • 平方地图单位用于输出空间参考的线性单位的平方。
  • 平方英里英里(美国)。
  • 平方千米千米。
  • 英亩英亩(美国)。
  • 公顷公顷。
  • 平方码码(美国)。
  • 平方英尺英尺(美国)。
  • 平方英寸英寸(美国)。
  • 平方米米。
  • 平方厘米厘米。
  • 平方毫米毫米。
String

返回值

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

输出点密度栅格。

总为浮点栅格。

Raster

PointDensity(in_point_features, population_field, {cell_size}, {neighborhood}, {area_unit_scale_factor})
名称说明数据类型
in_point_features

要计算密度的输入点要素。

Feature Layer
population_field

表示每个点的 population 值的字段。population 字段是将用于计算连续表面的计数或数量。

population 字段的值可以是整型或浮点型。

以下列出的是该字段的选项和默认特性。

  • 如果不使用任何项目或特殊值,则选择 None,这样每一要素就只计数一次。

  • 如果输入要素包含 Z,则可使用 Shape 字段。

  • 否则,默认字段为 POPULATION。以下条件同样适用:

    • 如果没有 POPULATION 字段,但是存在 POPULATIONxxxx 字段,则默认使用此字段。xxxx 可以是任何有效字符,例如 POPULATION6POPULATION1974POPULATIONROADTYPE
    • 如果没有 POPULATION 字段或 POPULATIONxxxx 字段,但是存在 POP 字段,则默认使用该字段。
    • 如果没有 POPULATION 字段、POPULATIONxxxx 字段或 POP 字段,但是存在 POPxxxx 字段,则默认使用此字段。
    • 如果没有 POPULATION 字段、POPULATIONxxxx 字段、POP 字段或 POPxxxx 字段,则默认使用 NONE
Field
cell_size
(可选)

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

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

Analysis Cell Size
neighborhood
(可选)

指定用于计算密度值的每个像元周围的区域形状。

这是一个 Neighborhood 类。

邻域类有四种类型:NbrAnnulusNbrCircleNbrRectangleNbrWedge

这些类的形式和描述如下:

  • NbrAnnulus ({innerRadius}, {outerRadius}, {units})

    由内半径或外半径定义的环形(圆环形)邻域。

  • NbrCircle ({radius}, {units})

    具有给定半径的圆形邻域。

  • NbrRectangle ({width}, {height}, {units})

    具有给定宽度和高度的矩形邻域。

  • NbrWedge ({radius}, {startAngle}, {endAngle}, {units})

    楔形(饼形)邻域。楔形由起始角度、终止角度和半径进行指定。楔形按逆时针方向从起始角延伸到终止角。角度为算术度(基于 x 轴正向按逆时针方向进行测量)。也可使用负角度。

  • {units}

    将单位定义为像元数或以地图单位表示的值。

默认值为 NbrCircle,其中 radius 为输出空间参考中输出范围的宽度或高度的最小值除以 30。

Neighborhood
area_unit_scale_factor
(可选)

输出密度值的面积单位。

基于输出空间参考的线性单位选择默认单位。若要转换密度输出,可将此单位更改为合适的单位。线密度值同时转换长度和面积单位。

未指定输出空间参考的情况下,输出空间参考与输入要素类相同。默认输出密度单位通过输出空间参考的线性单位确定,如下所示。如果输出线性单位是米,输出面积密度单位将设置为平方千米,输出平方千米(点要素)或千米每平方千米(折线要素)。如果输出线性单位是英尺,输出面积密度单位将设置为平方英里

如果输出单位不是英尺和米,输出面积密度单位将设置为平方地图单位。即,输出密度单位为输出空间参考的线性单位的平方。例如,如果输出线性单位是厘米,输出面积密度单位将是平方地图单位,即平方厘米。如果输出线性单位是千米,输出面积密度单位将是平方地图单位,即平方千米。

可用选项及相应的输出密度单位如下:

  • SQUARE_MAP_UNITS用于输出空间参考的线性单位的平方。
  • SQUARE_MILES英里(美国)。
  • SQUARE_KILOMETERS千米。
  • ACRES英亩(美国)。
  • HECTARES公顷。
  • SQUARE_YARDS码(美国)。
  • SQUARE_FEET英尺(美国)。
  • SQUARE_INCHES英寸(美国)。
  • SQUARE_METERS米。
  • SQUARE_CENTIMETERS厘米。
  • SQUARE_MILLIMETERS毫米。
String

返回值

名称说明数据类型
out_raster

输出点密度栅格。

总为浮点栅格。

Raster

代码示例

PointDensity 示例 1(Python 窗口)

此例根据点 shapefile 计算密度栅格。

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
pdensOut = PointDensity("rec_sites.shp", "NONE", 60, NbrCircle(2500, "MAP"))
pdensOut.save("C:/sapyexamples/output/pointdensity")
PointDensity 示例 2(独立脚本)

此例根据点 shapefile 计算密度栅格。

# Name: PointDensity_Ex_02.py
# Description: Calculates a magnitude per unit area from point 
#    features that fall within a neighborhood around each cell.
# 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
inFeatures = "rec_sites.shp"
populationField = "NONE"
cellSize = 60

# Create the Neighborhood Object
radius = 2500
myNbrCirc = NbrCircle(radius, "MAP")

# Execute PointDensity
outPdens = PointDensity(inFeatures, populationField, cellSize, 
                        myNbrCirc, "SQUARE_KILOMETERS")

# Save the output 
outPdens.save("C:/sapyexamples/output/outpdens")

许可信息

  • Basic: 需要 Spatial Analyst
  • Standard: 需要 Spatial Analyst
  • Advanced: 需要 Spatial Analyst

相关主题