C# 经纬度转换 和 时间转换

来源:互联网 发布:silhouette软件 编辑:程序博客网 时间:2024/05/29 19:02
    /// <summary>    /// 版权(C),     /// 文件名称:OptaDataConvert.cs    /// 编写人员:    /// 编写日期:2012-06-01     /// 功能描述:转换帮助类    ///           1.时间转化    ///           2.经纬度转化    /// 更改历史:    /// </summary>        public class OptaDataConvert    {        /// <summary>        /// 时间转换        /// </summary>        /// <param name="value"></param>        /// <returns></returns>        public static DateTime GetDataTime(long value)        {            return new DateTime(1970, 1, 1).AddMilliseconds(value).AddHours(8);        }        /// <summary>        /// 获取经度        /// </summary>        /// <returns></returns>        public static string GetLongitudeValue(double value)        {            ArrayList arrList = LgetValid(value);            if (arrList == null)                return string.Empty;            if (arrList.Count != 3)                return string.Empty;            return string.Format("{0}°{1}.{2}' {3}", arrList[0], arrList[1], arrList[2], value > 0 ? "E" : "W");        }        /// <summary>        /// 获取纬度        /// </summary>        /// <returns></returns>        public static string GetLatitudeValue(double value)        {            ArrayList arrList = LgetValid(value);            if (arrList == null)                return string.Empty;            if (arrList.Count != 3)                return string.Empty;            return string.Format("{0}°{1}.{2}' {3}", arrList[0], arrList[1], arrList[2], value > 0 ? "N" : "S");        }        /// <summary>        /// 获取经纬度度分秒        /// </summary>        /// <param name="value"></param>        /// <returns></returns>        protected static ArrayList LgetValid(double value)        {            ArrayList aList = new ArrayList();            string excute = ChangeValue(value);            string[] sArray = excute.Split('|');            aList.Insert(0, sArray[0]);            aList.Insert(1, sArray[1]);            aList.Insert(2, sArray[2]);            return aList;        }        /// <summary>        /// 经纬度转换        /// </summary>        /// <param name="str">经度</param>        /// <param name="num">保留8位值</param>        /// <returns></returns>        protected static string ChangeValue(double degree)        {            if (degree < 0)            {                degree = -degree;            }            double minute = (degree - (int)degree) * 60;            double second = (minute - (int)minute) * 60;            return ((int)degree).ToString() + "|" + ((int)minute).ToString() + "|" + ((int)second).ToString();        }    }


 

原创粉丝点击