示例#1
0
    private float[] EstimateMidpoint(GIS_Feature.Coordinates coordinates1, GIS_Feature.Coordinates coordinates2)
    {
        float mpLat, mpLong, mpLatAct, mpLongAct;

        mpLat     = (coordinates2.Latitude + coordinates1.Latitude) / 2;
        mpLong    = (coordinates2.Longitude + coordinates1.Longitude) / 2;
        mpLatAct  = 111139 * (mpLat - geolocation.Latitude);
        mpLongAct = 111139 * (mpLong - geolocation.Longitude);

        //TODO reference midpoint (In GPS coordinates format) to User GPS location and convert to Unity units.
        return(new float[] { mpLatAct, mpLongAct });
    }
示例#2
0
 /// <summary>
 /// Uses pythagorean theory to determine the angle between two XY GIS_Points in planar space
 /// </summary>
 /// <param name="coordinates1"></param>
 /// <param name="coordinates2"></param>
 /// <returns></returns>
 private float EstimateAngle(GIS_Feature.Coordinates coordinates1, GIS_Feature.Coordinates coordinates2)
 {
     return(Mathf.Rad2Deg * Mathf.Atan2(coordinates2.Latitude - coordinates1.Latitude, coordinates2.Longitude - coordinates1.Longitude));
 }
示例#3
0
 /// <summary>
 /// Uses pythagorean theory to determine length between two XY GIS_Points in planar space.
 /// </summary>
 /// <param name="coordinates1"></param>
 /// <param name="coordinates2"></param>
 /// <returns></returns>
 private float EstimateLength(GIS_Feature.Coordinates coordinates1, GIS_Feature.Coordinates coordinates2)
 {
     return(111139 * Mathf.Sqrt(Mathf.Pow(coordinates2.Latitude - coordinates1.Latitude, 2) + Mathf.Pow(coordinates2.Longitude - coordinates1.Longitude, 2)));
 }