bbox property

  1. @override
List<double> bbox
override

An optional bounding box bbox of the GeoJSON object.

It is an array of of double values west, south, east, north represented in the contained geometries. Array contains minimum and maximum values of all axes of all geometries.

Implementation

@override
List<double> get bbox {
  final longitudes = coordinates
      .expand(
        (element) => element.expand(
          (element) => element.expand(
            (element) => [element[0]],
          ),
        ),
      )
      .toList();
  final latitudes = coordinates
      .expand(
        (element) => element.expand(
          (element) => element.expand(
            (element) => [element[1]],
          ),
        ),
      )
      .toList();
  longitudes.sort();
  latitudes.sort();

  return [
    longitudes.first,
    latitudes.first,
    longitudes.last,
    latitudes.last,
  ];
}