ee.FeatureCollection.kriging

Trả về kết quả lấy mẫu một hàm ước lượng Kriging tại mỗi pixel.

Cách sử dụngGiá trị trả về
FeatureCollection.kriging(propertyName, shape, range, sill, nugget, maxDistance, reducer)Hình ảnh
Đối sốLoạiThông tin chi tiết
this: collectionFeatureCollectionTập hợp đối tượng địa lý dùng làm dữ liệu nguồn để ước tính.
propertyNameChuỗiThuộc tính cần được ước tính (phải là số).
shapeChuỗiHình dạng semivariogram (một trong các hình dạng {exponential, gaussian, spherical}).
rangeSố thực dấu phẩy độngPhạm vi bán phương sai, tính bằng mét.
sillSố thực dấu phẩy độngNgưỡng bán phương sai.
nuggetSố thực dấu phẩy độngNugget của semivariogram.
maxDistanceFloat, mặc định: nullBán kính xác định những đối tượng được đưa vào tính toán của mỗi pixel, tính bằng mét. Giá trị mặc định là phạm vi của semivariogram.
reducerTấm dốc, mặc định: nullTrình giảm được dùng để thu gọn giá trị "propertyName" của các điểm trùng lặp thành một giá trị duy nhất.

Ví dụ

Trình soạn thảo mã (JavaScript)

/**
 * This example generates an interpolated surface using kriging from a
 * FeatureCollection of random points that simulates a table of air temperature
 * at ocean weather buoys.
 */

// Average air temperature at 2m height for June, 2020.
var img = ee.Image('ECMWF/ERA5/MONTHLY/202006')
              .select(['mean_2m_air_temperature'], ['tmean']);

// Region of interest: South Pacific Ocean.
var roi = ee.Geometry.Polygon(
        [[[-156.053, -16.240],
          [-156.053, -44.968],
          [-118.633, -44.968],
          [-118.633, -16.240]]], null, false);

// Sample the mean June 2020 temperature surface at random points in the ROI.
var tmeanFc = img.sample(
  {region: roi, scale: 25000, numPixels: 50, geometries: true}); //250

// Generate an interpolated surface from the points using kriging; parameters
// are set according to interpretation of an unshown semivariogram. See section
// 2.1 of https://doi.org/10.14214/sf.369 for information on semivariograms.
var tmeanImg = tmeanFc.kriging({
  propertyName: 'tmean',
  shape: 'gaussian',
  range: 2.8e6,
  sill: 164,
  nugget: 0.05,
  maxDistance: 1.8e6,
  reducer: ee.Reducer.mean()
});

// Display the results on the map.
Map.setCenter(-137.47, -30.47, 3);
Map.addLayer(tmeanImg, {min: 279, max: 300}, 'Temperature (K)');

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap cho quá trình phát triển tương tác.

import ee
import geemap.core as geemap

Colab (Python)

# This example generates an interpolated surface using kriging from a
# FeatureCollection of random points that simulates a table of air temperature
# at ocean weather buoys.

# Average air temperature at 2m height for June, 2020.
img = ee.Image('ECMWF/ERA5/MONTHLY/202006').select(
    ['mean_2m_air_temperature'], ['tmean']
)

# Region of interest: South Pacific Ocean.
roi = ee.Geometry.Polygon(
    [[
        [-156.053, -16.240],
        [-156.053, -44.968],
        [-118.633, -44.968],
        [-118.633, -16.240],
    ]],
    None,
    False,
)

# Sample the mean June 2020 temperature surface at random points in the ROI.
tmean_fc = img.sample(region=roi, scale=25000, numPixels=50, geometries=True)

# Generate an interpolated surface from the points using kriging parameters
# are set according to interpretation of an unshown semivariogram. See section
# 2.1 of https://doi.org/10.14214/sf.369 for information on semivariograms.
tmean_img = tmean_fc.kriging(
    propertyName='tmean',
    shape='gaussian',
    range=2.8e6,
    sill=164,
    nugget=0.05,
    maxDistance=1.8e6,
    reducer=ee.Reducer.mean(),
)

# Display the results on the map.
m = geemap.Map()
m.set_center(-137.47, -30.47, 3)
m.add_layer(
    tmean_img,
    {'min': 279, 'max': 300, 'min': 279, 'max': 300},
    'Temperature (K)',
)
m