xrspatial.terrain.generate_terrain#

xrspatial.terrain.generate_terrain(agg: DataArray, x_range: tuple = (0, 500), y_range: tuple = (0, 500), seed: int = 10, zfactor: int = 4000, full_extent: Tuple | List | None = None, name: str = 'terrain', octaves: int | None = 16, lacunarity: float = 2.0, persistence: float = 0.5, noise_mode: str = 'fbm', warp_strength: float = 0.0, warp_octaves: int = 4, worley_blend: float = 0.0, worley_seed: int | None = None, erode: bool = False, erosion_iterations: int = 50000, erosion_params: Dict | None = None) DataArray[source]#

Generate pseudo-random terrain for testing raster functions.

Parameters:
  • agg (xr.DataArray) – 2D template array (determines height, width, and backend).

  • x_range (tuple, default=(0, 500)) – Range of x values.

  • y_range (tuple, default=(0, 500)) – Range of y values.

  • seed (int, default=10) – Seed for random number generator.

  • zfactor (int, default=4000) – Multiplier for z values.

  • full_extent (tuple or list, optional) – bbox (xmin, ymin, xmax, ymax). Full extent of coordinate system.

  • name (str, default='terrain') – Name for the output DataArray.

  • octaves (int or None, default=16) – Number of noise octaves. None = adaptive based on raster size.

  • lacunarity (float, default=2.0) – Frequency multiplier per octave.

  • persistence (float, default=0.5) – Amplitude multiplier per octave.

  • noise_mode (str, default='fbm') – Noise algorithm: ‘fbm’ (fractal Brownian motion) or ‘ridged’ (ridged multifractal for sharp mountain ridges).

  • warp_strength (float, default=0.0) – Domain warping intensity. 0 disables warping; ~0.5 produces organic flowing features.

  • warp_octaves (int, default=4) – Octaves used for the warp displacement fields.

  • worley_blend (float, default=0.0) – Blend factor for Worley (cellular) noise. 0 = none; 0.1-0.3 adds rocky micro-texture.

  • worley_seed (int or None, default=None) – Seed for Worley noise. None = seed + 1000.

  • erode (bool, default=False) – Apply hydraulic erosion post-pass.

  • erosion_iterations (int, default=50000) – Number of water droplets for erosion.

  • erosion_params (dict, optional) – Override default erosion constants.

Returns:

terrain – 2D array of generated terrain values.

Return type:

xr.DataArray

References