compressPathModel static method

EncodedPathModel compressPathModel(
  1. PathModel pathModel, {
  2. required double minimumDistanceMeters,
  3. required double simplificationToleranceMeters,
  4. required int precision,
})

Compresses a saved PathModel and returns an EncodedPathModel.

Implementation

static EncodedPathModel compressPathModel(
  PathModel pathModel, {
  required double minimumDistanceMeters,
  required double simplificationToleranceMeters,
  required int precision,
}) {
  final result = compressPath(
    pathModel.path,
    minimumDistanceMeters: minimumDistanceMeters,
    simplificationToleranceMeters: simplificationToleranceMeters,
    precision: precision,
    preservePoints: pathModel.customPoints,
  );

  return EncodedPathModel(
    pathModel: pathModel,
    encodedPath: result.encodedPath,
    polylinePrecision: precision,
    originalPointCount: pathModel.path.length,
    compressedPointCount: result.compressedPath.length,
    compressedDistance: DistanceUtils.calculateDistance(result.filteredPath),
  );
}