java经纬度格式_java经纬度格式转换

在数学中,表示角度的度、分、秒分别使用°、′、″符号进行表示。

1°=60′,1′=60″ ,1°=3600″。

由上述可知度分秒转换度的计算公式为:(dd°mm′ss″) dd+mm/60+ss/3600

如:

113°30′10.25″ = 113+30/60+10.25/3600 ≈113.502847

度分秒转度

/**

* 经纬度转换 ,度分秒转度

* @param str

* @author Cai_YF

* @return

*/

public static String Dms2D(String jwd){

if(StringUtil.isNotEmpty(jwd)&&(jwd.contains("°"))){//如果不为空并且存在度单位

//计算前进行数据处理

jwd = jwd.replace("E", "").replace("N", "").replace(":", "").replace(":", "");

double d=0,m=0,s=0;

d = Double.parseDouble(jwd.split("°")[0]);

//不同单位的分,可扩展

if(jwd.contains("′")){//正常的′

m = Double.parseDouble(jwd.split("°")[1].split("′")[0]);

}else if(jwd.contains("'")){//特殊的'

m = Double.parseDouble(jwd.split("°")[1].split("'")[0]);

}

//不同单位的秒,可扩展

if(jwd.contains("″")){//正常的″

//有时候没有分 如:112°10.25″

s = jwd.contains("′")?Double.parseDouble(jwd.split("′")[1].split("″")[0]):Double.parseDouble(jwd.split("°")[1].split("″")[0]);

}else if(jwd.contains("''")){//特殊的''

//有时候没有分 如:112°10.25''

s = jwd.contains("'")?Double.parseDouble(jwd.split("'")[1].split("''")[0]):Double.parseDouble(jwd.split("°")[1].split("''")[0]);

}

jwd = String.valueOf(d+m/60+s/60/60);//计算并转换为string

//使用BigDecimal进行加减乘除

/*BigDecimal bd = new BigDecimal("60");

BigDecimal d = new BigDecimal(jwd.contains("°")?jwd.split("°")[0]:"0");

BigDecimal m = new BigDecimal(jwd.contains("′")?jwd.split("°")[1].split("′")[0]:"0");

BigDecimal s = new BigDecimal(jwd.contains("″")?jwd.split("′")[1].split("″")[0]:"0");

//divide相除可能会报错(无限循环小数),要设置保留小数点

jwd = String.valueOf(d.add(m.divide(bd,6,BigDecimal.ROUND_HALF_UP)

.add(s.divide(bd.multiply(bd),6,BigDecimal.ROUND_HALF_UP))));*/

}

return jwd;

}

运行结果

2b6b065fe3d1e55d70cb2478f32aefe3.png

度分转度

/**

* 十进制经纬度转换 ddd°mm.mmmm 转 ddd.ddddd°

* 如:112°30.4128 = 112.50688

* @param str

* @author Cai_YF

* @return

*/

public static String DmTurnD(String jwd){

if(StringUtil.isNotEmpty(jwd)&&(jwd.contains("°"))){//如果不为空并且存在度单位

double d=0,m=0;

d = Double.parseDouble(jwd.split("°")[0]);

m = Double.parseDouble(jwd.split("°")[1])/60;

jwd = String.valueOf(d+m);

}

return jwd;

}

运行结果

f5217e62744059f598eec46533a5efa8.png

有待完善。。。!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android GPS及地磁传感器 API

Android 提供的位置包括经纬度和时间戳,可选地包含高度和方位,高度以WGS84椭球体为参照,方位以真北为参考。 地磁传感器以磁北为北。有2种传感器可提供方位信息:地磁场(Geomagnetic)传感器和方向&#xff0…

e3是合法浮点数吗_下面4个选项中,均是合法浮点数的选项是?

选B。b中的123是整数,不是浮点数,2e4.2的指数是4.2不满足浮点数的规则必须是整数,e5中的e不满足浮点数的规则,所以b中3个数均不是浮点数。a中的160、0.12是正确的,c中的123e4、0.0是正确的,d中的234、1e3是…

winform 菜单激发窗体切换做法

经常会用到类似于下图这样的winform窗体,其中点击各个菜单时于鏊做到内容窗体的切换,今天也记录一直切换的方法 在主窗体放置一个panal,所有的内容窗体均在改panal上呈现,实现以下方法 ///实例化主窗体 private void FrmSetup_Loa…

java 正则表达式 反向_正则表达式中的数量表示符、反向引用、零宽断言、以及java中的用法...

在表示数量时,如果一个正则表达式X,后面没有加表示数量的符号,那就默认出现一次。如果指定需要出现n次,那就用{n},例如a{n},就是匹配a出现n次的。a{n,}表示a出现至少n次的,而这个时候就会默认是贪婪模式&am…

cocos2d-x Lua与OC互相调用

