CoordinateSharp v2.5.1.1 Release Notes

Release Date: 2020-03-31 // about 4 years ago

    ➕ Adds new application wide global settings specification. This feature should only be set once during application start up to change the library's default behaviors. These defaults may be overridden just like before in the Coordinate objects properties and constructors.

    0️⃣ Example: How to change the application wide default EagerLoad settings for Coordinate objects

    //Eagerload UTM/MGRS only by defaultGlobalSettings.Default\_EagerLoad = new EagerLoad(EagerLoadType.UTM\_MGRS);
    

    ➕ Adds a geo-fence drawer to assist with shape drawing. This will allow users to specify a starting point with a heading. Users may then "draw" points using specified distances and bearing changes.

    Example: How to draw a square starting from a Coordinate

    //Create a starting point with eager loading off to maximize performance.Coordinate c = new Coordinate(35.68919, 51.38897, new EagerLoad(false)); //Create the drawer with the Coordinate as a starting point and an initial heading of 0 degrees.//Earth shape is specified as ellipsoid to increase accuracy.GeoFence.Drawer gd = new GeoFence.Drawer(c, Shape.Ellipsoid, 0);//Draw the first 5km line using the initial heading specified (0 degrees change in heading)gd.Draw(new Distance(5), 0);//Draw the next 2 lines by turning 90 degrees at each new point.gd.Draw(new Distance(5), 90);gd.Draw(new Distance(5), 90);//Draw a line to the starting point to close the shape. //Turning 90 degrees may not end at the exact starting point due to bearing shift.gd.Close();//Iterate the created points in the shape//There will be five points. 1 starting, 3 middle and 1 end which is this same as the start point//since we closed the shapeforeach (var coord in gd.Points) { Console.WriteLine(coord); }
    

    Figure 1-1