Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

geojson2h3

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

geojson2h3

Conversion utilities between H3 indexes and GeoJSON

  • 1.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

geojson2h3

test Coverage Status License npm version

The geojson2h3 library includes a set of utilities for conversion between GeoJSON polygons and H3 hexagon indexes, using h3-js.

Installation

npm install geojson2h3

Example Usage

import geojson2h3 from 'geojson2h3';

const polygon = {
  type: 'Feature',
  geometry: {
    type: 'Polygon',
    coordinates: [[
      [-122.47485823276713, 37.85878356045377],
      [-122.47504834087829, 37.86196795698972],
      [-122.47845104316997, 37.86010614563313],
      [-122.47485823276713, 37.85878356045377]
    ]]
  }
};

const hexagons = geojson2h3.featureToH3Set(polygon, 10);
// -> ['8a2830855047fff', '8a2830855077fff', '8a283085505ffff', '8a283085506ffff']

const feature = geojson2h3.h3SetToFeature(hexagons);
// -> {type: 'Feature', properties: {}, geometry: {type: 'Polygon', coordinates: [...]}}

API Reference

geojson2h3


geojson2h3.featureToH3Set(feature, resolution, [options]) ⇒ Array.<String>

Convert a GeoJSON feature to a set of hexagons. Only hexagons whose centers fall within the feature will be included. Note that conversion from GeoJSON is lossy; the resulting hexagon set only approximately describes the original shape, at a level of precision determined by the hexagon resolution.

If the polygon is small in comparison with the chosen resolution, there may be no cell whose center lies within it, resulting in an empty set. To fall back to a single H3 cell representing the centroid of the polygon in this case, use the ensureOutput option.

featureToH3Set

Kind: static method of geojson2h3
Returns: Array.<String> - H3 indexes

ParamTypeDescription
featureObjectInput GeoJSON: type must be either Feature or FeatureCollection, and geometry type must be either Polygon or MultiPolygon
resolutionNumberResolution of hexagons, between 0 and 15
[options]ObjectOptions
[options.ensureOutput]BooleanWhether to ensure that at least one cell is returned in the set

geojson2h3.h3ToFeature(hexAddress, [properties]) ⇒ Feature

Convert a single H3 hexagon to a Polygon feature

Kind: static method of geojson2h3
Returns: Feature - GeoJSON Feature object

ParamTypeDescription
hexAddressStringHexagon address
[properties]ObjectOptional feature properties

geojson2h3.h3SetToFeature(hexagons, [properties]) ⇒ Feature

Convert a set of hexagons to a GeoJSON Feature with the set outline(s). The feature's geometry type will be either Polygon or MultiPolygon depending on the number of outlines required for the set.

h3SetToFeature

Kind: static method of geojson2h3
Returns: Feature - GeoJSON Feature object

ParamTypeDescription
hexagonsArray.<String>Hexagon addresses
[properties]ObjectOptional feature properties

geojson2h3.h3SetToMultiPolygonFeature(hexagons, [properties]) ⇒ Feature

Convert a set of hexagons to a GeoJSON MultiPolygon feature with the outlines of each individual hexagon.

h3SetToMultiPolygonFeature

Kind: static method of geojson2h3
Returns: Feature - GeoJSON Feature object

ParamTypeDescription
hexagonsArray.<String>Hexagon addresses
[properties]ObjectOptional feature properties

geojson2h3.h3SetToFeatureCollection(hexagons, [getProperties]) ⇒ FeatureCollection

Convert a set of hexagons to a GeoJSON FeatureCollection with each hexagon in a separate Polygon feature with optional properties.

h3SetToFeatureCollection

Kind: static method of geojson2h3
Returns: FeatureCollection - GeoJSON FeatureCollection object

ParamTypeDescription
hexagonsArray.<String>Hexagon addresses
[getProperties]functionOptional function returning properties for a hexagon: f(h3Index) => Object

Development

The geojson2h3 library uses yarn as the preferred package manager. To install the dev dependencies, just run:

yarn

To run the tests in both native ES6 (requires Node >= 6) and transpiled ES5:

yarn test

To format the code:

yarn prettier

To rebuild the API documentation in the README file:

yarn build-docs

Contributing

Pull requests and Github issues are welcome. Please include tests for new work, and keep the library test coverage at 100%. Before we can merge your changes, you must agree to the Uber Contributor License Agreement.

The geojson2h3 library is licensed under the Apache 2.0 License.

Keywords

FAQs

Package last updated on 08 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc