Geohex
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.
Installation
npm install geohex --save
Or grab from jsDelivr CDN:
Or from unpkg CDN:
Usage
ES6 Modules
// or import { getCellByCode } from 'geohex'
CommonJS
const Geohex = // or const { getCellByCode } = require('geohex')
JS modules:
Global variable
Examples
// Get Geohex cell instance by codeconst geohexCell = Geohex // Get Geohex cell instance by geographic coordinates and zoom levelconst geohexCell = Geohex // Get Geohex cell instance by cell coordinates and zoomLevelconst geohexCell = Geohex // Get Geohex cell coordinates by geographic coordinates and zoom levelGeohex:// { x: 326, y: 203 } // Get Geohex cell coordinates by codeGeohex// { x: 326, y: 203 }
Geohex cell instance
Geohex cell instance is hexagon grid cell with properties and methods:
console// {// "lat": 59.97788999458348,// "lon": 30.37037037037038,// "x": 326,// "y": 203,// "code": "QH3360"// } // Cell zoom levelgeohexCell// 4 // Cell side length in degreesgeohexCell:// 9162.098006401464 // Geographic coordinates of hexagon cornersgeohexCell:// [// { 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 }// ]
Other implementations
- Original GeoHex library
- GeoHex TypeScript implementation
- GeoHex Dart implementation
- GeoHex Swift implementation
- GeoHex Scala implementation
- GeoHex Java implementation
- GeoHex C# implementation
License
© 2009 @sa2da (http://twitter.com/sa2da) http://www.geohex.org
© 2020 Leonid Vinogradov