Skip to content

corb555/LandWeaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LandWeaver

Status: LandWeaver is under active development and is not ready for production use.

LandWeaver is a geospatial compositing editor for turning raw GIS rasters into refined cartographic renders.

It is designed for mapmakers who want more control than standard GIS styling usually provides. Instead of applying a single color ramp or static layer style, LandWeaver combines georeferenced raster inputs, derived spatial control signals, procedural texture, thematic palettes, and an ordered compositing pipeline to produce naturalistic, presentation-quality map imagery.

LandWeaver is especially useful for terrain-rich maps, geology-focused basemaps, environmental visualization, and other raster-heavy workflows where visual quality, reproducibility, and fine-grained control matter.

Build Tab

Why LandWeaver?

Traditional GIS tools are excellent for analysis, classification, and data management, but they are often less flexible when building polished raster artwork. LandWeaver fills that gap by treating cartographic rendering as a configurable compositing process.

LandWeaver helps you:

  • combine multiple raster inputs into a single cartographic render
  • derive spatial masks from elevation, precipitation, canopy, slope, lithology, or categorical themes
  • blend terrain, vegetation, climate, and thematic surfaces using reproducible configuration
  • reduce blocky, stair-stepped edges caused by upscaled raster data
  • add controlled texture, noise, and natural surface variation
  • tune map appearance interactively before running larger renders
  • preserve rendering logic in text-based configuration instead of one-off manual styling
  • produce refined map backgrounds suitable for presentation, publication, or web maps

The result is a workflow that sits between GIS analysis and digital illustration: data-driven, but visually expressive.

Who It Is For

GIS Analysts

For GIS analysts, LandWeaver provides a structured way to transform raw spatial data into repeatable cartographic outputs.

You can define input sources, normalize rasters, derive environmental control factors, configure color ramps, and build rendering pipelines using explicit settings. This makes it easier to reproduce a map style across regions, compare visual approaches, and keep rendering decisions tied to source data instead of scattered manual edits.

LandWeaver supports continuous rasters such as:

  • elevation
  • precipitation
  • canopy density
  • slope
  • hillshade
  • lithology or other numeric environmental layers

It also supports categorical sources such as landcover, geology, water, glacier, rock, playa, volcanic, or other themed classes.

Cartographers and Illustrators

For cartographers and illustrators, the main benefit is visual quality.

LandWeaver is designed to make raster maps feel less mechanical and more crafted. It can soften harsh raster boundaries, blend surfaces gradually, add terrain-aware texture, and introduce controlled variation so large areas do not look flat or repetitive.

Instead of choosing a single fixed style, you can create multiple visual surfaces and blend them based on spatial conditions. For example, dry lowlands, humid forests, alpine zones, exposed rock, snow, and water can each have distinct visual treatment while still belonging to one coherent map style.

Core Concepts

LandWeaver is built around a small set of rendering concepts.

  1. Sources

    Sources are the input georeferenced rasters and supporting files used by the render. These may include DEMs, precipitation rasters, canopy rasters, slope rasters, hillshades, lithology layers, or categorical theme rasters.

    Sources provide the raw spatial data that drives the rest of the rendering process.

  2. Factors

    Factors are spatial control signals derived from sources. They usually range from 0.0 to 1.0 and describe where or how strongly an effect should be applied.

    For example:

    • a forest factor may be strong in dense canopy and weak in open terrain
    • a snow factor may increase above a selected elevation
    • a moisture factor may transition from arid to humid regions
    • a theme opacity factor may identify where categorical landcover should appear

    Factors do not directly define color. They control blending, opacity, intensity, and transitions.

  3. Surfaces

    Surfaces are visual layers. They are usually created by applying a color ramp, palette, modifier, or texture process to source data.

    Examples include:

    • an arid elevation surface
    • a humid forest surface
    • a snow surface
    • a shaded relief surface
    • a categorical landcover surface
    • a textured rock or volcanic surface

    Surfaces define what the map looks like before compositing operations combine them.

  4. Operations

    Operations are the actions that combine factors, surfaces, and buffers. They are the verbs of the rendering system.

    For example, an operation might:

    • create a blank canvas
    • blend two surfaces using a factor
    • multiply a hillshade into the current image
    • alpha-composite a thematic surface
    • add highlights, texture, or other finishing effects
  5. Pipeline

    The pipeline is the ordered recipe for the final render.

    Each pipeline step runs an operation with specific inputs and parameters. The order matters: early steps establish the base image, middle steps blend in environmental or thematic surfaces, and later steps apply shading, texture, or finishing effects.

    The pipeline makes the render reproducible because the full visual process is captured in configuration.

