Skip to content

Add Migration Map tool (animated migration timeline)#935

Draft
brianmcaudill wants to merge 1 commit into
gramps-project:maintenance/gramps60from
brianmcaudill:migrationmap60
Draft

Add Migration Map tool (animated migration timeline)#935
brianmcaudill wants to merge 1 commit into
gramps-project:maintenance/gramps60from
brianmcaudill:migrationmap60

Conversation

@brianmcaudill

Copy link
Copy Markdown
Contributor

Draft for review.

What it is

A Tool (Tools → Analysis and Exploration → Migration Map) that writes a self-contained, animated HTML map of how people and families moved over time, and opens it in the browser. It reads every dated event whose place has coordinates, groups them per person in time order, and produces a Leaflet timeline you can play: each person's path draws itself across the years, dots pulse on the moves happening that year, and a readout names who is moving where. Paths are colored by surname.

Requirements

Only places with coordinates appear. Run a geocoder first (e.g. the companion Geocode Places tool, or the Place Coordinate Gramplet). Events also need a year. The page loads Leaflet + OSM tiles from the internet (Subresource Integrity pinned).

Security

All person/place/event text is HTML-escaped before being embedded in popups; the Leaflet CDN tags carry SRI hashes.

Testing done

Verified on a real 868-person tree: event collection, the HTML/animation rendering (692 located events for 321 people, 1587–2016, rendered headlessly via a browser), and plugin registration as a Tool. The tool follows the standard ToolManagedWindowBatch + MenuToolOptions pattern (modeled on AttachSourceTool). Reviewer GUI run welcomed before merge.

Notes

Targets gramps_target_version="6.0" / maintenance/gramps60; can port to 6.1.

Migration Map is an Analysis tool that writes a self-contained animated HTML
map (Leaflet) of how people and families moved over time. It reads every dated
event whose place has coordinates, groups them per person in time order, and
produces a timeline you can play: each person's path draws itself across the
years, dots pulse on the moves happening that year, and a readout names who is
moving where. Paths are coloured by surname.

Pairs with the Geocode Places tool, which supplies the coordinates. All tree
text is HTML-escaped before embedding and the Leaflet CDN assets carry
Subresource Integrity hashes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant