eurostat / gridviz

A package for visualizing gridded data 🌐
https://github.com/eurostat/gridviz
European Union Public License 1.2
193 stars 9 forks source link
cartography csv d3 data data-analysis data-science data-visualization datascience geospatial gis gridded-statistics grids gridviz map map-making mapping mapping-tools maps visualization webgl

Gridviz

npm bundle size npm license

Gridviz is a JavaScript library for visualizing gridded data (or any tabular dataset with x/y coordinates for that matter) in the browser using a large variety of cartographic styles and techniques. Unlike traditional raster-based web mapping tools, Gridviz renders everything client-side, on the fly.

Styles

Visit the style gallery to see the different customisable styles available for visualizing gridded data with gridviz.

Live Demos

Installation

Node.js

npm install gridviz

then

import * as gridviz from 'gridviz'

Or you can cherry-pick only the modules that you need, for example:

import { Map, SquareColorWebGLStyle } from 'gridviz'

Basic example

Here’s a basic example that loads a CSV file of a European population grid (5km resolution):

//define map with initial view
const map = new gridviz.Map(document.getElementById('map'), { x: 4500000, y: 2900000, z: 3000 })

//define dataset
const dataset = new gridviz.CSVGrid(map, "https://raw.githubusercontent.com/eurostat/gridviz/master/assets/csv/Europe/pop_2018_10km.csv", 10000)

//define color for each cell
const colorFunction = (cell) => {
    if (cell.population > 150000) return "#993404"
    else if (cell.population > 60000) return "#d95f0e"
    else if (cell.population > 20000) return "#fe9929"
    else if (cell.population > 6000) return "#fec44f"
    else if (cell.population > 1500) return "#fee391"
    else return "#ffffd4"
}

//define style
const style = new gridviz.ShapeColorSizeStyle({ color: colorFunction })

//add layer to map
map.layers = [new gridviz.GridLayer(dataset, [style])]

See the documentation page for more information.

standalone

<script src="https://unpkg.com/gridviz/dist/gridviz.min.js"></script>

Documentation

See the gridviz documentation page.

The document of the previous version 2.

Grid tiling

In order to visualize large grids efficiently, you can produce tiled grids in a tiled grid format with GridTiler.

About

contributors
version See npm
status Since 2020
license EUPL 1.2

Support and contribution

Feel free to ask support, fork the project or simply star it (it's always a pleasure).

Copyright

The Eurostat NUTS dataset is copyrighted. There are specific provisions for the usage of this dataset which must be respected. The usage of these data is subject to their acceptance. See the Eurostat-GISCO website for more information.

Disclaimer

The designations employed and the presentation of material on these maps do not imply the expression of any opinion whatsoever on the part of the European Union concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. Kosovo: This designation is without prejudice to positions on status, and is in line with UNSCR 1244/1999 and the ICJ Opinion on the Kosovo declaration of independence. Palestine: This designation shall not be construed as recognition of a State of Palestine and is without prejudice to the individual positions of the Member States on this issue.