点密度分析 (空间分析)

许可等级:BasicStandardAdvanced

摘要

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

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

插图

Point Density illustration
OutRas = PointDensity(InPts, None, 30)

用法

语法

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,则可以使用 形状

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

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

输出栅格数据集的像元大小。

如果专门进行设置,则是环境中的值。如果未设置环境,单元大小为输出空间参考中输出范围的宽度或高度较小值除以 250。

Analysis Cell Size
neighborhood
(可选)

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

这是一个邻域类。

邻域类有四种类型:NbrAnnulusNbrCircleNbrRectangleNbrWedge

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

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

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

  • NbrCircle ({radius}, {units})

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

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

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

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

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

  • {units}

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

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

Neighborhood
area_unit_scale_factor
(可选)

输出密度值的所需面积单位。

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

例如,如果输入单位是米,则默认输出面积密度单位为平方米(点要素)或千米每平方千米(折线要素)。

基于输入要素单位的默认密度单位有:

  • SQUARE_MAP_UNITS 如果单位为未知,点或十进制度。
  • SQUARE_MILES 用于英尺、码、英里或海里。
  • SQUARE_KILOMETERS 用于米或千米。
  • SQUARE_INCHES 用于英寸。
  • 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")

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

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

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

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 需要 Spatial Analyst
ArcGIS for Desktop Standard: 需要 Spatial Analyst
ArcGIS for Desktop Advanced: 需要 Spatial Analyst
5/10/2014