Nyall Dawson 9496367e61 [feature][expressions] Add expressions for creating triangular/square/curved waves
along a geometry

The new expression functions are:
- triangular_wave: Constructs triangular waves along the boundary of a geometry.
- square_wave: Constructs square/rectangular waves along the boundary of a geometry
- wave: Constructs rounded (sine-like) waves along the boundary of a geometry
- triangular_wave_randomized: Constructs randomized triangular waves along the boundary of a geometry
- square_wave_randomized: Constructs randomized square/rectangular waves along the boundary of a geometry.
- wave_randomized: Constructs randomized curved (sine-like) waves along the boundary of a geometry
2021-10-23 05:17:07 +10:00

16 lines
1004 B
Plaintext

{
"name": "square_wave",
"type": "function",
"groups": ["GeometryGroup"],
"description": "Constructs square/rectangular waves along the boundary of a geometry.",
"arguments": [
{"arg":"geometry","description":"a geometry"},
{"arg":"wavelength","description":"wavelength of square waveform"},
{"arg":"amplitude","description":"amplitude of square waveform"},
{"arg":"strict","optional": true, "default": false, "description":"By default the wavelength argument is treated as a \"maximum wavelength\", where the actual wavelength will be dynamically adjusted so that an exact number of square waves are created along the boundaries of the geometry. If the strict argument is set to true then the wavelength will be used exactly and an incomplete pattern may be used for the final waveform."}
],
"examples": [
{ "expression":"square_wave(geom_from_wkt('LineString(0 0, 10 0)'), 3, 1)", "returns":"Square waves with wavelength 3 and amplitude 1 along the linestring"}
]
}