当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS calculate_density用法及代码示例


本文简要介绍 python 语言中 arcgis.features.analyze_patterns.calculate_density 的用法。

用法:

arcgis.features.analyze_patterns.calculate_density(input_layer, field=None, cell_size=None, cell_size_units='Meters', radius=None, radius_units=None, bounding_polygon_layer=None, area_units=None, classification_type='EqualInterval', num_classes=10, output_name=None, context=None, gis=None, estimate=False, future=False)

返回:

result_layer:如果指定了output_name,则为 FeatureLayer ,否则为 FeatureCollection

calculate_density_standard.png

calculate_density 函数通过在Map上传播已知数量的某些现象(表示为点或线的属性),从点或线要素创建密度图。结果是一层从最不密集到最密集的区域。

对于点输入,每个点应表示某个事件或事件的位置,结果层表示每单位面积的事件计数。新位置的密度值越高,意味着该位置附近的点越多。在许多情况下,结果层可以解释为未来事件的风险面。例如,如果输入点表示雷击的位置,则结果图层可以解释为未来雷击的风险面。

对于线输入,线密度表面表示每个位置附近的线的总量。计算密度值的单位是每单位面积的线长度。例如,如果线条代表河流,则结果图层将代表搜索半径内河流的总长度。该结果可用于确定适合放牧动物的区域。

Parameter

Description

input_layer

必需的层。用于计算密度的点或线要素。请参阅特征输入。

field

可选字符串。一个数字字段名称,指定每个位置的事件数。例如,如果您有代表城市的点,则可以使用代表城市人口的字段作为计数字段,生成的人口密度图层将计算人口较多的城市附近较大的人口密度。如果未指定,则假定每个位置代表一个计数。

cell_size

可选浮点数。该值用于创建计算密度值的点网格。默认值约为上下文参数中定义的分析范围的宽度和高度中较小值的 1/1000。该值越小,多边形边界越平滑。相反,使用较大的值,多边形边界将更加粗糙和锯齿状。

cell_size_units

可选字符串。 cell_size 值的单位。选择列表:[“英里”、“英尺”、“公里”、“米”]

radius

可选浮点数。一个距离,指定在计算密度值时要搜索多远才能找到点或线要素。

radius_units

可选字符串。半径参数的单位。如果未提供距离,则将根据输入要素的位置和计数字段中的值计算默认值(如果提供了计数字段)。选择列表:[“英里”、“英尺”、“公里”、“米”]

bounding_polygon_layer

可选层。指定要计算密度的多边形的图层。例如,如果您在湖内插值鱼的密度,则可以在此参数中使用湖的边界,输出将仅绘制在湖的边界内。请参阅特征输入。

area_units

可选字符串。计算密度值的单位。选择列表:[‘areaUnits’, ‘SquareMiles’]

classification_type

可选字符串。确定如何将密度值分类为多边形。选择列表:[‘EqualInterval’、‘GeometricInterval’、‘NaturalBreaks’、‘EqualArea’、‘StandardDeviation’]

  • EqualInterval - 创建多边形,使每个区域的密度值范围相等。

  • GeometricInterval - 多边形基于具有几何系列的类间隔。此方法可确保每个类范围在每个类中具有大致相同数量的值,并且区间之间的变化是一致的。

  • NaturalBreaks - 多边形的类间隔基于数据的自然分组。分类间断值被识别为最好地对相似值进行分组并且使类之间的差异最大化。

  • EqualArea - 创建多边形,使每个区域的大小相等。例如,如果结果的高密度值多于低密度值,则将为高密度创建更多多边形。

  • StandardDeviation - 根据预测密度值的标准偏差创建多边形。

num_classes

可选的整数。该值用于将预测值的范围划分为不同的类别。每个类别中的值范围由classification_type 参数确定。

output_name

可选字符串或 FeatureLayer 。现有要素图层将导致新图层附加到要素服务。如果 overwrite 在上下文中为 True,则新层将覆盖现有层。如果未指示output_name,则创建新的 FeatureCollection

context

可选字典。处理范围和输出空间参考等附加设置。对于calculate_density,有三个设置。

  • extent - 定义分析区域的边界框。仅分析input_layer 中与边界框相交的那些特征。

  • outSR - 输出要素将投影到 wkid 引用的输出空间参考中。

  • overwrite - 如果为 True,则 output_name 中的要素层将被新要素层覆盖。适用于 ArcGIS Online 或 Enterprise 10.9.1+

    # Example Usage
    context = {"extent": {"xmin": 3164569.408035,
                        "ymin": -9187921.892449,
                        "xmax": 3174104.927313,
                        "ymax": -9175500.875353,
                        "spatialReference":{"wkid":102100,"latestWkid":3857}},
                "outSR": {"wkid": 3857},
                "overwrite": True}

gis

可选,运行此工具的 GIS 。如果未指定,则使用活动 GIS。

estimate

可选布尔值。为真,运行操作所需的积分数将作为浮点数返回。

future

可选,如果为 True,将返回未来对象,并且进程不会等待任务完成。默认为False,表示等待结果。

如果 future = True ,则结果是 Future 对象。调用result() 获取响应。

例子:

# USAGE EXAMPLE: To create a layer that shows density of collisions within 2 miles.
               The density is classified based upon the standard deviation.
               The range of density values is divided into 5 classes.

collision_density = calculate_density(input_layer=collisions,
                                radius=2,
                                radius_units='Miles',
                                bounding_polygon_layer=zoning_lyr,
                                area_units='SquareMiles',
                                classification_type='StandardDeviation',
                                num_classes=5,
                                output_name='density_of_incidents')

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.features.analyze_patterns.calculate_density。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。