當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python ArcGIS calculate_density用法及代碼示例


本文簡要介紹 python 語言中 arcgis.features.analysis.calculate_density 的用法。

用法:

arcgis.features.analysis.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.analysis.calculate_density。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。