Rendering Flow

At a high level, LandWeaver turns source rasters into derived resources, then executes a compositing pipeline to produce the final render.

flowchart LR
    %% Data
    Sources[(Sources)]

    %% Logic
    subgraph Logic [Resource Generation]
        direction TB
        B[Builders]
        Fact(Factors)
        Surf(Surfaces)

        B --> Fact
        B --> Surf
    end

    %% Execution
    Pipe{Pipeline Operations}
    Out([Final Output])

    %% Connections
    Sources --> B
    Fact --> Pipe
    Surf --> Pipe
    Pipe --> Out

    %% Styles
    style Sources fill:#334155,color:#fff
    style B fill:#64748b,color:#fff
    style Pipe fill:#0ea5e9,color:#fff
    style Out fill:#10b981,color:#fff
Loading

The important idea is that LandWeaver separates data, logic, visual materials, and execution order:

  • sources provide raw spatial information
  • builders create factors and surfaces
  • factors control where effects happen
  • surfaces provide color and texture
  • pipeline operations combine everything into the final image

The Editor

The LandWeaver editor is a visual configuration environment for building, previewing, and refining LandWeaver render settings.

It provides four main tabs:

  • Colors — design and preview multi-dimensional terrain palettes
  • Render Settings — configure sources, factors, surfaces, modifiers, and the render pipeline
  • Sources — prepare and normalize raw spatial data before rendering
  • Build — generate previews and full renders using the current settings

Together, these tabs support the full workflow: prepare the data, design the visual palette, define the rendering logic, and build the final image.

Colors Tab

The Colors tab is used to design the color ramps that become visual surfaces in the render.

Unlike a standard single elevation ramp, LandWeaver supports multiple coordinated ramps that can be blended based on environmental conditions. This allows a map to shift gradually between dry, wet, forested, exposed, lowland, and high-elevation appearances while preserving a coherent overall style.

A palette set might include ramps such as:

  • arid base
  • arid vegetation
  • humid base
  • humid vegetation

Each ramp contains elevation stops with associated colors. LandWeaver interpolates between those stops to create smooth transitions across terrain.

The Colors tab supports:

  • editing elevation stops
  • changing colors for each stop
  • previewing blended palette results
  • simulating environmental factors such as moisture or canopy
  • tuning related ramps together so transitions remain visually consistent

These palettes are then referenced by surfaces in the render pipeline.

Render Settings Tab

The Render Settings tab is the main workspace for defining how a render is constructed.

It manages the resources and pipeline steps used by the rendering engine.

Render Resources

Render resources are the reusable building blocks referenced by the pipeline. These include input files, source definitions, factors, surfaces, noise profiles, and modifier profiles.

The editor can be used to configure:

  • Files and Sources Define input GeoTIFFs, DEMs, precipitation rasters, canopy rasters, theme rasters, QML theme files, and related supporting assets.

  • Noise Profiles Define procedural texture patterns, such as fine grain, broad organic variation, mineral staining, or subtle surface breakup.

  • Modifier Profiles Apply controlled visual changes to surfaces, often driven by noise. Modifiers can shift color, add texture, vary brightness, or introduce natural irregularity.

  • Factors Configure how raw source data is converted into spatial masks or control signals. For example, a factor may map annual precipitation values into a moisture gradient by setting 40mm as arid (0.0) and 400mm as humid (1.0).

  • Surfaces Define visual materials used by the render. A surface may be based on a color ramp, a categorical theme, a hillshade, or another raster-derived visual layer.

