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
- 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
Requirements: Node.js 22 or a compatible current LTS release.
npm install
npm run devRun all checks:
npm run checkCreate a production bundle:
npm run buildThe normalized browser catalog is generated from
data/Telescope_Site_Matrix.csv:
npm run import:sitesLegacy 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.
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.
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.
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.
Bug reports and focused improvements are welcome. See
CONTRIBUTING.md for the local workflow and pull-request
expectations.
GlobeFig is released under the MIT License. Telescope catalog and imagery attribution are documented separately.