Skip to content

Repository files navigation

GlobeFig

CI Deploy GitHub Pages

GlobeFig is a browser-based editor for producing publication-ready maps of EHT, ngEHT, and other telescope arrays. It replaces the legacy Matplotlib/Basemap scripts with a static application that runs entirely in the browser and can be hosted on GitHub Pages.

Website: dpesce.github.io/globefig

Features

  • Four primary and ten secondary map projections, from Hammer–Aitoff and orthographic to Goode homolosine, Strebe, and Armadillo
  • Searchable 141-site telescope catalog and observing-array presets
  • Great-circle and projected-straight baselines
  • Per-group marker, label, and complete baseline styles
  • Satellite, shaded-relief, three-color, and border-only globe backgrounds
  • Automatic label placement with direct drag and text editing
  • Physical-site baseline deduplication for ALMA/APEX and JCMT/SMA
  • Focus-site baseline highlighting
  • PNG, editable SVG, and versioned project-JSON exports
  • Complete figure configurations encoded in shareable URLs
  • Responsive interface with no server or Python runtime

Development

Requirements: Node.js 22 or a compatible current LTS release.

npm install
npm run dev

Run all checks:

npm run check

Create a production bundle:

npm run build

Data maintenance

The normalized browser catalog is generated from data/Telescope_Site_Matrix.csv:

npm run import:sites

Legacy aliases, display labels, and default visual groups are deliberately kept in data/site-overrides.json. That is the small domain-reviewable file to update when naming or array membership changes. Catalog provenance is documented in data/README.md.

Array presets are defined separately in src/data/presets.ts, because array membership changes more frequently than site coordinates.

Rendering architecture

The preview combines a Canvas raster layer with an SVG interaction layer. Satellite and shaded-relief imagery are inverse-projected into the selected map projection. The three-color and border-only maps, baselines, markers, graticules, and labels remain vectors. PNG export composites the layers at the requested dimensions; SVG export embeds any projected raster while preserving the overlays as editable vectors.

GitHub Pages

The Vite base path is configured for https://dpesce.github.io/globefig/. Enable Settings → Pages → GitHub Actions in the repository. Pushes to main then build, test, and deploy automatically.

Map data and imagery

The satellite globe is an optimized derivative of the world_true_color.tif asset used by the supplied legacy scripts and corresponds to NASA Visible Earth's Blue Marble family. The shaded-relief raster and 1:110m country boundaries come from Natural Earth. See public/ATTRIBUTION.txt.

Contributing

Bug reports and focused improvements are welcome. See CONTRIBUTING.md for the local workflow and pull-request expectations.

License

GlobeFig is released under the MIT License. Telescope catalog and imagery attribution are documented separately.

About

For making VLBI globe figures.

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages