Magrit - Thematic cartography
[en] Magrit is an online thematic mapping application developed by UAR RIATE.
[fr] Magrit est une application de cartographie thématique développée par l'UAR RIATE.
Basics
- Magrit is a web application for thematic mapping (cartography).
- Everything happens in the browser, so your data never leaves your computer.
- It's intentionally simple (the UI follows the basic steps of map creation).
- It's designed for teaching and learning cartography.
- It lets you import your own geometry dataset (Shapefile, GeoJSON, GML, GeoPackage, etc.) and optionally your tabular file (CSV, XLS, XLSX, etc.).
- We also provide many sample datasets to try out the various representations and become familiar with the application.
- It allows you to render and combine a wide variety of maps: choropleth, proportional symbols, cartogram, discontinuity, smoothed maps, links, etc.
- It allows you to customize the appearance of your maps in various ways.
- It supports all the most popular modern desktop browsers.
- Magrit is written in modern JS and uses notably solid.js and d3.js libraries
as well as various WebAssembly modules (GDAL, GEOS, Contour-wasm, go-cart-wasm).
Try it out
Examples
Latest changes
You can find the latest changes in the Changelog file, either in the source code (in French or in English)
or directly on the Web site (French or English).
Information about changes are also available in the release notes of the GitHub repository.
Development
Requirements:
- Node.js (>= 20) / NPM (>= 10).
Installation
npm install
Running for development
npm run dev
The application will be available at http://localhost:3000.
Running for development, with electron
npm run dev:electron
A window will open with the application running.
Building for production
npm run build
The application and it's documentation will be built in the dist
directory.
Building for production, with electron
npm run build:electron
The application (for Windows and GNU/Linux) will be built in the release
directory.
Contributing to Magrit
Contributions are welcome! There are various ways to contribute to the project which are detailed in CONTRIBUTING file! You can notably:
- Report bugs or send us feedback.
- Add new translations or fix existing ones.
- Contribute code (you're in the right place! Clone the repo, fix what you want to be fixed and submit a pull request - note that for all non-trivial modifications, it's best to start by opening an issue to discuss it together!).
If you want to read more about what we are planning to do, you can check the roadmap
of the project.
License
GPL-3.0-or-later