/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 大恒泰山系统
 * 创建日期:2022/12/16
 */
package org.springblade.utils;

/*** 
 * Date:2022/12/16
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
public class HelpTool {

	public static boolean isLetterDigit(String str) {
		String regex = "^[a-z0-9A-Z]+$";
		return str.matches(regex);
	}

	public static  Double tranformPos(String lng) {
		lng = lng
			.trim()
			.replace("g", "");
		if (lng.indexOf("o") >= 0 || lng.indexOf("°") >= 0 || lng.indexOf("°") >= 0 || lng.indexOf("°") >= 0) {
			lng = lng
				.trim()
				.replace("o", ":")
				.replace("°", ":")
				.replace("°", ":")
				.replace("°", ":")
				.replace("′", ":")
				.replace("'", ":")
				.replace("\"", "")
				.replace("″", "")
				.replace(".", ":");

			String[] lntArr = lng.split(":");
			Double result = 0D;
			if (lntArr.length == 1) {
				String[] lntArr2 = new String[3];
				lntArr2[0] = lntArr[0];
				lntArr2[1] = "0";
				lntArr2[2] = "0";
				lntArr = lntArr2;
			} else if (lntArr.length == 2) {
				String[] lntArr2 = new String[3];
				lntArr2[0] = lntArr[0];
				lntArr2[1] = lntArr[1];
				lntArr2[2] = "0";
				lntArr = lntArr2;
			}
			for (int i = lntArr.length; i > 0; i--) {
				String str = lntArr[i - 1];
				if (null != str) {
					str = str.trim();
					if (null != str && str.length() > 0) {
						double v = Double.parseDouble(str);
						if (i == 1) {
							result = v + result;
						} else {
							result = (result + v) / 60;
						}
					} else {
						double v = 0.0;
						if (i == 1) {
							result = v + result;
						} else {
							result = (result + v) / 60;
						}
					}
				} else {
					double v = 0.0;
					if (i == 1) {
						result = v + result;
					} else {
						result = (result + v) / 60;
					}
				}
			}
			return result;
		} else {
			String lng2 = lng;
			lng2 = lng2
				.trim()
				.replace(".", ":");
			String[] vs = lng2.split(":");
			if (vs.length > 1) {
				lng = lng
					.trim()
					.replace("o", ":")
					.replace("°", ":")
					.replace("°", ":")
					.replace("°", ":")
					.replace("′", ":")
					.replace("'", ":")
					.replace("\"", "")
					.replace("″", "")
					.replace(".", ":");

				String[] lntArr = lng.split(":");
				Double result = 0D;
				if (lntArr.length == 1) {
					String[] lntArr2 = new String[3];
					lntArr2[0] = lntArr[0];
					lntArr2[1] = "0";
					lntArr2[2] = "0";
					lntArr = lntArr2;
				} else if (lntArr.length == 2) {
					String[] lntArr2 = new String[3];
					lntArr2[0] = lntArr[0];
					lntArr2[1] = lntArr[1];
					lntArr2[2] = "0";
					lntArr = lntArr2;
				}
				for (int i = lntArr.length; i > 0; i--) {
					String str = lntArr[i - 1];
					if (null != str) {
						str = str.trim();
						if (null != str && str.length() > 0) {
							double v = Double.parseDouble(str);
							if (i == 1) {
								result = v + result;
							} else {
								result = (result + v) / 60;
							}
						} else {
							double v = 0.0;
							if (i == 1) {
								result = v + result;
							} else {
								result = (result + v) / 60;
							}
						}
					} else {
						double v = 0.0;
						if (i == 1) {
							result = v + result;
						} else {
							result = (result + v) / 60;
						}
					}
				}
				return result;
			} else {
				double v = Double.parseDouble(lng);
				return v;
			}

		}

	}
}
