Distance Util : Geometry « Development Class « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Date Time
8.Design Patterns
9.Development Class
10.Event
11.File Stream
12.Generics
13.GUI Windows Form
14.Internationalization I18N
15.Language Basics
16.LINQ
17.Network
18.Office
19.Reflection
20.Regular Expressions
21.Security
22.Services Event
23.Thread
24.Web Services
25.Windows
26.Windows Presentation Foundation
27.XML
28.XML LINQ
C# / C Sharp » Development Class » GeometryScreenshots 
Distance Util
         
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace TrailMap.Utils
{
    public class DistanceUtil
    {
        #region Singlton
        private static DistanceUtil m_inst = null;
        public static DistanceUtil Inst
        {
            get
            {
                if (m_inst == null)
                {
                    m_inst = new DistanceUtil();
                }
                return m_inst;
            }
        
        #endregion

        public double Distance(double lat1, double lon1, double lat2, double lon2, char unit)
        {
            double theta = lon1 - lon2;
            double dist = Math.Sin(deg2rad(lat1)) * Math.Sin(deg2rad(lat2)) + Math.Cos(deg2rad(lat1)) * Math.Cos(deg2rad(lat2)) * Math.Cos(deg2rad(theta));
            dist = Math.Acos(dist);
            dist = rad2deg(dist);
            dist = dist * 60 1.1515;
            if (unit == 'K')
            {
                dist = dist * 1.609344;
            }
            else if (unit == 'N')
            {
                dist = dist * 0.8684;
            }

            if (dist > Double.MinValue && dist < Double.MaxValue)
            {
                return (dist);
            }
            else
            {
                return 0.0;
            }

        }

        //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
        //::  This function converts decimal degrees to radians             :::
        //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
        private double deg2rad(double deg)
        {
            return (deg * Math.PI / 180.0);
        }

        //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
        //::  This function converts radians to decimal degrees             :::
        //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
        private double rad2deg(double rad)
        {
            return (rad / Math.PI * 180.0);
        }
    }
}

   
    
    
    
    
    
    
    
    
  
Related examples in the same category
1.Convert Meters To Inches
2.Convert Meters To Miles
3.Get Steps FromD istance And Stride
4.Convert Miles To Meters
5.PointD
6.Calculate Gradient Angle
7.Convert Meters To Feet
8.Get distance between two points
9.Tests if two line segments intersect or not.
10.Sorts a graph by the dependencies.
11.Degrees To Radians
12.Radians To Degrees
13.Angles Difference
14.Degrees To Radians and Radians To Degrees
15.Get Distance From Steps
16.Meter to feet and feet to Mile
17.Distance From Point To Line
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.