Skip to main content

Kriging

Kriging is a geostatistical interpolation method that estimates values at unknown locations on a variogram weighted average of the nearby data values. This compute task can be parameterized to perform simple or ordinary kriging.

Parameters

  • source (object)
  • target (object)
    • object (geoscience object reference)
    • attribute (geoscience object attribute target)
      • Reference that points to an attribute inside target_object where the kriging results will be saved.
    • {
      "object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
      "attribute": {
      "operation": "create",
      "name": "my-kriging-result"
      },
      }
  • kriging_method (object)
    • The kriging method to use for interpolation. There are two supported methods.
      • Simple kriging:
      • {
        "type": "simple",
        "mean": 5.2 // The constant mean value assumed across the domain
        }
      • Ordinary kriging:
      • {
        "type": "ordinary" // Variable mean value estimated from the data
        }
  • variogram (geoscience object reference)
    • Reference to a variogram geoscience object that describes the spatial covariance structure within the domain. Must use schema version 1.1.0.
  • neighborhood (object)
    • Search parameters that determine which nearby points to use for each evaluation point during kriging interpolation.
    • {
      "ellipsoid": {
      "ellipsoid_ranges": {
      "major": 100.0, // Major axis length of the search ellipsoid
      "semi_major": 75.0, // Semi-major axis length
      "minor": 50.0 // Minor axis length
      },
      "rotation": {
      "dip_azimuth": 45.0, // First rotation about z-axis (0-360 degrees)
      "dip": 30.0, // Second rotation about x-axis (0-180 degrees)
      "pitch": 0.0 // Third rotation about z-axis (0-360 degrees)
      }
      },
      "max_samples": 15 // Maximum number of nearby samples to use
      }
  • block_discretization (object, optional)
    • Sub-block discretization for block kriging. When provided, each target block is subdivided into x × y × z sub-cells and the kriged value is averaged across these sub-cells. When omitted, point kriging is performed at the block centroids.
    • Note: This parameter is only applicable when the target is a 3D grid (regular-3d-grid, regular-masked-3d-grid, tensor-3d-grid) or block-model. An error will be raised if used with pointset or downhole-intervals targets.
    • {
      "nx": 2, // Number of sub-cells in the x-direction (1-9)
      "ny": 2, // Number of sub-cells in the y-direction (1-9)
      "nz": 2 // Number of sub-cells in the z-direction (1-9)
      }

Example

For more information, see the kriging API reference.

Request

requests.post(
"https://{hub}.api.seequent.com/compute/orgs/{org_id}/geostatistics/kriging",
headers={"Authorization": "Bearer {token}"},
json={
"source": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": "locations.attributes[?name=='my-attribute']",
},
"target": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": {
"operation": "create",
"name": "my-kriging-result"
},
},
"kriging_method": {
"type": "simple",
"mean": 10.5
},
"variogram": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-variogram.json",
"neighborhood": {
"ellipsoid": {
"ellipsoid_ranges": {
"major": 100.0,
"semi_major": 50.0,
"minor": 20.0
},
"rotation": {
"dip_azimuth": 45.0,
"dip": 30.0,
"pitch": 10.0
}
},
"max_samples": 50,
"min_samples": 10,
"max_empty_octants": 0,
},
},
)

Result

{
"message": "Kriging completed.",
"target": {
"reference": "https://{hub}.api.integration.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json"
"name": "My Pointset",
"description": "A new description for my pointset.",
"schema_id": "/objects/pointset/1.3.0",
"attribute": {
"reference": "locations.attributes[?key=='3cc3aa58-c928-4e79-b8ca-550174bff59e']",
"name": "my-kriging-result"
}
}
}

Block Kriging Example

When the target is a 3D grid or block model, you can use block_discretization to perform block kriging instead of point kriging:

requests.post(
"https://{hub}.api.seequent.com/compute/orgs/{org_id}/geostatistics/kriging",
headers={"Authorization": "Bearer {token}"},
json={
"source": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": "locations.attributes[?name=='my-attribute']",
},
"target": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-grid.json",
"attribute": {
"operation": "create",
"name": "my-block-kriging-result"
},
},
"kriging_method": {
"type": "ordinary"
},
"variogram": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-variogram.json",
"neighborhood": {
"ellipsoid": {
"ellipsoid_ranges": {
"major": 100.0,
"semi_major": 50.0,
"minor": 20.0
},
"rotation": {
"dip_azimuth": 45.0,
"dip": 30.0,
"pitch": 10.0
}
},
"max_samples": 50,
"min_samples": 10,
},
"block_discretization": {
"nx": 3,
"ny": 3,
"nz": 2
},
},
)

What is the reason for your feedback?