https://github.com/riatelab/magrit
Thematic cartography entirely in the browser ♥
https://github.com/riatelab/magrit
cartography d3js geography mapping maps solidjs
Last synced: 6 months ago
JSON representation
Thematic cartography entirely in the browser ♥
- Host: GitHub
- URL: https://github.com/riatelab/magrit
- Owner: riatelab
- License: gpl-3.0
- Created: 2016-03-02T10:11:36.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-21T10:20:57.000Z (7 months ago)
- Last Synced: 2025-03-28T20:08:21.358Z (7 months ago)
- Topics: cartography, d3js, geography, mapping, maps, solidjs
- Language: TypeScript
- Homepage: https://magrit.cnrs.fr
- Size: 274 MB
- Stars: 136
- Watchers: 10
- Forks: 18
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Citation: CITATION.cff
- Support: docs/support-us.md
- Roadmap: ROADMAP.md
- Codemeta: codemeta.json
Awesome Lists containing this project
- awesome-starred - riatelab/magrit - ♠ Thematic cartography ♠ (others)
README
# Magrit - Thematic cartography

[en] [Magrit](https://magrit.cnrs.fr) is an online thematic mapping application developed by [UAR RIATE](https://riate.cnrs.fr/).
[fr] [Magrit](https://magrit.cnrs.fr) est une application de cartographie thématique développée par l'[UAR RIATE](https://riate.cnrs.fr/).
[](https://www.bestpractices.dev/projects/9208)
## 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, XLSX, ODS, 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 but we also provide a desktop version for Windows, GNU/Linux and MacOS.
- Magrit is written in TypeScript and uses notably [solid.js](https://github.com/solidjs/solid) and [d3.js](https://github.com/d3/d3) libraries
as well as various WebAssembly modules ([GDAL](https://github.com/bugra9/gdal3.js), [GEOS](https://github.com/chrispahm/geos-wasm), [Contour-wasm](https://github.com/mthh/contour-wasm), [go-cart-wasm](https://github.com/riatelab/go-cart-wasm)).## Try it out
- Online version: [https://magrit.cnrs.fr](https://magrit.cnrs.fr)
- [Download the desktop version](https://magrit.cnrs.fr/download/)## Examples


## Latest changes
You can find the latest changes in the Changelog file, either in the source code (in [French](./docs/changelog.md) or in [English](./docs/en/changelog.md))
or directly on the Web site ([French](https://magrit.cnrs.fr/changelog.html) or [English](https://magrit.cnrs.fr/en/changelog.html)).Information about changes are also available in the [release notes](https://github.com/riatelab/magrit/releases) of the GitHub repository.
## Support us ⭐️
If you find this project helpful, please consider giving it a star to show your support!
Your stars help others discover this project and boost its visibility in the GitHub community.Also, if you use Magrit to make maps for your scientific publications, don't hesitate to cite it (there is no obligation though!).
You can click "Cite this repository" in the "About" section of this repository to get the citation in various formats.Thank you!
## Contributing to Magrit
Contributions are welcome! There are various ways to contribute to the project which are detailed in [CONTRIBUTING](CONTRIBUTING.md) file. You can notably:
- Report bugs or send us feedback.
- Add new translations or fix existing ones.
- Contribute code (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](ROADMAP.md)
of the project.## Instructions for developers
Requirements:
- Node.js (>= 20) / NPM (>= 10).
### Installation
```bash
npm install
```### Running for development
```bash
npm run dev
```The application will be available at [http://localhost:3000](http://localhost:3000).
### Running for development, with electron
```bash
npm run dev:electron
```A window will open with the application running.
### Building for production
```bash
npm run build
```The application and it's documentation will be built in the `dist` directory.
### Building for production, with electron
```bash
npm run build:electron
```The application (for Windows and GNU/Linux) will be built in the `release` directory.
## License
GPL-3.0-or-later