需要 Spatial Analyst 许可。
摘要
根据落入每个单元周围邻域内的点要素计算每单位面积的量级。
插图
用法
半径参数值越大,生成的密度栅格的概化程度便越高。值越小,生成的栅格所显示的信息越详细。
计算密度时,仅考虑落入邻域范围内的点。如果没有点落入特定像元的邻域范围内,则为该像元分配 NoData。
如果面积单位比例因子的单位相对于点间距非常小,则输出栅格值可能会很小。要获取较大的值,请使用单位较大的面积单位比例因子(例如,平方千米与平方米)。
输出栅格的值将始终为浮点型。
有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
语法
PointDensity (in_point_features, population_field, {cell_size}, {neighborhood}, {area_unit_scale_factor})
参数 | 说明 | 数据类型 |
in_point_features | 要计算密度的输入点要素。 | Feature Layer |
population_field | 表示每个点的 population 值的字段。population 字段是将用于计算连续表面的计数或数量。 Population 字段的值可以是整型或浮点型。 以下列出的是该字段的选项和默认特性。
| Field |
cell_size (可选) | 输出栅格数据集的像元大小。 如果特别设置,则为环境中的值。如果未设置环境,单元大小则为输出空间参考中输出范围的宽度或高度较小值除以 250。 | Analysis Cell Size |
neighborhood (可选) | 指定用于计算密度值的每个像元周围的区域形状。 这是一个 Neighborhood 类。 邻域类有四种类型:NbrAnnulus、NbrCircle、NbrRectangle 和 NbrWedge。 这些类的形式和描述如下:
默认值为 NbrCircle,其中 radius 为输出空间参考中输出范围的宽度或高度的最小值除以 30。 | Neighborhood |
area_unit_scale_factor (可选) | 输出密度值的所需面积单位。 基于输出空间参考的线性单位选择默认单位。若要转换密度输出,可将此单位更改为合适的单位。线密度值同时转换长度和面积单位。 未指定输出空间参考的情况下,输出空间参考与输入要素类相同。默认输出密度单位通过输出空间参考的线性单位确定,如下所示。如果输出线性单位是米,输出面积密度单位将设置为 SQUARE_KILOMETERS,输出平方千米(点要素)或千米每平方千米(折线要素)。如果输出线性单位是英尺,输出面积密度单位将设置为 SQUARE_MILES。 如果输出单位不是英尺和米,输出面积密度单位将设置为 SQUARE_MAP_UNITS。即,输出密度单位为输出空间参考的线性单位的平方。例如,如果输出线性单位是厘米,输出面积密度单位将是 SQUARE_MAP_UNITS,即平方厘米。如果输出线性单位是千米,输出面积密度单位将是 SQUARE_MAP_UNITS,即平方千米。 可用选项及相应的输出密度单位如下:
| 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 Desktop Basic: 需要 Spatial Analyst
- ArcGIS Desktop Standard: 需要 Spatial Analyst
- ArcGIS Desktop Advanced: 需要 Spatial Analyst