h3

Hexagonal hierarchical geospatial indexing system

APACHE-2.0 License

Downloads
26
Stars
4.9K
Committers
67

Bot releases are hidden (Show)

h3 - Release v4.1.0 Latest Release

Published by isaacbrodsky almost 2 years ago

[4.1.0] - 2023-01-18

Added

  • Functions for cellToChildPos and childPosToCell (#719)

Fixed

  • Fixed possible signed integer overflow in h3NeighborRotations (#707)
  • Fixed possible signed integer overflow in localIjToCell (#706, #735)

Changed

  • assert on defensive code blocks that are not already covered. (#720)
  • clang-format upgraded to version 11. (#734)
h3 - Release v4.0.1

Published by isaacbrodsky about 2 years ago

[4.0.1] - 2022-09-15

Fixed

  • Changing an internal float to double improves the precision of geographic coordinate output (#652)
  • Fixed compacting all children of a resolution 0 cell (#679)
  • Fixed possible signed integer overflow in maxGridDiskSize (#686)
  • Fixed possible use of uninitialized values in cellToVertex (#683, #690)
  • Fixed possible out of bounds read in localIjToCell (#684)
  • Fixed possible memory leak in compactCells (#685)
  • Fixed possible out of bounds read in areNeighborCells (#677)
  • Fixed possible memory leak in cellsToLinkedMultiPolygon (#673)

Changed

  • Build script does not use toolchain file (#641)
  • Removed a duplicated include preprocessor directive (#682)
  • Improvements to the fuzzer suite and their automatic runs in CI (#671, #674, #687)
  • Increased test coverage (#642)
  • Added a fuzzer targetting internal algos.c functions (#675)
h3 - Release v4.0.0

Published by isaacbrodsky about 2 years ago

[4.0.0] - 2022-08-23

Breaking changes

  • Rename functions according to the terminology RFC (#622, #586, #571, #403, #466, #495, #466)
  • Functions that can experience errors now have an H3Error return value. (#617, #586, #581, #551, #550, #509, #505, #507, #508, #503, #478, #468, #436, #359)
  • Cell count parameters use int64_t instead of int.
  • polygonToCells (previously polyfill) accepts a flags argument for future expansion. (#570)
  • cellToLocalIj and localIjToCell accept a mode argument for future expansion. (#586)
  • exactEdgeLength functions renamed to edgeLength (#639)

Fixed

  • Fix polyfill bug when vertex latitude exactly matches cell center. (#603)
  • A number of issues detected via unit tests and fuzzers were fixed. (#568, #562, #558, #559, #560, #430)
  • polygonToCells returns an error if Infinity is passed in. (#636)

Changed

  • The file CMakeTests.cmake is no longer included if ENABLE_TESTING is off. (#609)

Added

  • Vertex mode and associated functions: (#422, #420, #417)
    • cellToVertex(cell, vertexNum)
    • cellToVertexes(cell, out)
    • vertexToLatLng(vertex, out)
    • isValidVertex(vertex)
  • h3 CLI application. (#556, #497)

Other changes

  • Generally use lng instead of lon
  • Closed-form implementation of numHexagons
  • A number of fuzzer harnesses are now included in the H3 core library. (#557, #553, #545, #433)
  • Additional benchmarks are added and benchmarks are regularly run in CI. (#524, #518)
h3 - Release v4.0.0 Release Candidate 5

Published by isaacbrodsky about 2 years ago

[4.0.0-rc5] - 2022-08-16

Breaking changes

  • exactEdgeLength functions renamed to edgeLength (#639)

Fixed

  • polygonToCells returns an error if Infinity is passed in. (#636)
h3 - Release v4.0.0 Release Candidate 4

Published by isaacbrodsky about 2 years ago

[4.0.0-rc4] - 2022-07-25

Breaking changes

  • distance* functions (distanceKm, etc) renamed to greatCircleDistance*. (#622)
  • Error code E_MEMORY renamed to E_MEMORY_ALLOC. (#617)
h3 - Release v4.0.0 Release Candidate 3

Published by isaacbrodsky over 2 years ago

[4.0.0-rc3] - 2022-06-03

Fixed

  • Fix polyfill bug when vertex latitude exactly matches cell center. (#603)

Changed

  • The file CMakeTests.cmake is no longer included if ENABLE_TESTING is off. (#609)
h3 - Release v4.0.0 Release Candidate 2

Published by isaacbrodsky over 2 years ago

[4.0.0-rc2] - 2022-03-16

Breaking changes

  • experimentalH3ToLocalIj and experimentalLocalIjToH3 renamed to cellToLocalIj and localIjToCell respectively. (#586)
  • cellToLocalIj and localIjToCell accept a mode argument for future expansion. (#586)
  • cellToCenterChild (previously h3ToCenterChild) returns an error code. (#581)

Added

  • E_OPTION_INVALID error code added. (#586)
h3 - Release v4.0.0 Release Candidate 1

Published by isaacbrodsky over 2 years ago

[4.0.0-rc1] - 2022-02-07

Breaking changes

  • Rename functions according to the terminology RFC (#571, #403, #466, #495, #466)
  • Functions that can experience errors now have an H3Error return value. (#551, #550, #509, #505, #507, #508, #503, #478, #468, #436, #359)
  • Cell count parameters use int64_t instead of int.
  • polygonToCells (previously polyfill) accepts a flags argument for future expansion. (#570)

Added

  • Vertex mode and associated functions: (#422, #420, #417)
    • cellToVertex(cell, vertexNum)
    • cellToVertexes(cell, out)
    • vertexToLatLng(vertex, out)
    • isValidVertex(vertex)
  • h3 CLI application. (#556, #497)

Fixed

  • A number of issues detected via unit tests and fuzzers were fixed. (#568, #562, #558, #559, #560, #430)

Other changes

  • Generally use lng instead of lon
  • Closed-form implementation of numHexagons
  • A number of fuzzer harnesses are now included in the H3 core library. (#557, #553, #545, #433)
  • Additional benchmarks are added and benchmarks are regularly run in CI. (#524, #518)
h3 - Release v3.7.2

Published by isaacbrodsky over 3 years ago

[3.7.2] - 2021-07-15

Fixed

  • kRing of invalid indexes should not crash. (#498)
h3 - Release v3.7.1

Published by isaacbrodsky about 4 years ago

[3.7.1] - 2020-10-05

Fixed

  • Finding invalid edge boundaries should not crash. (#399)
  • Build fixes for FreeBSD. (#397)
h3 - Release v3.7.0

Published by ajfriend about 4 years ago

[3.7.0] - 2020-09-28

Added

  • Area and haversine distance functions (#377):
    • cellAreaRads2
    • cellAreaKm2
    • cellAreaM2
    • pointDistRads
    • pointDistKm
    • pointDistM
    • exactEdgeLengthRads
    • exactEdgeLengthKm
    • exactEdgeLengthM
  • Refactor getH3UnidirectionalEdgeBoundary for accuracy at small resolutions. (#391)
    • Speeds up getH3UnidirectionalEdgeBoundary by about 3x.
    • Implement core logic for future vertex mode.

Fixed

  • Fixed building the library with custom memory allocation functions on Mac OSX. (#362)
  • The installed H3 CMake target should have include directories specified. (#381)

Changed

  • Tests now use bash on Windows. (#381)
h3 - Release v3.6.4

Published by isaacbrodsky over 4 years ago

[3.6.4] - 2020-06-19

Added

  • H3_MEMORY_PREFIX CMake option for replacing the memory management functions used in H3. (#317)
  • Support for building Debian packages of H3. (#352)

Fixed

  • Removed duplicate include statements. (#333)
  • Fixed macro H3_DIGIT_MASK_NEGATIVE. (#329)

Changed

  • Again implement new polyfill algorithm. (#313)
h3 - Release 3.6.3

Published by nrabinowitz over 4 years ago

[3.6.3] - 2020-01-21

Fixed

  • compact detects and fails on cases with duplicated input indexes. (#299)

Changed

  • h3IsValid returns false for indexes that have non-zero reserved bits. (#300)
  • h3IsValid and h3UnidirectionalEdgeIsValid return false for indexes with the high bit set. (#300)
h3 - Release 3.6.2

Published by nrabinowitz almost 5 years ago

[3.6.2] - 2019-12-9

  • Revert new polyfill algorithm until reported issues are fixed. (#293)
h3 - Release 3.6.1

Published by nrabinowitz almost 5 years ago

[3.6.1] - 2019-11-11

Fixed

  • compact handles zero length input correctly. (#278)
  • bboxHexRadius scaling factor adjusted to guarantee containment for polyfill. (#279)
  • polyfill new algorithm for up to 3x perf boost. (#282)
  • Fix CMake targets for KML generation. (#285)
h3 - Release 3.6.0

Published by isaacbrodsky about 5 years ago

[3.6.0] - 2019-08-12

Added

  • h3ToCenterChild function to find center child at given resolution (#267)
  • getPentagonIndexes (and pentagonIndexCount) function to find pentagons at given resolution (#267)

Fixed

  • Fix bounds check for local IJ coordinates (#271)
h3 - Release 3.5.0

Published by nrabinowitz about 5 years ago

[3.5.0] - 2019-07-22

Added

  • CMake options for excluding filter applications or benchmarks from the build. (#247)
  • h3GetFaces function to find icosahedron faces for an index, and helper function maxFaceCount (#253)

Changed

  • Argument parsing for all filter applications is more flexible. (#238)

Fixed

  • Fix printing program name in h3ToHier error messages. (#254)
h3 - Release 3.4.4

Published by isaacbrodsky over 5 years ago

[3.4.4] - 2019-05-30

Changed

  • Local coordinate spaces cannot cross more than one icosahedron edge. (#234)
  • All dynamic internal memory allocations happen on the heap instead of the stack. (#235)
  • Argument parsing for h3ToGeo, geoToH3, and h3ToGeoBoundary is more flexible. (#227)
h3 - Release 3.4.3

Published by isaacbrodsky over 5 years ago

[3.4.3] - 2019-05-02

Added

  • localIjToH3 filter application (#222)
  • An option to print distances in the kRing filter application (#222)

Changed

  • Arguments parsing for kRing filter application is more flexible. (#224)

Fixed

  • benchmarkPolyfill allocates its memory on the heap (#198)
  • Fixed constraints of vertex longitudes (#213)
  • Zero only input to uncompact does not produce an error (#223)
h3 - Release 3.4.2

Published by isaacbrodsky over 5 years ago

[3.4.2] - 2019-02-21

Changed

  • binding-functions build target generates an ASCII file on Windows (#193)