pointDist method

  1. @override
double pointDist(
  1. GeoCoord a,
  2. GeoCoord b,
  3. H3Units unit
)
override

Calculates great circle distance between two geo points.

Implementation

@override
double pointDist(GeoCoord a, GeoCoord b, H3Units unit) {
  return using((arena) {
    switch (unit) {
      case H3Units.m:
        return _h3c.pointDistM(
          a.toRadians(_geoCoordConverter).toNative(arena),
          b.toRadians(_geoCoordConverter).toNative(arena),
        );
      case H3Units.km:
        return _h3c.pointDistKm(
          a.toRadians(_geoCoordConverter).toNative(arena),
          b.toRadians(_geoCoordConverter).toNative(arena),
        );
      case H3Units.rad:
        return _h3c.pointDistRads(
          a.toRadians(_geoCoordConverter).toNative(arena),
          b.toRadians(_geoCoordConverter).toNative(arena),
        );
    }
  });
}