Skip to content

Releases: Tronald/CoordinateSharp

v2.17.1.1

26 Mar 02:58
5db1327
Compare
Choose a tag to compare

-Adds ability to operate Coordinate objects in the environment's local time by default.

//Set at application startup
GlobalSettings.Allow_Coordinate_DateTimeKind_Specification = true;

//EST Date 21-MAR-2019 @ 07:00 AM Local
DateTime d = new DateTime(2017,3,21,7,0,0);
Coordinate c = new Coordinate(40.57682, -70.75678, d);
.CelestialInfo.SunRise.ToString(); //Outputs 3/21/2017 06:45:00 AM

-Update branding package & license.

v2.16.1.1

26 Feb 02:40
2c66850
Compare
Choose a tag to compare

Deprecates UTM and MGRS ToCentimeterString() and replaces with ToRoundedString(int precision) overload that allows user to specify desired centimeter precision. Closes Issue 208.

Coordinate c = new Coordinate(40.57682, -70.75678);
c.MGRS.ToRoundedString(); // Outputs 19T CE 51308 93265
c.MGRS.ToRoundedString(5); // Outputs 19T CE 51307.55707 93264.83597

Creates Astrological Sign Enumerators and fixes spelling issues. Closes Issue 210 and Issue 211

Add ability to set a default datum other that WGS84 by setting an application wide Equatorial Radius (Semi-Major Axis) and Inverse Flattening value.

GlobalSettings.Set_DefaultDatum(Earth_Ellipsoid_Spec.Airy_1830);

//OR
GlobalSettings.Set_DefaultDatum(Earth_Ellipsoid.Get_Ellipsoid(Earth_Ellipsoid_Spec.Airy_1830));

//OR
GlobalSettings.Default_EquatorialRadius = 6377563.396;
GlobalSettings.Default_InverseFlattening = 299.3249646;

v2.15.2.1

13 Dec 01:49
bc55851
Compare
Choose a tag to compare

2.15.2.1 Release

-Adds GEOREF conversions.

Coordinate c = new Coordinate(45, 64);
//Default output set at precision 6
Console.WriteLine(c.GEOREF.ToString()); //SKEA000000000000

//Override output precision via override
Console.WriteLine(c.GEOREF.ToString(2)); //SKEA0000

-Adds ability to restrict parsable formats.

OPTION 1

Set the default allowable parse formats at application start up. This will restrict what Coordinate.Parse can actually parse. Using a system parse call will override this however (ex WebMercator.Parse).

//Restrict parsable formats to Lat/Long, UTM and MGRS.
GlobalSettings.Default_Parsable_Formats = Allowed_Parse_Format.Lat_Long |  
     Allowed_Parse_Format.UTM | Allowed_Parse_Format.MGRS;

OPTION 2

Restrict parsable formats in the Coordinate.Parse() or Coordinate.TryParse() calls.

//Restrict parse format to Lat Long and MGRS only. This example will fail, even though it is a Web Mercator formatted string.
Allowed_Parse_Format formats = Allowed_Parse_Format.Lat_Long | Allowed_Parse_Format.MGRS;
Coordinate c = Coordinate.Parse("91 1", formats);

-Adds .NET 7.0 targets.
-Fixes minor parse bugs related to ECEF and eager loading.
-Documentation fixes.

v2.14.2.1

24 Sep 17:13
0f006ea
Compare
Choose a tag to compare

BREAKING CHANGE

-Adds Web Mercator EPSG:3857 conversions (for use in mapping applications). Benchmarks changes minimal, but may slightly impact performance in certain use cases. Eager Loading settings may need to be adjusted for users that prefer Lazy Loading.

Conversions follow software standard methods.

Coordinate c = new Coordinate(45, 64);
Console.WriteLine(c.WebMercator.ToString()); //7124447.411mE 5621521.486mN
		
c = Coordinate.Parse("3624447.411 2721521.486");
Console.WriteLine(c.ToString()); //N 23º 44' 17.003" E 32º 33' 32.274"

-Adds .NET 6.0 targets
-Removes obsolete UTM/MGRS boundary check property.
-Documentation updates to clarify expected ECEF precision.
-Updates commercial license (does not effect existing lifetime license holders).

v2.14.1.1-BETA

28 Aug 01:21
6f8e635
Compare
Choose a tag to compare
v2.14.1.1-BETA Pre-release
Pre-release

BREAKING CHANGE

-Adds Web Mercator EPSG:3857 conversions (for use in mapping applications). Benchmarks changes minimal, but may slightly impact performance in certain use cases. Eager Loading settings may need to be adjusted for users that prefer Lazy Loading.

Conversions follow software standard methods.

Coordinate c = new Coordinate(45, 64);
Console.WriteLine(c.WebMercator.ToString()); //7124447.411mE 5621521.486mN
		
c = Coordinate.Parse("3624447.411 2721521.486");
Console.WriteLine(c.ToString()); //N 23º 44' 17.003" E 32º 33' 32.274"

-Adds .NET 6.0 targets
-Removes obsolete UTM/MGRS boundary check property.
-Documentation updates to clarify expected ECEF precision.

v2.13.1.1

07 Apr 19:47
aff5b9a
Compare
Choose a tag to compare

Adds .NET 5.0 Targets

v2.12.1.1

27 Sep 17:50
31132fd
Compare
Choose a tag to compare

Adjust UTC validation from -12/+12 to -12/+14 to account for countries extending IDL. Crucial update for local time operation in these regions.

v2.11.1.1

05 Jul 18:11
51a40b7
Compare
Choose a tag to compare

Updates MGRS documentation.
Updates licenses for purchasing clarification (no end user impact).

v2.10.2.2

31 May 23:52
bb10102
Compare
Choose a tag to compare
  • Adds lunar phase name enum. Coordinate.CelestialInfo.MoonIllum.PhaseNameEnum to provide a reliable method to tap into phase names (does not rely on library's returned string).

v2.10.1.1

15 Mar 21:34
4b656ec
Compare
Choose a tag to compare
  • Adds distance to boundary feature to GeoFence class.
Distance d = geoFence.DistanceFromNearestPolyline(coordinate);
  • Add standard Earth Ellipsoid Specification values, allowing users to specify "datum" enums vs entering radius/flattening values if changing earth shape from standard WGS84. This will adjust UTM/MGRS conversions from lat/long.
coordinate.Set_Datum(Earth_Ellipsoid_Spec.GRS80_1979);
  • Adds system specific parsers, allowing more control over string parsing.
MilitaryGridReferenceSystem mgrs;
MilitaryGridReferenceSystem.TryParse(coordString, out mgrs);
MilitaryGridReferenceSystem.TryParse(coordString, Earth_Ellipsoid_Spec.WGS72_1972, out mgrs);
  • Fixes bug causing UTM calculations to not consistently convert when operating outside of WGS84.