Skip to content

Releases: Tronald/CoordinateSharp

v2.24.2.1

14 Jul 20:59
8d77b0c
Compare
Choose a tag to compare

2.24.2.1
-Fixes critical bug causing exceptions near poles.

2.24.1.1
-Fixes bugs causing incorrect sun condition to report in circumpolar regions during slow transition at horizon.
-Adds overload to GeoFence.Denisfy() to allow custom specification of earth shape during point densification.

2.24.1.1 (bugged)

09 Jul 00:42
f464766
Compare
Choose a tag to compare

-Fixes bugs causing incorrect sun condition to report in circumpolar regions during slow transition at horizon.

Issue 167
Issue 239

-Adds overload to GeoFence.Denisfy() to allow custom specification of earth shape during point densification.

Issue 237

Available on Nuget

2.23.1.1

19 May 23:59
b04af81
Compare
Choose a tag to compare

Adds the ability to densify polylines to mitigate geofence spherical distortions over long distances.

nuget: https://www.nuget.org/packages/CoordinateSharp/2.23.1.1

//Create a four point GeoFence around Utah
List<GeoFence.Point> points = new List<GeoFence.Point>();

points.Add(new GeoFence.Point(41.003444, -109.045223));
points.Add(new GeoFence.Point(41.003444, -102.041524));
points.Add(new GeoFence.Point(36.993076, -102.041524));
points.Add(new GeoFence.Point(36.993076, -109.045223));
points.Add(new GeoFence.Point(41.003444, -109.045223));
      
GeoFence gf = new GeoFence(points);

// Densify the geofence to plot a coordinate every 5 kilometers using Vincenty to account for Earth's shape
gf.Densify(new Distance(5, DistanceType.Kilometers));

2.22.1.1

20 Feb 00:21
0e93934
Compare
Choose a tag to compare

-Adds Hours of Day DaySpan and Hours of Night NightSpan TimeSpan properties to the CelestialInfo class for easier calculation of total day and night hours for a date at a specified location.

Example:

Coordinate c = new Coordinate(-47, -122, new DateTime(2023, 9, 30));
c.Offset = -7;
         
Console.WriteLine("DAY SPAN: " + c.CelestialInfo.DaySpan.TotalHours); //12.5616666666667
Console.WriteLine("NIGHT SPAN: " + c.CelestialInfo.NightSpan.TotalHours); //11.4383333333333

v2.21.1.1

03 Dec 23:24
ef8382c
Compare
Choose a tag to compare

-Adds .NET 8.0 support.
-Adds magnitude and coverage properties to solar eclipse data.
-Adds umbral and penumbral magnitude properties to lunar eclipse data..
-Removes BinarySerialization from unit tests. Used JSON to store test object for eclipse comparison.
-Adds correctly named PartialEclipseEnd property to SolarEclipseDetails and deprecates incorrectly named property.
-Various documentation updates.

v2.20.1.1

02 Oct 01:30
758259f
Compare
Choose a tag to compare
  • Adds ability to estimate time of day from sun azimuth.
//Create a coordinate and specify a date.
Coordinate c = new Coordinate(49, -122, new DateTime(2023, 9, 30));

//Set local UTC offset as desired.
c.Offset = -7;
 
//Set current sun azimuth in degrees E of N
double az = 120;

//Determine time of day. Default azimuth accuracy error delta is 1 degree by default, 
//but it is set at .5 for this example.
DateTime? t = Celestial.Get_Time_At_Solar_Azimuth(az, c, .5);
           
Console.WriteLine($"{t}"); //9/30/2023 9:21:44 AM
  • Adds "out of bounds" check to UTM initialization, allowing users to detect over projection.
var utm = new UniversalTransverseMercator("Q", 61, 581943.5, 2111989.8);
utm.Out_Of_Bounds; //true.  zone 61 is outside of limits
  • Deprecates 'AstrologicalSigns' class and replaces with new 'AlmanacMoonName' class.

  • Various documentation fixes.

v2.19.1.1

26 Jul 00:26
ffd8e5c
Compare
Choose a tag to compare

-Fixes "Leap Year Bug" impacting celestial calculations and Julian date conversions prior to 1582 (pre-Gregorian).
-Exposes the Obliquity of Ecliptic value within the SolarCoordinate class.

v2.18.1.1

07 May 22:09
4e0d483
Compare
Choose a tag to compare

-Improves UTM and MGRS conversion efficiency by 13x.
-Adds ability create geofence from a specified GEOREF coordinate and precision level.
-Adds ability to locate GEOREF box corners based on a given precision level.
-Restricts GEOREF easting and northing minutes and seconds to 59.999... to comply with library standards.

Examples;

int precision = 6;

//Get GeoFence
GEOFENCE fence = georef.ToGeoFence(precision);

//Get Corners
GEOREF bl = georef.Get_BottomLeftCorner(precision);
GEOREF tr = georef.Get_TopRightCorner(precision);

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;