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


Python ArcGIS calculate_density用法及代碼示例

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

用法:

arcgis.geoanalytics.analyze_patterns.calculate_density(input_layer, fields=None, weight='Uniform', bin_type='Square', bin_size=None, bin_size_unit=None, time_step_interval=None, time_step_interval_unit=None, time_step_repeat_interval=None, time_step_repeat_interval_unit=None, time_step_reference=None, radius=None, radius_unit=None, area_units='SquareKilometers', output_name=None, gis=None, context=None, future=False)

返回:

result_layer :將要素輸出為 FeatureLayer

calculate_density.png

calculate_density 工具通過在Map上散布已知數量的某些現象(表示為點的屬性),根據點要素創建密度圖。結果是一層從最不密集到最密集的區域。

對於點輸入,每個點應表示某個事件或事件的位置,結果層表示每單位麵積的事件計數。新位置的密度值越高,意味著該位置附近的點越多。在許多情況下,結果層可以解釋為未來事件的風險麵。例如,如果輸入點表示雷擊的位置,則結果圖層可以解釋為未來雷擊的風險麵。

此工具的其他用例包括:

  • 創建犯罪密度圖,以幫助警察部門將資源正確分配到犯罪率高的地區。

  • 計算縣內醫院的密度。結果圖層將顯示對醫院的可達性高和低的區域,這些信息可用於決定應該在哪裏建造新醫院。

  • 根據森林火災的曆史位置識別森林火災高風險區域。

  • 定位遠離主要高速公路的社區,以便規劃應該在哪裏建造新道路。

Parameter

Description

input_layer

所需的點要素圖層。將在其上計算密度的點圖層。

請參閱特征輸入。

注意:

使用 bin 進行分析需要投影坐標係。將圖層聚合到 bin 中時,輸入圖層或處理範圍 (processSR) 必須具有投影坐標係。在 10.5.1、10.6 和 10.6.1 中,如果在運行分析時未指定投影坐標係,將使用世界圓柱等麵積 (WKID 54034) 投影。在 10.7 或更高版本中,如果在運行分析時未指定投影坐標係,則會根據數據範圍選取投影。

fields

可選字符串。提供一個或多個字段,指定每個位置的事件數。您可以計算多個字段的密度,並且點數將始終計算密度。

weight

必需的字符串。應用於密度計算的加權類型。有兩種選擇:

  • Uniform - Calculates a magnitude-per-area. This is the default.

  • Kernel - Applies a kernel function to fit a smooth tapered surface to each point.

默認值為“Uniform”。

bin_type

必需的字符串。用於計算密度的 bin 類型。

注意:

使用SquareHexagon bin 進行分析需要投影坐標係。將圖層聚合到 bin 中時,輸入圖層或處理範圍 ( processSR ) 必須具有投影坐標係。在 10.5.1、10.6 和 10.6.1 中,如果運行分析時未指定投影坐標係,則將使用世界圓柱等麵積 (WKID 54034) 投影。在 10.7 或更高版本中,如果運行分析時未指定投影坐標係,將根據數據範圍選取投影。

選擇清單:

  • Hexagon

  • Square

bin_size

所需的浮點數。將使用 input_layer 進行分析的 bin 的距離。生成 bin 時,對於 Square,指定的數量和單位決定了正方形的高度和長度。對於 Hexagon ,指定的數量和單位確定平行邊之間的距離。

bin_size_unit

必需的字符串。將為其計算密度的 bin 的距離單位。與 bin_size 中指定的值一起使用的線性單位。

默認值為“米”。

time_step_interval

可選整數。一個數值,指定時間步長間隔的持續時間。此選項僅在輸入點為 time-enabled 且代表時間瞬間時可用。

默認值為“無”。

time_step_interval_unit

可選字符串。一個字符串,它指定時間步長間隔的單位。此選項僅在輸入點為 time-enabled 且代表時間瞬間時可用。

選擇清單:

  • Milliseconds

  • Seconds

  • Minutes

  • Hours

  • Days

  • Weeks

  • Months

  • Years

默認值為“無”。

time_step_repeat_interval

可選整數。一個數值,指定時間步重複發生的頻率。僅當輸入點為 time-enabled 且時間類型為即時時,此選項才可用。

time_step_repeat_interval_unit

可選字符串。一個字符串,它指定步驟重複的時間單位。僅當輸入點為 time-enabled 且時間類型為即時時,此選項才可用。

選擇清單:

  • Years

  • Months

  • Weeks

  • Days

  • Hours

  • Minutes

  • Seconds

  • Milliseconds

默認值為“無”。

time_step_reference

可選的日期時間。一個日期,指定將時間片對齊到的參考時間,以從紀元開始的毫秒數表示。如果 time_step_reference 設置為“無”,則時間步長將與 1970 年 1 月 1 日對齊 (datetime(1970, 1, 1))。僅當輸入點為 time-enabled 且時間類型為瞬間時,此選項才可用。

默認值為“無”。

radius

必需的整數。計算密度的鄰域的大小。半徑大小必須大於 bin_size

radius_unit

必需的字符串。定義將為其計算密度的鄰域的半徑的距離單位。與 bin_size 中指定的值一起使用的線性單位。

選擇清單:

  • Feet

  • Yards

  • Miles

  • Meters

  • Kilometers

  • NauticalMiles

默認值為“米”。

area_units

可選字符串。密度值的所需輸出單位。如果密度值非常小,您可以增加麵積單位的大小(例如,平方米到平方公裏)以返回更大的值。此值僅縮放結果。可能的麵積單位有:

選擇清單:

  • SquareMeters

  • SquareKilometers

  • Hectares

  • SquareFeet

  • SquareYards

  • SquareMiles

  • Acres

默認值為 SquareKilometers

output_name

可選字符串。該方法將創建結果的要素服務。您定義服務的名稱。

gis

可選,運行此工具的 GIS。如果未指定,則使用活動 GIS。

context

可選字典。 context 參數包含影響任務執行的其他設置。對於此任務,有四個設置(字典中的鍵):

  1. 範圍 (extent) - 定義分析區域的邊界框。隻有那些與邊界框相交的特征才會被分析。

  2. 處理空間參考 (processSR) - 要素將投影到此坐標係中以進行分析。

  3. 輸出空間參考 (outSR) - 分析後要素將投影到此坐標係中以保存。時空大數據存儲的輸出空間參考始終為 WGS84。

  4. 數據存儲 (dataStore) - 結果將保存到指定的數據存儲。對於ArcGIS Enterprise,默認為時空大數據存儲。

future

可選布爾值。如果為 True,則將返回 future 對象,並且進程不會等待任務完成。默認為False,表示等待結果。

例子:

# Usage Example: Aggregate the number of Hurricanes within 1 meter to calculate density of Hurricane damage.

cal_den_result = calculate_density(input_layer=hurricane_lyr,
                                   fields='Damage',
                                   weight='Uniform',
                                   bin_type='Square',
                                   bin_size=1,
                                   bin_size_unit="Meters",
                                   radius=2,
                                   radius_unit="Yards")

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.geoanalytics.analyze_patterns.calculate_density。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。