Hexagonal geocoding system, library for converting geographic coordinates to hexagonal grid cells and vice versa.
This is ECMAScript 2015 fork of GeoHex library which was originally made by @sa2da.
npm install geohex --saveOr grab from jsDelivr CDN:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/geohex.min.js"></script>Or from unpkg CDN:
<script src="https://unpkg.com/[email protected]/lib/geohex.min.js"></script>import Geohex from "geohex";
// or import { getCellByCode } from 'geohex'const Geohex = require("geohex");
// or const { getCellByCode } = require('geohex')<script type="module">
  import Geohex from "geohex/src/index.js";
  // or import { getCellByCode } from 'geohex/src/index.js'
</script><script src="geohex/lib/geohex.min.js"></script>// Get Geohex cell instance by code
const geohexCell = Geohex.getCellByCode('QH3360')
// Get Geohex cell instance by geographic coordinates and zoom level
const geohexCell = Geohex.getCellByLocation(59.943201, 30.324086, 4)
// Get Geohex cell instance by cell coordinates and zoomLevel
const geohexCell = Geohex.getCellByXY(326, 203, 4)
// Get Geohex cell coordinates by geographic coordinates and zoom level
Geohex.getXYByLocation(59.943201, 30.324086, 4):
// { x: 326, y: 203 }
// Get Geohex cell coordinates by code
Geohex.getXYByCode('QH3360')
// { x: 326, y: 203 }Geohex cell instance is hexagon grid cell with properties and methods:
console.log(JSON.stringify(geohexCell, null, 2))
// {
//   "lat": 59.97788999458348,
//   "lon": 30.37037037037038,
//   "x": 326,
//   "y": 203,
//   "code": "QH3360"
// }
// Cell zoom level
geohexCell.getZoomLevel()
// 4
// Cell side length in degrees
geohexCell.getHexSize():
// 9162.098006401464
// Geographic coordinates of hexagon corners
geohexCell.getHexCoords():
// [
//   { lat: 59.97788999458348, lon: 30.205761316872437 },
//   { lat: 60.0491386517641, lon: 30.288065843621407 },
//   { lat: 60.0491386517641, lon: 30.45267489711935 },
//   { lat: 59.97788999458348, lon: 30.53497942386832 },
//   { lat: 59.90648768479527, lon: 30.45267489711935 },
//   { lat: 59.90648768479527, lon: 30.288065843621407 }
// ]- Original GeoHex library
 - GeoHex TypeScript implementation
 - GeoHex Dart implementation
 - GeoHex Swift implementation
 - GeoHex Scala implementation
 - GeoHex Java implementation
 - GeoHex C# implementation
 
© 2009 @sa2da (http://twitter.com/sa2da) http://www.geohex.org
© 2020 Leonid Vinogradov