Skip to content

Explanations

Conceptual guides that explain the underlying principles and design decisions behind carto-flow.

Flow Cartogram

Conceptual explanations specific to flow-based contiguous cartograms.

Algorithm

The iterative density-equalizing algorithm: mathematical foundation, FFT-based velocity computation, displacement, convergence, multi-resolution morphing, and limitations.

History and Snapshot System

Dual-mode iteration tracking: lightweight ConvergenceHistory for scalar metrics at every iteration, and History snapshots for full geometry state at selected iterations. Covers CartogramSnapshot, CartogramInternalsSnapshot, and the BaseSnapshot interface.

Workflow System

CartogramWorkflow and Cartogram: the high-level API for GeoDataFrame-based morphing, multi-run state management, the Cartogram result object, and serialization.

Proportional Cartogram

Conceptual explanations specific to proportional (area-based) cartograms.

Splitting and Shrinking

Two algorithms for dividing polygon areas by numeric fractions: splitting (disjoint planar cuts, sequential and treemap strategies) and shrinking (concentric shells via negative buffering). Covers the root-finding core mechanism, multi-fraction peeling, normalization modes for batch processing, and a comparison with simple geometric scaling.

Symbol Cartogram

Conceptual explanations specific to symbol-based cartograms (Dorling-style, tile maps, etc.).

Pipeline Overview

The four-stage pipeline from GeoDataFrame to SymbolCartogram: data preprocessing (centroids, proportional symbol sizes, adjacency matrix), the Layout / LayoutResult system, the Styling system (symbol shapes, per-geometry overrides, fit modes), and the SymbolCartogram result object.

Grid Layout Algorithm

Hungarian assignment of regions to tiles in a regular grid: the cost matrix (origin distance, compactness, BFS neighbor hops, angular topology), iterative refinement, and post-processing for hole filling and island correction.

Circle Packing Layout Algorithm

Two-stage position-based dynamics: Stage 1 resolves overlaps via global expansion and local separation; Stage 2 packs circles using four attraction forces, explicit contact reaction constraints (tangential sliding), and EMA-smoothed step integration.

Tiling System

Regular grids of congruent polygon tiles used as assignment targets for the grid layout: square, hexagonal, triangle, quadrilateral, and the 81 Grünbaum–Shephard isohedral types with customizable edge curves and an interactive design UI.