Pipeline

The Pipeline defines the ordered list of operations used to create the final image.

Each pipeline step has an operation type, input references, output target, and operation-specific parameters. Selecting a step brings up all the settings for that operation, making it easier to adjust the render.

The Editor supports:

  • adding and removing steps
  • reordering steps
  • enabling or disabling steps
  • editing operation parameters
  • switching blend operations
  • seeing which factors, surfaces, or buffers a step references

Example pipeline operations may include:

  • creating the base canvas
  • blending arid and humid terrain surfaces
  • blending meadow and forest surfaces using canopy density
  • compositing categorical themes such as rock, glacier, or water
  • multiplying hillshade into the image
  • adding highlights, texture, or finishing passes

This tab is where the visual logic of the map is assembled.

Sources Tab

The Sources tab provides utilities for preparing raw spatial data before rendering.

Most raster compositing problems become much easier when all sources share the same coordinate reference system, extent, resolution, block size, and nodata behavior. The Sources tab normalizes input data so the rendering pipeline can assume that layers align correctly.

Typical source-preparation tasks include:

  • aligning rasters to a reference DEM
  • warping sources to a common CRS
  • resampling rasters to a common resolution
  • converting source data to expected data types
  • creating slope rasters
  • creating hillshade rasters
  • preparing masks such as forest, precipitation, lithology, or theme masks
  • writing tiled and compressed GeoTIFFs for efficient rendering

This tab automatically runs GDAL and helper-tool operations such as:

▶️  Running step 'AlignForestMask': 
gdal-helper align_raster cache/forest_warp.tif build/Sedona/Sedona_DEM.tif build/Sedona/Sedona_forest.tif --co TILED=YES --co BLOCKXSIZE=256 --co BLOCKYSIZE=256 --co COMPRESS=DEFLATE --co PREDICTOR=2 --co BIGTIFF=IF_SAFER

▶️  Running step 'SlopeMask': 
gdaldem slope -alg Horn "build/Sedona/Sedona_DEM.tif" "build/Sedona/Sedona_temp_float.tif" && \
gdal_translate "build/Sedona/Sedona_temp_float.tif" "build/Sedona/Sedona_slope.tif" -ot Byte -scale 0 90 0 90 \
-co COMPRESS=DEFLATE -co TILED=YES

▶️  Running step 'Hillshade': 
gdaldem hillshade build/Sedona/Sedona_DEM.tif build/Sedona/Sedona_plains_hillshade.tif \
  -co TILED=YES \
  -co BLOCKXSIZE=256 \
  -co BLOCKYSIZE=256 \
  -co COMPRESS=DEFLATE \
  -co PREDICTOR=2 \
  -co BIGTIFF=IF_SAFER \
  -compute_edges \
  -z 5 \
  -igor

The goal of this tab is to make the render inputs predictable, aligned, and ready for compositing.

Build Tab

The Build tab is used to generate and inspect renders from the current configuration.

It supports both full builds and fast previews.

Full Build

A full build renders the selected region using the configured sources, factors, surfaces, and pipeline.

This is used when the current settings are ready for a complete output image. The full build process is intended for final review, export, or downstream publishing.

Preview

Preview rendering generates a smaller render centered on a selected part of the region.

This is useful during style development because it allows rapid iteration. You can adjust color ramps, factor thresholds, modifiers, opacity settings, or pipeline steps, and immediately see the visual result before committing to a full render.

Usage Guide

See the Usage Guide for installation notes, configuration examples, and a more detailed walkthrough of the LandWeaver workflow.

About

LandWeaver is a geospatial compositing editor for turning raw GIS rasters into refined cartographic renders

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages