magrit

Thematic cartography entirely in the browser ♥

https://github.com/riatelab/magrit

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 15 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

cartography d3js geography mapping maps solidjs

Keywords from Contributors

rspatial spatial-analysis thematic-maps
Last synced: 4 months ago · JSON representation

Repository

Thematic cartography entirely in the browser ♥

Basic Info
  • Host: GitHub
  • Owner: riatelab
  • License: gpl-3.0
  • Language: TypeScript
  • Default Branch: master
  • Homepage: https://magrit.cnrs.fr
  • Size: 276 MB
Statistics
  • Stars: 144
  • Watchers: 10
  • Forks: 18
  • Open Issues: 11
  • Releases: 109
Topics
cartography d3js geography mapping maps solidjs
Created almost 10 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License Citation Support Roadmap Codemeta

README.md

Magrit - Thematic cartography

Magrit - Banner

[en] Magrit is an online thematic mapping application developed by UAR RIATE.
[fr] Magrit est une application de cartographie thmatique dveloppe par l'UAR RIATE.

GitHub Release

OpenSSF Best Practices

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 and d3.js libraries as well as various WebAssembly modules (GDAL, GEOS, Contour-wasm, go-cart-wasm).

Try it out

Examples

Example map - Youth in Europe Example map - World wealth Example map - Cinemas in Paris

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.

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 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 of the project.

Instructions for developers

Requirements:

  • Node.js (>= 22) / NPM (>= 10).

Installation

bash npm install

Running for development

bash npm run dev

The application will be available at 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

Owner

  • Name: riatelab
  • Login: riatelab
  • Kind: organization
  • Location: Paris

Spatial analysis and mapping software packages created by the Center for Spatial Analysis and Geovisualization - RIATE

CodeMeta (codemeta.json)

{
  "@context": "https://w3id.org/codemeta/3.0",
  "type": "SoftwareSourceCode",
  "applicationCategory": "Cartography",
  "author": [
    {
      "id": "https://orcid.org/0000-0002-0693-8556",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "French National Centre for Scientific Research (CNRS)"
      },
      "familyName": "Viry",
      "givenName": "Matthieu"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0002-0693-8556",
      "roleName": "Author"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0002-0693-8556",
      "roleName": "Developer"
    },
    {
      "id": "https://orcid.org/0000-0002-1932-3323",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "French National Centre for Scientific Research (CNRS)"
      },
      "familyName": "Giraud",
      "givenName": "Timothe"
    },
    {
      "type": "Role",
      "schema:author": "https://orcid.org/0000-0002-1932-3323",
      "roleName": "Author"
    }
  ],
  "codeRepository": "https://github.com/riatelab/magrit",
  "description": "Magrit is an online thematic mapping application developed by UAR RIATE. It offers conventional cartographic methods coupled with innovative techniques such as proportional symbols, choropleth map, discontinuity map, smoothed map, gridded map or cartogram. The interface has been designed to be intuitive and easy to learn. It allows you to teach and learn thematic cartography.",
  "downloadUrl": "https://magrit.cnrs.fr/",
  "funder": {
    "type": "Organization",
    "name": "UAR 2414 RIATE (CNRS, Universit Paris Cit)"
  },
  "keywords": [
    "maps",
    "cartography",
    "spatial analysis",
    "mapping",
    "geography"
  ],
  "license": "https://spdx.org/licenses/GPL-3.0-or-later",
  "name": "Magrit",
  "version": "2.3.10",
  "relatedLink": "https://magrit.cnrs.fr/",
  "developmentStatus": "active",
  "issueTracker": "https://github.com/riatelab/magrit/issues",
  "referencePublication": "https://doi.org/10.5194/ica-proc-1-120-2018"
}

GitHub Events

Total
  • Create event: 20
  • Commit comment event: 3
  • Release event: 20
  • Issues event: 25
  • Watch event: 15
  • Delete event: 3
  • Issue comment event: 63
  • Push event: 151
Last Year
  • Create event: 20
  • Commit comment event: 3
  • Release event: 20
  • Issues event: 25
  • Watch event: 15
  • Delete event: 3
  • Issue comment event: 63
  • Push event: 151

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 2,821
  • Total Committers: 15
  • Avg Commits per committer: 188.067
  • Development Distribution Score (DDS): 0.331
Past Year
  • Commits: 652
  • Committers: 3
  • Avg Commits per committer: 217.333
  • Development Distribution Score (DDS): 0.012
Top Committers
Name Email Commits
Matthieu Viry m****y@c****r 1,886
mz m****c@a****g 717
mthh m****o@a****g 145
rCarto t****d@c****r 17
Robin r****n@m****m 13
robLittiere z****5@g****m 11
armel a****l@e****m 8
armel v****l@g****m 6
rcarto t****d@u****r 6
Ronan Ysebaert r****t@c****r 5
mz mz@l****n 3
JusteRaimbault r****n@g****m 1
Matthias Grenié m****e@e****r 1
Vincent Bergeot v****e@n****r 1
neocarto n****t@u****r 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 86
  • Total pull requests: 26
  • Average time to close issues: 8 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 35
  • Total pull request authors: 5
  • Average comments per issue: 3.23
  • Average comments per pull request: 2.38
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 21
  • Pull requests: 0
  • Average time to close issues: 8 days
  • Average time to close pull requests: N/A
  • Issue authors: 12
  • Pull request authors: 0
  • Average comments per issue: 3.62
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mthh (24)
  • rCarto (6)
  • rysebaert (5)
  • RCura (4)
  • ericemc3 (3)
  • ArmelVidali (3)
  • fbahoken (3)
  • ktrinko (3)
  • asitemade4u (3)
  • DAVIDGOUARD (2)
  • Pruline (2)
  • vinber (2)
  • ThibaultLeCorre (2)
  • CatProdig (2)
  • ydidees (2)
Pull Request Authors
  • mthh (13)
  • dependabot[bot] (5)
  • rCarto (4)
  • ArmelVidali (3)
  • robLittiere (2)
Top Labels
Issue Labels
enhancement (28) bug (27) question (11) v2 (6) help wanted (1) cannot reproduce (1) docker (1) v1 (1) windows (1)
Pull Request Labels
dependencies (5) javascript (4) python (1)

Dependencies

client/package-lock.json npm
  • 891 dependencies
client/package.json npm
  • @babel/core 7.6.4 development
  • @babel/preset-env ^7.12.1 development
  • babel-eslint ^10.1.0 development
  • babel-loader ^8.0.6 development
  • babel-plugin-syntax-dynamic-import ^6.18.0 development
  • babel-preset-airbnb ^4.4.0 development
  • babel-preset-env ^1.6.1 development
  • clean-webpack-plugin ^0.1.19 development
  • css-loader 3.2.0 development
  • eslint ^6.8.0 development
  • eslint-config-airbnb ^18.1.0 development
  • eslint-loader ^3.0.3 development
  • eslint-plugin-import ^2.20.1 development
  • eslint-plugin-jsx-a11y ^6.2.3 development
  • eslint-plugin-react ^7.19.0 development
  • replace-hash-webpack-plugin ^2.4.2 development
  • style-loader ^0.21.0 development
  • terser-webpack-plugin ^2.3.5 development
  • webpack ^4.42.0 development
  • webpack-cli ^3.3.11 development
  • alertifyjs ^1.13.1
  • bluebird ^3.7.2
  • colorbrewer ^1.3.0
  • d3-array ^1.2.4
  • d3-axis ^1.0.12
  • d3-brush ^1.1.5
  • d3-drag ^1.2.5
  • d3-dsv ^1.2.0
  • d3-force ^1.2.1
  • d3-format ^1.4.3
  • d3-geo ^1.11.9
  • d3-geo-projection ^2.8.1
  • d3-interpolate ^1.4.0
  • d3-path ^1.0.9
  • d3-polygon ^1.0.6
  • d3-request latest
  • d3-scale ^2.2.2
  • d3-scale-chromatic ^1.5.0
  • d3-selection ^1.4.1
  • d3-selection-multi latest
  • d3-shape ^1.3.7
  • d3-transition ^1.3.2
  • d3-voronoi ^1.1.4
  • d3-zoom ^1.8.3
  • i18next ^11.10.2
  • i18next-xhr-backend ^1.5.1
  • jschardet ^1.6.0
  • loc-i18next 0.1.4
  • proj4 2.4.3
  • sortablejs ^1.10.2
  • tippy.js 2.5.2
  • topojson ^3.0.2
.github/workflows/docker-image.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action ad44023a93711e3deb337508980b4b5e9bcdc5dc composite
  • docker/login-action f054a8b539a109f9f41c372932f1ae047eff08c9 composite
  • docker/metadata-action 98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 composite
misc/Docker/app/Dockerfile docker
  • ubuntu 22.04 build
misc/Docker/docker-compose.https.yml docker
  • redis alpine
misc/Docker/docker-compose.yml docker
  • redis alpine
misc/Docker/nginx/Dockerfile docker
  • ubuntu 22.04 build
misc/dockerfiles/Dockerfile docker
  • ubuntu 22.04 build
requirements/common.txt pypi
  • Cython >=0.29.32
  • Fiona ==1.8.22
  • Rtree ==1.0.1
  • Shapely ==1.8.5
  • aiohttp ==3.8.3
  • aiohttp-session ==2.9.0
  • charset-normalizer ==2.0.12
  • cryptography ==3.3.2
  • docopt >=0.6.2
  • gdal ==3.4.1
  • geopandas ==0.12.1
  • jenkspy ==0.3.2
  • matplotlib ==3.6.2
  • mmh3 ==2.5.1
  • numpy ==1.23.4
  • pandas ==1.5.1
  • psutil ==5.9.3
  • pyexcel ==0.6.2
  • pyexcel-io ==0.6.2
  • pyexcel-ods ==0.6.0
  • pyexcel-ods3 ==0.6.1
  • pyexcel-xls ==0.6.2
  • pyexcel-xlsx ==0.6.0
  • pyproj ==3.4.0
  • scipy ==1.9.3
  • ujson ==5.5.0
  • xlrd ==1.2.0
requirements/dev.txt pypi
  • flaky ==3.4.0 development
  • imageio ==2.21.0 development
  • pytest ==6.1.0 development
  • pytest-aiohttp ==1.0.4 development
  • selenium ==3.141.0 development
requirements/prod.txt pypi
  • aioredis ==1.3.1
  • gunicorn ==20.1.0
  • hiredis ==1.0.1
  • uvloop ==0.17.0
setup.py pypi