Skip to content

Commit

Permalink
Merge pull request #44 from wingkwong/develop
Browse files Browse the repository at this point in the history
Release: 0.10.2
  • Loading branch information
wingkwong authored Nov 11, 2023
2 parents 6bf1cd4 + 6fab6dc commit 384f04b
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 4 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# CHANGELOG

## 0.10.2

- Fixed Shoelace formula
- Added Unit Conversion

## 0.10.1

- Added Example README.md
Expand Down
4 changes: 2 additions & 2 deletions lib/src/core/GeodesicMeasurements/polygon_area_by_points.dart
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ class PolygonArea {
final LatLng currentPoint = polygonPoints[i];
final LatLng nextPoint = polygonPoints[(i + 1) % polygonPoints.length];

area += (currentPoint.latitude + nextPoint.latitude) *
(currentPoint.longitude - nextPoint.longitude);
area += (currentPoint.latitude * nextPoint.longitude -
nextPoint.latitude * currentPoint.longitude);
}

area = area.abs() / 2.0;
Expand Down
123 changes: 123 additions & 0 deletions lib/src/util/unit_conversion.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/// Unit Distance Conversion
extension UnitConversions on num {
/// Metric Units
double get millimetersToMeters => this / 1000.0;

/// Meter To Millimeters
double get metersToMillimeters => this * 1000.0;

/// Centimeter to Meters
double get centimetersToMeters => this / 100.0;

/// Metres to Centimeters
double get metersToCentimeters => this * 100.0;

/// Decimeters to Meters
double get decimetersToMeters => this / 10.0;

/// Meters to Decimeters
double get metersToDecimeters => this * 10.0;

/// Kilometers to Meters
double get kilometersToMeters => this * 1000.0;

/// Meters to Kilometers
double get metersToKilometers => this / 1000.0;

/// Imperial Units
/// Inches to Centimeters
double get inchesToCentimeters => this * 2.54;

/// Centimeters to Inches
double get centimetersToInches => this / 2.54;

/// Feet to Meters
double get feetToMeters => this * 0.3048;

/// Meters to Feet
double get metersToFeet => this / 0.3048;

/// Yards to Meters
double get yardsToMeters => this * 0.9144;

/// Meters to Yards
double get metersToYards => this / 0.9144;

/// Miles to KiloMeters
double get milesToKilometers => this * 1.60934;

/// KiloMeters to Miles
double get kilometersToMiles => this / 1.60934;

/// Nautical Units
/// Nautical Miles to Kilometers
double get nauticalMilesToKilometers => this * 1.852;

/// Kilometers to Nautical Miles
double get kilometersToNauticalMiles => this / 1.852;

/// Astronomical Units
/// Astronomical to Meters
double get astronomicalUnitsToMeters => this * 149597870700.0;

/// Meters to Astronomical
double get metersToAstronomicalUnits => this / 149597870700.0;

/// Light Years
/// Light Years to Meters
double get lightYearsToMeters => this * 9.461e15;

/// Meters to Light Years
double get metersToLightYears => this / 9.461e15;

/// Parsecs
/// Parsecs To Meters
double get parsecsToMeters => this * 3.086e16;

/// Meters to Parsecs
double get metersToParsecs => this / 3.086e16;

/// Micrometers To Meters
double get micrometersToMeters => this / 1e6;

/// Meters To Micrometers
double get metersToMicrometers => this * 1e6;

/// NanoMeters To Meters
double get nanometersToMeters => this / 1e9;

/// Meters To Nanometers
double get metersToNanometers => this * 1e9;

/// Picometers To Meters
double get picometersToMeters => this / 1e12;

///Meters to PicoMeters
double get metersToPicometers => this * 1e12;

/// Femtometers To Meters
double get femtometersToMeters => this / 1e15;

/// Meters To FemtoMeters
double get metersToFemtometers => this * 1e15;

/// Attometers To Meters
double get attometersToMeters => this / 1e18;

/// Meters To Attometers
double get metersToAttometers => this * 1e18;

/// Square Meters to Square Kilometers
double get squareMetersToSquareKilometers => this / 1e6;

/// Square KiloMeters to Square Meters
double get squareKilometersToSquareMeters => this * 1e6;

/// Meters To Square Kilometers
double get metersToSquareKilometers => this * this / 1e6;
}
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: geodesy
description: A Dart library for geodesic and trigonometric calculations working with points and paths
version: 0.10.1
version: 0.10.2
homepage: https://github.com/wingkwong/geodesy

environment:
Expand All @@ -10,5 +10,5 @@ dependencies:
latlong2: ^0.9.0

dev_dependencies:
lints: ^2.1.1
lints: ^3.0.0
test: ^1.16.8

0 comments on commit 384f04b

Please sign in to comment.