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


Python ArcGIS interpolate_points用法及代碼示例


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

用法:

arcgis.features.analysis.interpolate_points(input_layer, field, interpolate_option='5', output_prediction_error=False, classification_type='GeometricInterval', num_classes=10, class_breaks=[], bounding_polygon_layer=None, predict_at_point_layer=None, output_name=None, context=None, gis=None, estimate=False, future=False)

返回:

result_layer : FeatureLayer 如果指定了 output_name,否則 Python 字典具有以下鍵:

“result_layer”:層( FeatureCollection )

“prediction_error”:層( FeatureCollection )

“predicted_point_layer”:層( FeatureCollection )

如果 future = True ,則結果是 Future 對象。調用result() 獲取響應。

interpolate_points.png

interpolate_points 方法允許您根據一組點的測量值來預測新位置的值。該方法獲取具有每個點的值的點數據,並返回按預測值分類的區域。例如:

  • 空氣質量管理區設有測量汙染水平的傳感器。 interpolate_points 可用於預測沒有傳感器的位置的汙染水平,例如有高危人群、學校或醫院的位置。

  • 根據從單個植物采集的樣本預測裁剪中的重金屬濃度。

  • 預測土壤養分水平(氮、磷、鉀等)和其他指標(如電導率),以研究它們與裁剪產量的關係,並為田間每個位置規定精確的肥料用量。

  • 氣象應用包括預測溫度、降雨和相關變量(如酸雨)。

interpolate_points 使用Empirical Bayesian Kriging 地理處理工具執行插值。提供給經驗貝葉斯克裏金法工具的參數由 interpolate_option 請求參數控製。

如果為 interpolate_option 提供值 1,則經驗貝葉斯克裏金法將使用以下參數:

  • transformation_type - 無

  • semivariogram_model_type - 電源

  • max_local_points - 50

  • overlap_factor - 1

  • number_semivariograms - 30

  • nbrMin - 8

  • nbrMax - 8

如果為 interpolate_option 提供值 5,則經驗貝葉斯克裏金法將使用以下參數:

  • transformation_type - 無

  • semivariogram_model_type - 電源

  • max_local_points 75

  • overlap_factor - 1.5

  • number_semivariograms - 100

  • nbrMin - 10

  • nbrMax - 10

如果為 interpolate_option 提供值 9,則經驗貝葉斯克裏金法將使用以下參數:

  • transformation_type - 經驗

  • semivariogram_model_type - K_BESSEL

  • max_local_points - 200

  • overlap_factor - 3

  • number_semivariograms - 200

  • nbrMin - 15

  • nbrMax - 15

Parameter

Description

input_layer

所需層。將對其特征進行插值的點圖層。請參閱特征輸入。

field

必需的字符串。包含您要插值的值的數值字段的名稱。

interpolate_option

可選整數。整數值,表示您對速度與準確性的偏好,從 1(最快)到 9(最準確)。更準確的預測需要更長的時間來計算。

選擇列表:[1,5,9]。

默認值為 5。

output_prediction_error

可選布爾值。如果為 True,則插值預測的標準誤差多邊形層將在 prediction_error 輸出參數中返回。

標準誤差很有用,因為它們提供了有關預測值可靠性的信息。一個簡單的經驗法則是,95% 的情況下,真實值將落在預測值的兩個標準誤差範圍內。例如,假設一個新位置的預測值為 50,標準誤差為 5。這意味著此任務的最佳猜測是該位置的真實值為 50,但合理地可以低至 40 或高如 60。要計算此合理值範圍,請將標準誤差乘以 2,將該值與預測值相加以獲得範圍的上限,並從預測值中減去它以獲得範圍的下限。

classification_type

可選字符串。確定如何將預測值分類為區域。

  • EqualArea - 創建多邊形以使每個區域中的數據值數量相等。

例如,如果數據的大值多於小值,則將為大值創建更多區域。

  • EqualInterval - 創建多邊形,使每個區域的預測值範圍相等。

  • GeometricInterval - 多邊形基於具有幾何級數的類間隔。此方法確保每個類範圍在每個類內具有大致相同數量的值,並且間隔之間的變化是一致的。

  • Manual - 您可以定義自己的區域值範圍。這些值將輸入到下麵的class_breaks 參數中。

選擇列表:[‘EqualArea’、‘EqualInterval’、‘GeometricInterval’、‘Manual’]

默認值為“GeometricInterval”。

num_classes

可選整數。該值用於將插值範圍劃分為不同的類別。每個類中的值範圍由classification_type 參數確定。每個類定義結果多邊形的邊界。

默認值為 10。最大值為 32。

class_breaks

可選的浮點數列表。如果classification_type 是手動,請提供所需的類中斷值,並用空格分隔。這些值定義每個類別的上限,因此類別數量將等於輸入值的數量。不會為預測值高於輸入的最大中斷值的任何位置創建區域。您必須輸入至少兩個值且不超過 32 個。

bounding_polygon_layer

可選層。指定要在其中插入值的多邊形的圖層。例如,如果您要對湖泊內魚類的密度進行插值,則可以在此參數中使用湖泊的邊界,並且輸出將僅包含湖泊邊界內的麵。請參閱特征輸入。

predict_at_point_layer

可選層。指定點位置以計算預測值的可選層。這使您可以在感興趣的特定位置進行預測。例如,如果 input_layer 表示汙染水平的測量值,您可以使用此參數來預測高危人群所在位置(例如學校或醫院)的汙染水平。然後,您可以使用此信息向這些地點的衛生官員提供建議。

如果提供,輸出 predicted_point_layer 將包含指定位置的預測。請參閱特征輸入。

output_name

可選字符串或 FeatureLayer 。現有要素圖層將導致新圖層附加到要素服務。如果 overwrite 在上下文中為 True,則新層將覆蓋現有層。如果未指示output_name,則創建新的 FeatureCollection

context

可選字典。處理範圍和輸出空間參考等附加設置。對於interpolate_points,有三個設置。

  • 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

可選的布爾值。如果為 True,將返回運行該操作的積分數。

future

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

例子:

#USAGE EXAMPLE: To predict mine production in US at new locations.

>>> interpolated = interpolate_points(coal_mines_us,
                                      field='Total_Prod',
                                      interpolate_option=5,
                                      output_prediction_error=True,
                                      classification_type='GeometricInterval',
                                      num_classes=10,
                                      output_name='interpolate coal mines production')

相關用法


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