January 2026
Data sources and methodologies for each day of the project.
gdalwarp -of COG -co COMPRESS=DEFLATE -co NBITS=16 -co PREDICTOR=3. Hillshade
generated with multidirectional light source and converted to COG. Custom Python script
(generate_contour_source.py) applied anisotropic diffusion to reduce noise
while preserving cliff edges, creating optimized cache layer for real-time contouring. Water
level calculated by cross-referencing 126 matched points between survey and bathymetry:
median 156.96m AHD (std dev 0.69m). Volume estimation script
(generate_volume_lookup.py) examines DEM to map Water Corporation storage
volumes to dam levels and depths.
gl.blendFunc(gl.DST_COLOR, gl.ZERO)) to darken slopes while preserving color
palette. Dynamic depth contours generated at render time using d3-contour marching squares
algorithm with two-tier resolution (4× overview for zoom <16, 2× for ≥16), LRU cache (20
entries), and clean boundary handling. Measure tool includes contour-following mode with A*
pathfinding that snaps to target depth and applies Chaikin smoothing. Cost function combines
base movement cost, quadratic depth penalty, and directness penalty. Module architecture:
main.js (config/state), map.js (layers/UI),
measure.js (A* pathfinding), contours.js (caching),
utils.js (transforms/smoothing). Tech stack: MapLibre GL JS 4.7.1, GeoTIFF.js
2.1.3, d3-contour 4.0.2.
More sources will appear here as each day is published.