area property Null safety

double area

The area pf the Polygon in square meters.

Example:

Polygon polygon = Polygon([
  LinearRing([
    Coordinate(0, 0),
    Coordinate(0, 1),
    Coordinate(1, 1),
    Coordinate(1, 0),
    Coordinate(0, 0),
  ]),
]);
print(polygon.area); // 1

Implementation

double get area {
  double polygonArea(List<LinearRing> rings) {
    double polyArea = 0;

    if (rings.isNotEmpty) {
      polyArea += (rings[0].area).abs();
      for (var hole in rings.getRange(1, coordinates.length)) {
        polyArea -= (hole.area).abs();
      }
    }

    return polyArea;
  }

  return polygonArea(coordinates);
}