1. Lua 调用OC 先看例子: hello.lua: -- 点击回调函数local function notifymenuCallbackTest()local luaoc require(luaoc)local ok, ret luaoc.callStaticMethod("RemoteRequestRouter", "notifyWatch", {params1 "NOTIFICATION_TO_H…

coldwallet java eth_wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账

wallet-eth-androidwallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账(bip39、bip32、bip44、web3j)生成钱包地址// 生成钱包地址Wallet wallet WalletManager.generateWalletAddress();// 根据助记词获取地址WalletManager.generateAddress(wallet.getMnemonic());// 通过…

Uva 10004(二分图的判定)

这题其实很简单的说,第一次用邻接表来存图 首先图的储存结构是结构体head数组。。。其实head数组保存的 struct node {int v;int next; }V[200*200]; 假设现在有u节点,v表示的是和他邻接的点,next保存的是v对应的编号,head数组保…

django配置在MySQL_怎么在Django中安装与配置mysql

怎么在Django中安装与配置mysql发布时间:2021-02-26 17:42:11来源:亿速云阅读:57作者:Leah本篇文章为大家展示了怎么在Django中安装与配置mysql,内容简明扼要并且容易理解,绝对能使你眼前一亮,通…

php 返回数组元素函数_php array_values 返回数组的所有值详解及实例

php array_valuesphp array_values 函数用于返回数组中所有的值,注意该函数将为新数组建立数组索引,原来的文字索引将不存在。本文章向大家讲解array_values函数的基本语法及使用实例。array_values 返回数组中所有的值基本语法:array array_…

0909 粗浅的认识编译原理

经过相关网页的浏览,也看到了各大网站中各方牛人的回答,我似乎对编译原理有了自己一点粗浅的认识。首先,编译原理及技术从根本上来讲就是对算法问题进行求解,这个问题十分复杂,更不用说其解决算法。 而本学期开的算法分…

PHP点歌插件,斗鱼弹幕点歌插件_小葫芦社区_小葫芦插件交流 - Powered by Discuz!

更新版本:3.3.7更新日期:2017-04-25更新日志:1. 修复 部分斗鱼房间无法连接弹幕的问题(主要是参与主播带你嗨购活动的主播)2. 修复 其他已知问题更新版本:3.2.16更新日期:2017-03-01更新日志:1. 修复 斗鱼弹…

Java字符串找出4个字节长度的字符

不解释,直接上代码: 由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符: Java代码 public class Byte4Check { public static void main…

java编写sql语句,java实现简单的给sql语句赋值的示例

代码本身很简单。拼接sql的时候?不好数,简单的用来赋值。/*** TODO 循环赋值,缺少的类型可随时添加* author Lucius* param pt* param list* throws SQLException*/public static void setParam(PreparedStatement pt, List list) throws SQLException{f…

div 左右并排,使用CSS如何让两个div并排显示

用CSS如何让两个DIV盒子并排体现呢?各人知道默认情况下DIV是独占一排的,DIV不设置任何CSS格局,这个DIV盒子都邑独有一行踊跃换行。运用CSS让两个DIV并排闪现,排成一排显示思空见贯方式有两种:1、运用display:inline2、…

ASP.NET MVC5 与EF6学习系列

最近学习使用MVC5和EF6,博客园搜索了一番,写下这篇文章记录,以便学习使用。 一、ASP.NET MVC5 网站开发 洞庭夕照写的博客系列 ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP.NET MVC5 网站开发实践(一) -…

耦合度和聚合度

简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小. 耦合性是程序结构中各个模块之间相互关联的度量.它取…

php 获取 省份缩写,php获取客户端IP,国家,省份,地区,ISP等信息

php获取客户端IP,国家,省份,地区,ISP等信息,首先获取获取客户端的公网ip,开始本地搭建的环境,本地访问获取到的是127.0.0.1,然后用138的接口可以实现curl模拟客户端访问 http://city.ip138.com/ip2city.asp 可看到真实客户端的ip。…

JStorm-介绍

1.概述 JStorm 是一个类似于 Hadoop 的MapReduce的计算系统,它是由Alibaba开源的实时计算模型,它使用Java重写了原生的Storm模型(Clojure和Java混合编写的),并且再原来的基础上做了许多改进。用户只需按照指定的接口实…

水印鲁棒性的分析matlab程序,图像数字水印+matlab程序

第三章 图像数字水印的方案3.1 图像数字水印的技术方案在数据库中存储在国际互联网上传输的水印图像一般会被压缩,有时达到很高的压缩比。因此,数字水印算法所面临的第一个考验就是压缩。JPEG和EZW(Embedded Zero-Tree Wavelet)压缩是最常见的两种压缩方…

又一个绝对棒的对话框插件fancybox v1.3.4

http://www.jsfoot.com/jquery/demo/2011-07-30/fancybox/index.html jquery插件:fancybox Fancybox的特点如下: 可以支持图片、html文本、flash动画、iframe以及ajax的支持可以自定义播放器的CSS样式可以以组的形式进行播放如果将鼠标滚动插件&#xff…