Skip to content

Commit e9ce498

Browse files
committed
Added new extensions to convert length
1 parent 24cc339 commit e9ce498

File tree

7 files changed

+887
-200
lines changed

7 files changed

+887
-200
lines changed

README.md

Lines changed: 94 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,21 @@ Library to work with geographic coordinates
2626
- [DistanceUnit](#Types.DistanceUnit)
2727
- [GeographicalOrientation](#Types.GeographicalOrientation)
2828
- [Extensions](#Extensions)
29-
- [.FromKilometerTo()](#Extensions.FromKilometerTo)
30-
- [.FromMeterTo()](#Extensions.FromMeterTo)
31-
- [.FromMileTo()](#Extensions.FromMileTo)
32-
- [.GetGeographicalOrientation()](#Extensions.GetGeographicalOrientation)
33-
- [.ToRadian()](#Extensions.ToRadian)
34-
- [.ToDegree()](#Extensions.ToDegree)
35-
- [.ToDDPoint()](#Extensions.ToDDPoint)
29+
- [LengthConversionExtensions](#Extensions.LengthConversionExtensions)
30+
- [.FromKilometerToMeter()](#Extensions.FromKilometerToMeter)
31+
- [.FromKilometerToMile()](#Extensions.FromKilometerToMile)
32+
- [.FromKilometerTo()](#Extensions.FromKilometerTo)
33+
- [.FromMeterToKilometer()](#Extensions.FromMeterToKilometer)
34+
- [.FromMeterToMile()](#Extensions.FromMeterToMile)
35+
- [.FromMeterTo()](#Extensions.FromMeterTo)
36+
- [.FromMileToMeter()](#Extensions.FromMileToMeter)
37+
- [.FromMileToKilometer()](#Extensions.FromMileToKilometer)
38+
- [.FromMileTo()](#Extensions.FromMileTo)
39+
- [ConversionExtensions](#Extensions.ConversionExtensions)
40+
- [.GetGeographicalOrientation()](#Extensions.GetGeographicalOrientation)
41+
- [.ToRadian()](#Extensions.ToRadian)
42+
- [.ToDegree()](#Extensions.ToDegree)
43+
- [.ToDDPoint()](#Extensions.ToDDPoint)
3644
- [Objects](#Objects)
3745
- [GeoDDCoordinate](#Objects.GeoDDCoordinate)
3846
- [Deconstruct](#Objects.GeoDDCoordinate.Deconstruct)
@@ -125,10 +133,32 @@ public enum GeographicalOrientation
125133

126134

127135

136+
128137
### Extensions <a name="Extensions"></a>
129138
`namespace PowerUtils.Geolocation`
130139

131140

141+
#### LengthConversionExtensions <a name="Extensions.LengthConversionExtensions"></a>
142+
143+
144+
#### .FromKilometerToMeter() <a name="Extensions.FromKilometerToMeter"></a>
145+
Convert kilometers to meters (int, uint, long, ulong, float, double, decimal)
146+
147+
```csharp
148+
// result = 45_000
149+
var result = 45.FromKilometerToMeter();
150+
```
151+
152+
153+
#### .FromKilometerToMile() <a name="Extensions.FromKilometerToMile"></a>
154+
Convert kilometers to miles (float, double, decimal)
155+
156+
```csharp
157+
// result = 137.472_122
158+
var result = (221.24).FromKilometerToMile();
159+
```
160+
161+
132162
#### .FromKilometerTo() <a name="Extensions.FromKilometerTo"></a>
133163
Converting (double, decimal, float) numbers in kilometers to a new unit
134164

@@ -138,6 +168,24 @@ var result = 20.FromKilometerTo(DistanceUnit.Meter);
138168
```
139169

140170

171+
#### .FromMeterToKilometer() <a name="Extensions.FromMeterToKilometer"></a>
172+
Convert meters to kilometers (int, uint, long, ulong, float, double, decimal)
173+
174+
```csharp
175+
// result = 45
176+
var result = (45_000).FromMeterToKilometer();
177+
```
178+
179+
180+
#### .FromMeterToMile() <a name="Extensions.FromMeterToMile"></a>
181+
Convert meters to kilometers (float, double, decimal)
182+
183+
```csharp
184+
// result = 7.098204899547
185+
var result = (11_423.457).FromMeterToMile();
186+
```
187+
188+
141189
#### .FromMeterTo() <a name="Extensions.FromMeterTo"></a>
142190
Converting (double, decimal, float) numbers in meters to a new unit
143191

@@ -147,6 +195,24 @@ var result = 2.FromMeterTo(DistanceUnit.kilometer);
147195
```
148196

149197

198+
#### .FromMileToMeter() <a name="Extensions.FromMileToMeter"></a>
199+
Convert miles to meters (float, double, decimal)
200+
201+
```csharp
202+
// result = 356_050.3816
203+
var result = (221.24).FromMileToMeter();
204+
```
205+
206+
207+
#### .FromMileToKilometer() <a name="Extensions.FromMileToKilometer"></a>
208+
Convert miles to kilometers (float, double, decimal)
209+
210+
```csharp
211+
// result = 356.05038160000004
212+
var result = (221.24).FromMileToKilometer();
213+
```
214+
215+
150216
#### .FromMileTo() <a name="Extensions.FromMileTo"></a>
151217
Converting (double, decimal, float) numbers in miles to a new unit
152218

@@ -156,7 +222,11 @@ var result = 2.FromMileTo(DistanceUnit.kilometer);
156222
```
157223

158224

159-
#### .GetGeographicalOrientation() <a name="Extensions.GetGeographicalOrientation"></a>
225+
226+
#### ConversionExtensions <a name="Extensions.ConversionExtensions"></a>
227+
228+
229+
##### .GetGeographicalOrientation() <a name="Extensions.GetGeographicalOrientation"></a>
160230
Get the geographical orientation from a specific cardinal direction
161231

162232
```csharp
@@ -165,7 +235,7 @@ var result = CardinalDirection.North.GetGeographicalOrientation();
165235
```
166236

167237

168-
#### .ToRadian() <a name="Extensions.ToRadian"></a>
238+
##### .ToRadian() <a name="Extensions.ToRadian"></a>
169239
Convert degree to radian (PI / 180)
170240

171241
```csharp
@@ -174,7 +244,7 @@ var result = 11.ToRadian();
174244
```
175245

176246

177-
#### .ToDegree() <a name="Extensions.ToDegree"></a>
247+
##### .ToDegree() <a name="Extensions.ToDegree"></a>
178248
Convert radian to degree (180 / PI)
179249

180250
```csharp
@@ -183,7 +253,7 @@ var result = (0.19198621771937624).ToDegree();
183253
```
184254

185255

186-
#### .ToDegree() <a name="Extensions.ToDegree"></a>
256+
##### .ToDegree() <a name="Extensions.ToDegree"></a>
187257
Convert radian to degree (180 / PI)
188258

189259
```csharp
@@ -192,7 +262,7 @@ var result = (0.19198621771937624).ToDegree();
192262
```
193263

194264

195-
#### .ToDDPoint() <a name="Extensions.ToDDPoint"></a>
265+
##### .ToDDPoint() <a name="Extensions.ToDDPoint"></a>
196266
Convert decimal degree point (string) to decimal degree point (double)
197267

198268
```csharp
@@ -349,6 +419,18 @@ var longitude = GuardGeolocation.Against.Longitude(degree);
349419
## Release Notes
350420

351421

422+
### v1.1.0 - 2022/01/29
423+
424+
#### New features
425+
- Added new extension `.FromKilometerToMeter()`;
426+
- Added new extension `.FromKilometerToMile()`;
427+
- Added new extension `.FromMeterToKilometer()`;
428+
- Added new extension `.FromMeterToMile()`;
429+
- Added new extension `.FromMileToMeter()`;
430+
- Added new extension `.FromMileToKilometer()`;
431+
432+
433+
352434
### v1.0.0 - 2022/01/28
353435

354436
- Start project

src/ConversionExtensions.cs

Lines changed: 0 additions & 186 deletions
Original file line numberDiff line numberDiff line change
@@ -7,192 +7,6 @@ namespace PowerUtils.Geolocation
77
{
88
public static class ConversionExtensions
99
{
10-
/// <summary>
11-
/// Convert kilometers to a new unit
12-
/// </summary>
13-
/// <param name="length">Length in kilometers</param>
14-
/// <param name="unit">New unit</param>
15-
/// <returns>New length</returns>
16-
public static double FromKilometerTo(this double length, DistanceUnit unit)
17-
{
18-
switch(unit)
19-
{
20-
case DistanceUnit.Meter:
21-
return length * 1_000;
22-
case DistanceUnit.Mile:
23-
return length * 0.621_371;
24-
case DistanceUnit.kilometer:
25-
default:
26-
return length;
27-
}
28-
}
29-
30-
/// <summary>
31-
/// Convert kilometers to a new unit
32-
/// </summary>
33-
/// <param name="length">Length in kilometers</param>
34-
/// <param name="unit">New unit</param>
35-
/// <returns>New length</returns>
36-
public static decimal FromKilometerTo(this decimal length, DistanceUnit unit)
37-
{
38-
switch(unit)
39-
{
40-
case DistanceUnit.Meter:
41-
return length * 1_000;
42-
case DistanceUnit.Mile:
43-
return length * 0.621_371m;
44-
case DistanceUnit.kilometer:
45-
default:
46-
return length;
47-
}
48-
}
49-
50-
/// <summary>
51-
/// Convert kilometers to a new unit
52-
/// </summary>
53-
/// <param name="length">Length in kilometers</param>
54-
/// <param name="unit">New unit</param>
55-
/// <returns>New length</returns>
56-
public static float FromKilometerTo(this float length, DistanceUnit unit)
57-
{
58-
switch(unit)
59-
{
60-
case DistanceUnit.Meter:
61-
return length * 1_000;
62-
case DistanceUnit.Mile:
63-
return length * 0.621_371f;
64-
case DistanceUnit.kilometer:
65-
default:
66-
return length;
67-
}
68-
}
69-
70-
71-
72-
/// <summary>
73-
/// Convert meters to a new unit
74-
/// </summary>
75-
/// <param name="length">Length in meters</param>
76-
/// <param name="unit">New unit</param>
77-
/// <returns>New length</returns>
78-
public static double FromMeterTo(this double length, DistanceUnit unit)
79-
{
80-
switch(unit)
81-
{
82-
case DistanceUnit.kilometer:
83-
return length * 0.001;
84-
case DistanceUnit.Mile:
85-
return length * 0.000_621_371;
86-
case DistanceUnit.Meter:
87-
default:
88-
return length;
89-
}
90-
}
91-
92-
/// <summary>
93-
/// Convert meters to a new unit
94-
/// </summary>
95-
/// <param name="length">Length in meters</param>
96-
/// <param name="unit">New unit</param>
97-
/// <returns>New length</returns>
98-
public static decimal FromMeterTo(this decimal length, DistanceUnit unit)
99-
{
100-
switch(unit)
101-
{
102-
case DistanceUnit.kilometer:
103-
return length / 1_000;
104-
case DistanceUnit.Mile:
105-
return length * 0.000_621_371m;
106-
case DistanceUnit.Meter:
107-
default:
108-
return length;
109-
}
110-
}
111-
112-
/// <summary>
113-
/// Convert meters to a new unit
114-
/// </summary>
115-
/// <param name="length">Length in meters</param>
116-
/// <param name="unit">New unit</param>
117-
/// <returns>New length</returns>
118-
public static float FromMeterTo(this float length, DistanceUnit unit)
119-
{
120-
switch(unit)
121-
{
122-
case DistanceUnit.kilometer:
123-
return length / 1_000;
124-
case DistanceUnit.Mile:
125-
return length * 0.000_621_371f;
126-
case DistanceUnit.Meter:
127-
default:
128-
return length;
129-
}
130-
}
131-
132-
133-
134-
/// <summary>
135-
/// Convert miles to a new unit
136-
/// </summary>
137-
/// <param name="length">Length in miles</param>
138-
/// <param name="unit">New unit</param>
139-
/// <returns>New length</returns>
140-
public static double FromMileTo(this double length, DistanceUnit unit)
141-
{
142-
switch(unit)
143-
{
144-
case DistanceUnit.kilometer:
145-
return length * 1.60_934;
146-
case DistanceUnit.Meter:
147-
return length * 1_609.34;
148-
case DistanceUnit.Mile:
149-
default:
150-
return length;
151-
}
152-
}
153-
154-
/// <summary>
155-
/// Convert miles to a new unit
156-
/// </summary>
157-
/// <param name="length">Length in miles</param>
158-
/// <param name="unit">New unit</param>
159-
/// <returns>New length</returns>
160-
public static decimal FromMileTo(this decimal length, DistanceUnit unit)
161-
{
162-
switch(unit)
163-
{
164-
case DistanceUnit.kilometer:
165-
return length * 1.60_934m;
166-
case DistanceUnit.Meter:
167-
return length * 1_609.34m;
168-
case DistanceUnit.Mile:
169-
default:
170-
return length;
171-
}
172-
}
173-
174-
/// <summary>
175-
/// Convert miles to a new unit
176-
/// </summary>
177-
/// <param name="length">Length in miles</param>
178-
/// <param name="unit">New unit</param>
179-
/// <returns>New length</returns>
180-
public static float FromMileTo(this float length, DistanceUnit unit)
181-
{
182-
switch(unit)
183-
{
184-
case DistanceUnit.kilometer:
185-
return length * 1.60_934f;
186-
case DistanceUnit.Meter:
187-
return length * 1_609.34f;
188-
case DistanceUnit.Mile:
189-
default:
190-
return length;
191-
}
192-
}
193-
194-
195-
19610
/// <summary>
19711
/// Get the geographical orientation from a specific cardinal direction
19812
/// </summary>

0 commit comments

Comments
 (0)