March 3, 2018

An implementation of the ISEA3H Discrete Global Grid System, published on GitHub

Leaflet ISEA3H Discrete Global Grid System OpenStreetMap data quality

Spatial information is often aggregated by grid systems before being displayed. The ISEA Aperture 3 Hexagon Discrete Global Grid System (ISEA3H DGGS) is such a grid that is very common among many researchers and practicioners. The grid partitions the surface of the Earth into hexagons. To be more precise, the surface of the Earth is mapped to an icosahedron, which is itself tesselated by a large number of hexagons and twelve pentagons. My article with a novel identifier scheme for the ISEA3H DGGS has been accepted by the journal Cartography and Geographic Information science. In addition, I have published a reference implementation for these identifiers, which also implements the ISEA3H DGGS, and a Leaflet library to visualize data aggregated by the grid.

In the paper A Novel Identifier Scheme for the ISEA Aperture 3 Hexagon Discrete Global Grid System, I have introduced a novel identifier scheme for the ISEA3H DGGS. It aims at being efficient when transferring identifiers in combination with the geometries of a large number of cells, and at being easy to understand even for non-experts. The paper has been accepted, and more information will follow when the paper has been published:

F-B Mocnik: A Novel Identifier Scheme for the ISEA Aperture 3 Hexagon Discrete Global Grid System. Cartography and Geographic Information science, 2018

A reference implementation of the identifier scheme, and of the ISEA3H DGGS itself, has been published on GitHub:

https://github.com/giscience/geogrid

A corresponding Leaflet plugin for visualizing the grid cells in a flexible way has been published as well. The plugin uses WebGL for fast rendering and offers a large number of settings. It even implements its own plugin system to support interaction.

https://github.com/giscience/geogrid.js

The code for employing the plugin is, in fact, very short:

var map = L.map('map').setView([49.4, 8.7], 10);
var isea3h = L.isea3hLayer({
  url: 'http://localhost:8080/api/test-measure/grid?resolution={resolution}&bbox={bbox}&date={date}&dateFrom={dateFrom}',
}).addTo(map);

In addition, a REST server to aggregate data by the ISEA3H DGGS has been published. This server can easily be adapted to different data sources and allows for a straight forward aggregation of the data by using the geogrid library. The API of the server is compatible with the geogrid.js Leaflet plugin, which makes them a perfect combination. More information about the server is yet to come.

https://github.com/giscience/measures-rest

All code is published under the MIT license.