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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。