描述
通过在地图范围内扩展某一现象(表示为点或线的属性)的已知量,根据点要素或线要素创建密度图。结果是按密度从小到大分类的面图层。
在计算密度时,可以使用障碍来改变要素的影响。
插图
使用方法
此栅格分析门户工具将在您登录到 ArcGIS Enterprise 时可用,其中门户包含一个 ArcGIS Image Server ,此链接专为 Raster Analysis 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。
输入要素图层可以是来自门户、URI 或要素服务 URL 的图层。虽然可以使用本地要素数据和图层作为此门户工具的输入,但是最佳做法是使用门户的图层作为输入。
半径参数值越大,生成的密度栅格越平滑。值越小,生成的栅格更改越明显。如果未提供值,则工具将基于点数及其坐标计算出一个值。
计算密度时,仅考虑落入邻域范围内的点或线段。如果没有点或线段位于特定像元的邻域范围内,则该像元的密度将为零。
语法
arcpy.ra.CalculateDensity(inputPointOrLineFeatures, outputName, {countField}, {searchDistance}, {outputAreaUnits}, {outputCellSize}, {inBarriers})
参数 | 说明 | 数据类型 |
inputPointOrLineFeatures | 将用于计算密度栅格的输入点或线要素。 | Feature Set |
outputName | 输出栅格服务的名称。 默认名称基于工具名称以及输入图层名称。如果该图层名称已存在,则系统将提示您提供其他名称。 | String |
countField (可选) | 此字段用于指示每个位置处的事件点数量。例如,如果正在创建人口密度栅格且输入点为城市,则为计数字段使用城市人口最为合适,以便人口较多的城市对密度计算产生更大的影响。 | Field |
searchDistance (可选) | 搜索距离和距离单位。计算像元的密度时,该距离内的所有要素都将用于该像元的密度计算。 单位可以是千米、米、英里或英尺。 默认单位是米。 | Linear Unit |
outputAreaUnits (可选) | 指定将用于计算面积的单位。密度等于计数除以面积,此参数用于设置密度计算中的面积单位。
| String |
outputCellSize (可选) | 输出栅格的像元大小和单位。 单位可以是千米、米、英里或英尺。 默认单位是米。 | Linear Unit |
inBarriers (可选) | 定义障碍的数据集。 障碍可以是折线或面要素的要素图层。 | Feature Set |
派生输出
名称 | 说明 | 数据类型 |
outputRaster | 输出栅格。 | 栅格图层 |
代码示例
本示例根据具有人口字段的点来创建密度影像服务栅格。
import arcpy
arcpy.ra.CalculateDensity('https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/0',
'outImgServ', 'Population','150000 Meters', 'Square Kilometers','10000 Meters',
'https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/1')
本示例根据具有人口字段的点来创建密度影像服务栅格。
#-------------------------------------------------------------------------------
# Name: CalculateDensity_example02.py
# Description: Creates a density image service raster from points with a population.
#
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inPoints = 'https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/0'
outRaster = 'outImgServ'
inField = 'Population'
searchDistance = '150000 Meters'
areaUnit = 'Square Kilometers'
outCellSize = '10000 Meters'
inBarriers = 'https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/1'
# Execute CalculateDensity
arcpy.ra.CalculateDensity(inPoints, outRaster, inField, searchDistance, areaUnit, outCellSize, inBarriers)
许可信息
- Basic: 需要 ArcGIS Image Server
- Standard: 需要 ArcGIS Image Server
- Advanced: 需要 ArcGIS Image Server