Densify Sampling Network (Geostatistical Analyst)

Available with Geostatistical Analyst license.


Uses a predefined geostatistical kriging layer to determine where new monitoring stations should be built. It can also be used to determine which monitoring stations should be removed from an existing network.


  • The input geostatistical layer must be a kriging layer.

  • The case might arise where only a single new location is generated when more were requested. This happens when the same new location continues to be selected based on the selection criteria. This can be prevented by specifying a value for the Inhibition distance parameter. Using an inhibition distance is particularly important when using Lower quartile threshold or Upper quartile threshold (in Python, QUARTILE_THRESHOLD or QUARTILE_THRESHOLD_UPPER) as the selection criteria.

  • To decide which locations have the least influence on the prediction surface you may use the feature class that was used to create the kriging layer for the Input candidate point features parameter. If some monitoring stations need to be decommissioned, the locations with the least influence are good candidates for removal.


DensifySamplingNetwork(in_geostat_layer, number_output_points, out_feature_class, {selection_criteria}, {threshold}, {in_weight_raster}, {in_candidate_point_features}, {inhibition_distance})
ParameterExplanationData Type

Input a geostatistical layer resulting from a Kriging model.

Geostatistical Layer

Specify how many sample locations to generate.


The name of the output feature class.

Feature Class

Methods to densify a sampling network.

  • STDERRStandard error of prediction criteria
  • STDERR_THRESHOLDStandard error threshold criteria
  • QUARTILE_THRESHOLD Lower quartile threshold criteria
  • QUARTILE_THRESHOLD_UPPER Upper quartile threshold criteria

The STERR option will give extra weight to locations where the standard error of prediction is large. The STDERR_THRESHOLD, QUARTILE_THRESHOLD, and QUARTILE_THRESHOLD_UPPER options are useful when there is a critical threshold value for the variable under study (such as the highest admissible ozone level). The STDERR_THRESHOLD option will give extra weight to locations whose values are close to the threshold. The QUARTILE_THRESHOLD option will give extra weight to locations that are least likely to exceed the critical threshold. The QUARTILE_THRESHOLD_UPPER option will give extra weight to locations that are most likely to exceed the critical threshold.

The equations for each option are:

Standard error of prediction = stderr

 Standard error threshold = stderr(s)(1 - 2 · abs(prob[Z(s) > threshold] - 0.5))

 Lower quartile threshold = (Z0.75(s) - Z0.25(s)) · (prob[Z(s) < threshold])

 Upper quartile threshold = (Z0.75(s) - Z0.25(s)) · (prob[Z(s) > threshold])


The threshold value used to densify the sampling network.

This parameter is only applicable when Standard error threshold, Lower quartile threshold, or Upper quartile threshold selection criteria is used.


A raster used to determine which locations to weight for preference.

Raster Layer

Sample locations to pick from.

Feature Layer

Used to prevent any samples being placed within this distance from each other.

Linear Unit

Code sample

DensifySamplingNetwork example 1 (Python window)

Densify a sampling network based on a predefined geostatistical kriging layer.

import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.DensifySamplingNetwork_ga("C:/gapyexamples/data/Kriging.lyr", 2,
DensifySamplingNetwork example 2 (stand-alone script)

Densify a sampling network based on a predefined geostatistical kriging layer.

# Name:
# Description: Densify a sampling network based on a predefined geostatistical
#              kriging layer. It uses, inter alia, the Standard Error of 
#              Prediction map to determine where new locations are required.
# Requirements: Geostatistical Analyst Extension

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/gapyexamples/data"

# Set local variables
inLayer = "C:/gapyexamples/data/Kriging.lyr"
numberPoints = 2
outPoints = "C:/gapyexamples/output/outDSN"

# Execute DensifySamplingNetworks
arcpy.DensifySamplingNetwork_ga(inLayer, numberPoints, outPoints)

Licensing information

  • Basic: Requires Geostatistical Analyst
  • Standard: Requires Geostatistical Analyst
  • Advanced: Requires Geostatistical Analyst

Related topics