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


Python ArcGIS interpolate_points用法及代碼示例

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

用法:

arcgis.raster.analytics.interpolate_points(input_point_features, interpolate_field, optimize_for='BALANCE', transform_data=False, size_of_local_models=None, number_of_neighbors=None, output_cell_size=None, output_prediction_error=False, output_name=None, context=None, *, gis=None, future=False, **kwargs)

返回:

ra_interpolate_points.png

此工具允許您根據一組點的測量值來預測新位置的值。該工具獲取具有每個點的值的點數據並返回預測值的柵格:

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

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

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

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

Parameter

Description

input_point_features

包含具有已知值的位置的必需點圖層 包含已測量值的點的點圖層。

interpolate_field

必需的字符串 - 要插入的字段。選擇您想要插入其值的字段。該字段必須是數字。

例子:

“myField”

optimize_for

可選字符串。選擇您對速度與準確性的偏好。更準確的預測需要更長的時間來計算。

此參數更改插值點的其他幾個參數的默認值,以優化計算速度、結果的準確性或兩者的平衡。

默認情況下,該工具將優化平衡。

以下之一:[‘速度’、‘平衡’、‘準確度’]

  • SPEED 針對性能進行了優化。

  • BALANCE 在性能和準確性之間取得平衡。這是默認設置。

  • ACCURACY 經過優化以實現最準確的結果,但犧牲了一些性能。

例子:

“ACCURACY”

transform_data

可選 bool - 選擇是否將數據轉換為正態分布。

對於遵循正態 (bell-shaped) 分布的數據,插值最為準確。如果您的數據似乎不是正態分布的,您應該執行轉換。

  • False 表示不應用任何轉換。這適用於自然正態分布的數據。這是默認設置。

  • True 對非正態分布的數據應用適當的轉換。

size_of_local_models

可選int - 局部模型的大小插值點通過構建混合在一起以創建最終預測圖的局部插值模型來工作。此參數控製每個局部模型中將包含多少點。較小的值會使結果更加局部,並且可以顯示small-scale 效果,但它可能會在計算中引入一些不穩定性。較大的值會更穩定,但可能會遺漏一些局部效應。

該值的範圍可以從 30 到 500,但典型值在 50 到 200 之間。

number_of_neighbors

可選的int - 相鄰點數預測是根據相鄰點計算的。此參數控製計算中將使用多少點。使用較大數量的鄰居通常會產生更準確的結果,但計算結果需要更長的時間。

該值的範圍可以從 1 到 64,但典型值在 5 到 15 之間。

output_cell_size

可選字典。指定用於輸出柵格的像元大小。

支持單位:米 |公裏 |腳 |英裏

例子:

{“distance”:”60”,”units”:”Meters”}

output_prediction_error

可選的布爾值。選擇是否要為預測值創建標準誤差柵格。

  • True 指定將生成標準誤差柵格。

  • False 表示不會生成

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

output_name

可選的。如果未提供,則由該方法創建影像服務並將其用作輸出柵格。

您可以從 GIS 中傳入現有的影像服務項目來使用它。

或者,您可以傳入應通過此方法創建的輸出圖像服務的名稱,以用作工具的輸出。如果該名稱的服務已經存在,則會引發 RuntimeError

context

context 包含影響任務執行的其他設置。

context 參數覆蓋通過arcgis.env 參數設置的值

此函數具有以下設置:

  • Extent(範圍):定義分析區域的邊界框。

    例子:

    {“extent”: {“xmin”: -122.68,
    “ymin”: 45.53,
    “xmax”: -122.45,
    “ymax”: 45.6,
    “spatialReference”: {“wkid”: 4326}}}
  • 輸出空間參考 (outSR):輸出柵格將投影到輸出空間參考中。

    例子:

    {“outSR”: {spatial reference}}

  • 捕捉柵格 (snapRaster):輸出柵格的像元將與指定的捕捉柵格對齊。

    例子:

    {‘snapRaster’: {‘url’: ‘<image_service_url>’}}

  • 掩碼(mask):在操作中隻考慮落在分析掩碼內的單元格。

    例子:

    {“mask”: {“url”: “<image_service_url>”}}

  • 像元大小(cellSize):輸出柵格將具有由像元大小指定的分辨率。

    例子:

    {‘cellSize’: 11} or {‘cellSize’: {‘url’: <image_service_url>}} or {‘cellSize’: ‘MaxOfIn’}

gis

可選的 GIS 對象。如果未指定,則使用當前活動的連接。

future

僅關鍵字參數。可選的布爾值。如果為 True,則結果將是一個 GPJob 對象,並且結果將異步返回。

folder

僅關鍵字參數。可選的 str 或 dict。使用給定的文件夾名稱在門戶中創建一個文件夾(如果不存在),並將輸出保留在此文件夾中。 create_folder() 返回的字典也可以作為輸入傳入。

例子:

{‘username’: ‘user1’,
‘id’: ‘6a3b77c187514ef7873ba73338cf1af8’,
‘title’: ‘trial’}

tiles_only

僅關鍵字參數。可選的布爾值。在ArcGIS Online 中,此函數的默認輸出影像服務將是平鋪影像圖層。

要在 ArcGIS Online 上創建動態影像圖層作為輸出,請將 tiles_only 參數設置為 False。

函數將不支持ArcGIS Enterprise 中的tiles_only 參數,默認情況下會生成動態影像圖層。

命名元組的名稱值為:

  • output_raster(output_raster 項目說明已更新為 process_info)

  • process_info(如果在非Jupyter環境中運行,使用process_info.data獲取HTML數據)

  • output_error_raster(如果 output_prediction_error 設置為 True)。

例子:

# Usage Example 1: Performs point interpolation on the feature layer.
# In this example operation is optimized for SPEED

layer = gis.content.search("layer_shp", item_type="Feature Layer Collection")[0].layers[0]

interpolate_points_speed = interpolate_points(input_point_features=layer,
                                              interpolate_field='field',
                                              optimize_for="SPEED",
                                              transform_data=True,
                                              gis=gis)

# Usage Example 2: Performs point interpolation on the feature layer.
# In this example operation is optimized for ACCURACY

interpolate_points_acc = interpolate_points(input_point_features=layer,
                                            interpolate_field='field',
                                            optimize_for="ACCURACY",
                                            transform_data=True,
                                            gis=gis)

相關用法


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