centroid method

Point? centroid(
  1. dynamic geoJson
)

Calculates the centroid of a geometry.

Implementation

Point? centroid(dynamic geoJson) {
  final paths = generate(geoJson);
  if (paths.isEmpty) return null;

  final allPoints = paths.expand((path) => path).toList();
  if (allPoints.isEmpty) return null;

  double sumX = 0, sumY = 0;
  for (final point in allPoints) {
    sumX += point.x;
    sumY += point.y;
  }

  return Point(sumX / allPoints.length, sumY / allPoints.length);
}