{"id":13798219,"url":"https://github.com/eurostat/gridviz","last_synced_at":"2025-12-24T19:03:42.778Z","repository":{"id":37472836,"uuid":"215286392","full_name":"eurostat/gridviz","owner":"eurostat","description":"A library for visualizing gridded data 🌐","archived":false,"fork":false,"pushed_at":"2025-12-21T22:06:24.000Z","size":1661770,"stargazers_count":226,"open_issues_count":18,"forks_count":11,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-12-23T02:38:49.569Z","etag":null,"topics":["cartography","census","csv","d3","data","data-analysis","data-science","data-visualization","datascience","geospatial","gis","gridded-statistics","grids","map","map-making","mapping","mapping-tools","maps","visualization","webgl"],"latest_commit_sha":null,"homepage":"https://github.com/eurostat/gridviz","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eurostat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-10-15T11:53:23.000Z","updated_at":"2025-12-22T20:18:36.000Z","dependencies_parsed_at":"2024-04-15T14:56:27.475Z","dependency_job_id":"ef857975-1121-4f8a-8dcc-c80ee90b81d8","html_url":"https://github.com/eurostat/gridviz","commit_stats":{"total_commits":5765,"total_committers":8,"mean_commits":720.625,"dds":0.399479618386817,"last_synced_commit":"027079dff38203841d52bf956c914ff1b8fd60bb"},"previous_names":[],"tags_count":87,"template":false,"template_full_name":null,"purl":"pkg:github/eurostat/gridviz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eurostat%2Fgridviz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eurostat%2Fgridviz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eurostat%2Fgridviz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eurostat%2Fgridviz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eurostat","download_url":"https://codeload.github.com/eurostat/gridviz/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eurostat%2Fgridviz/sbom","scorecard":{"id":385128,"data":{"date":"2025-08-11","repo":{"name":"github.com/eurostat/gridviz","commit":"50f70701303d9f4e4bf35bed02933f8353ddc539"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":1,"reason":"0 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: European Union Public License 1.2: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-18T16:24:40.169Z","repository_id":37472836,"created_at":"2025-08-18T16:24:40.169Z","updated_at":"2025-08-18T16:24:40.169Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28005407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cartography","census","csv","d3","data","data-analysis","data-science","data-visualization","datascience","geospatial","gis","gridded-statistics","grids","map","map-making","mapping","mapping-tools","maps","visualization","webgl"],"created_at":"2024-08-04T00:00:40.574Z","updated_at":"2025-12-24T19:03:42.772Z","avatar_url":"https://github.com/eurostat.png","language":"JavaScript","readme":"# Gridviz\n\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/gridviz)\n![npm](https://img.shields.io/npm/v/gridviz)\n![license](https://img.shields.io/badge/license-EUPL-success)\n[![Mentioned in Awesome Official Statistics ](https://awesome.re/mentioned-badge.svg)](http://www.awesomeofficialstatistics.org)\n\n\u003cp align=\"center\" style=\"height: 350px;\"\u003e\n    \u003cimg src=\"docs/img/gif/gridviz-annotated.gif\"\u003e\n\u003c/p\u003e\n\n[Gridviz](https://github.com/eurostat/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](https://github.com/eurostat/gridviz/blob/master/docs/gallery.md). Unlike traditional raster-based web mapping tools, Gridviz renders everything client-side, on the fly.\n\n## Styles\n\n[Visit the style gallery](https://github.com/eurostat/gridviz/blob/master/docs/gallery.md) to see the different customisable styles available for visualizing gridded data with gridviz.\n\n[\u003cimg src=\"docs/img/overviews/ov_accessibility.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#shapecolorsize-style)\n[\u003cimg src=\"docs/img/overviews/ov_side_cat.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#side-category-style)\n[\u003cimg src=\"docs/img/overviews/ov_age_balance.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#shapecolorsize-style)\n[\u003cimg src=\"docs/img/overviews/ov_dark.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#square-color-webgl-style)\n[\u003cimg src=\"docs/img/overviews/ov_kersmoo.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#kernel-smoothing)\n[\u003cimg src=\"docs/img/overviews/ov_tanaka_dark.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#tanaka-style)\n[\u003cimg src=\"docs/img/overviews/ov_joyplot_shade.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#joyplot-style)\n[\u003cimg src=\"docs/img/overviews/ov_lego.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#lego-style)\n[\u003cimg src=\"docs/img/overviews/ov_text_elevation.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#text-style)\n[\u003cimg src=\"docs/img/overviews/ov_dotdensity.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#dot-density-style)\n[\u003cimg src=\"docs/img/overviews/ov_joyplot.png\" width=\"70\" height=\"70\"\u003e](https://eurostat.github.io/gridviz/docs/reference#joyplot-style)\n\n## Live Demos\n\n-   [**Europe** - 1km resolution - Census total population](https://ec.europa.eu/assets/estat/E/E4/gisco/website/grid_map/index.html)\n-   [**Europe** - 1km resolution - Census population composition](https://ec.europa.eu/assets/estat/E/E4/gisco/website/census_2021_grid_map/index.html)\n-   [**Europe** - 100m resolution - Accessibility to basic services](https://ec.europa.eu/assets/estat/E/E4/gisco/accessibility_maps/healthcare_education/index.html)\n-   [**Europe** - 100m resolution - Relief](https://eurostat.github.io/gridviz/examples/demos/EUR_relief.html)\n-   [**Germany** - 100m resolution - Zensus 2011](https://eurostat.github.io/gridviz/examples/demos/DE.html)\n-   [**France** - 200m resolution - INSEE Filosofi](https://eurostat.github.io/gridviz/examples/demos/FR.html). Focus on [total population](https://eurostat.github.io/gridviz/examples/demos/FR_pop.html) and [income](https://eurostat.github.io/gridviz/examples/demos/FR_income.html).\n-   [**Norway** - 250m resolution - SSB](https://eurostat.github.io/gridviz/examples/demos/NO.html)\n-   [**Croatia** - 1km resolution - DZS 2015 grid](https://eurostat.github.io/gridviz/examples/demos/HR.html)\n-   [**Belgium** population](https://eurostat.github.io/gridviz/examples/basics/mixed_resolution_BE.html), as mixed resolution layer.\n\n## Installation\n\n### Node.js\n\n```Shell\nnpm install gridviz\n```\n\nthen\n\n```javascript\nimport * as gridviz from 'gridviz'\n```\n\nOr you can cherry-pick only the modules that you need, for example:\n\n```javascript\nimport { Map, SquareColorWebGLStyle } from 'gridviz'\n```\n\n### Basic example\n\nHere’s a basic example that loads a CSV file of a European population grid (5km resolution):\n\n```javascript\n//define map with initial view\nconst map = new gridviz.Map(document.getElementById('map'), { x: 4500000, y: 2900000, z: 3000 })\n\n//define dataset\nconst dataset = new gridviz.CSVGrid(\n    map,\n    'https://raw.githubusercontent.com/eurostat/gridviz/master/assets/csv/Europe/pop_2018_10km.csv',\n    10000\n)\n\n//define color for each cell\nconst colorFunction = (cell) =\u003e {\n    if (cell.population \u003e 150000) return '#993404'\n    else if (cell.population \u003e 60000) return '#d95f0e'\n    else if (cell.population \u003e 20000) return '#fe9929'\n    else if (cell.population \u003e 6000) return '#fec44f'\n    else if (cell.population \u003e 1500) return '#fee391'\n    else return '#ffffd4'\n}\n\n//define style\nconst style = new gridviz.ShapeColorSizeStyle({ color: colorFunction })\n\n//add layer to map\nmap.layers = [new gridviz.GridLayer(dataset, [style])]\n```\n\nSee the **[documentation page](https://eurostat.github.io/gridviz/docs/reference)** for more information.\n\n### standalone\n\n```javascript\n\u003cscript src=\"https://unpkg.com/gridviz/dist/gridviz.min.js\"\u003e\u003c/script\u003e\n```\n\n## Documentation\n\nSee the **[gridviz documentation page](./docs/reference.md)**.\n\n## Grid tiling\n\nIn order to visualize large grids efficiently, you can produce tiled grids in a [tiled grid format](https://eurostat.github.io/gridviz/docs/tiledformat) with **[GridTiler](https://github.com/eurostat/gridtiler)**.\n\n## About\n\n|                |                                                                                                                                                                                       |\n| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| _contributors_ | [\u003cimg src=\"https://github.com/jgaffuri.png\" height=\"40\" /\u003e](https://github.com/jgaffuri) [\u003cimg src=\"https://github.com/JoeWDavies.png\" height=\"40\" /\u003e](https://github.com/JoeWDavies) |\n| _version_      | See [npm](https://www.npmjs.com/package/gridviz?activeTab=versions)                                                                                                                   |\n| _status_       | Since 2020                                                                                                                                                                            |\n| _license_      | [EUPL 1.2](LICENSE)                                                                                                                                                                   |\n\n### Support and contribution\n\nFeel free to [ask support](https://github.com/eurostat/gridviz/issues/new), fork the project or simply star it (it's always a pleasure).\n\n### Copyright\n\nThe [Eurostat NUTS dataset](http://ec.europa.eu/eurostat/web/nuts/overview) is copyrighted. There are [specific provisions](https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units) 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](https://ec.europa.eu/eurostat/web/gisco/geodata/statistical-units/territorial-units-statistics) for more information.\n\n### Disclaimer\n\nThe 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.\n","funding_links":[],"categories":["👨‍💻 JavaScript Libraries"],"sub_categories":["Mapping"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feurostat%2Fgridviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feurostat%2Fgridviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feurostat%2Fgridviz/lists"}