← Atlas

Project Record

Maps Optimisation (Planar Ellipses)

Open in an AI assistant with a suggested prompt
Preview prompt
Summarize the Ionitsa project record titled "Maps Optimisation (Planar Ellipses)" for a technical reader.
Cover the problem or research question, implementation or method, evidence or results, and limitations.
Separate facts stated on the page from your own assessment, note anything unclear or unverified, and avoid promotional language.

Primary source: https://ionitsa.com/projects/maps-optimisation-ellipses.md
Canonical page: https://ionitsa.com/projects/maps-optimisation-ellipses/

Spatial systems optimizer for overlapping entity nodes, using planar ellipse layout and topology constraints.

Domains
GeodataSystems Design
Capability
Spatial & Graph Systems
Methods
GeometryOptimizationVisualization

Executive Summary

Interactive project maps and entity atlases become unreadable when nodes overlap. Users place items by meaning or drag, but dense graphs pile shapes on top of each other. I built a planar layout optimizer that repels overlapping ellipses while keeping nodes near their semantic anchor positions, so the map stays recognizable after each update.

The optimizer runs as a lightweight solver step in the atlas dashboard—refreshing layout when relations or coordinates change without large disruptive jumps.

This demonstrates geometric optimization, spatial graph layout, and interactive visualization systems design.

Problem

Given a set of ellipses with initial positions and optional anchor points, we want a layout that minimizes overlap and keeps nodes readable. Constraints: keep the layout in a bounded plane and avoid large jumps so that the map remains recognizable after each update.

Goal

Keep nodes near their anchors while minimizing overlap in a constrained plane.

Objective

For each pair of ellipses, we penalize normalized distance below 1.

overlap(i,j)=max(0,1dij)\text{overlap}(i,j) = \max(0, 1 - d_{ij})

Repulsion resolves collisions, attraction maintains layout continuity. Total cost is overlap penalty plus anchor-distance penalty; we minimize via gradient descent or a small solver step.

Implementation

Trade-offs

Global minimum is not guaranteed; we often run from current positions so the result is a local improvement. For very dense graphs, overlap may remain; in that case we rely on zoom or clustering in the UI.

Related Work