All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
We track the MAJOR and MINOR version levels of Uber's H3 project (https://github.com/uber/h3) but maintain independent patch levels so we can make small fixes and non breaking changes.
H3.from_string(nil)
should not crash
- kRing of invalid indexes should not crash.
- Area and haversine distance functions:
cellAreaRads2
cellAreaKm2
cellAreaM2
pointDistRads
pointDistKm
pointDistM
exactEdgeLengthRads
exactEdgeLengthKm
exactEdgeLengthM
- Speeds up
getH3UnidirectionalEdgeBoundary
by about 3x.
- Finding invalid edge boundaries should not crash.
- Reinstate new
polyfill
algorithm for up to 3x perf boost.
- Revert new polyfill algorithm until reported issues are fixed.
- Remove deprecated methods: (#66)
compact
handles zero length input correctly.bboxHexRadius
scaling factor adjusted to guarantee containment forpolyfill
.polyfill
new algorithm for up to 3x perf boost.- Fix CMake targets for KML generation.
center_child
method to find center child at given resolution (#62).pentagons
(andpentagon_count
) method to find pentagons at given resolution (#62).
- Renamed 26 methods to be more idiomatic with Ruby conventions. The old names are deprecated until 2020 when they will be removed (#59).
- Added Zeitwerk as the code loader.
h3_faces
andmax_face_count
support (#56)
- New CMake options to prevent unnecessary building of filter apps and benchmarks.
- Internal h3 bugfixes.
res_0_indexes
andres_0_index_count
support (#51).
h3_line
andh3_line_size
support (#43).
- Use FFI types to enforce sane resolution values (#41).
- Internal refactoring (#44).
- Include and compile H3 when gem installs (#45). The gem will use a locally built .so and ignore any H3 versions that are installed on the system. This is achieved by submoduling the H3 C code and updating to the matching version tag.
- Various documentation corrections.
Initial release.