地图坐标格式转换工具
地图坐标格式转换工具
1.经纬度转换 ,度转度分秒
/*** 经纬度转换 ,度转度分秒* @param str 度数 116.418847* @return 116°25'7.85"*/public static Integer[] changeToDFMArray(String str) {Integer[] dfmArray = new Integer[3];//[0] 度 ,[1] 分 ,[2] 秒try {double du = Convert.toDouble(str);int p = str.indexOf(".");int dt = Integer.parseInt(str.substring(0, p));du = du - dt;double M = du * 60;int mt = (int) M;M = (M - mt) * 60;if (Math.abs(M - 60) < 0.001) {//秒精确到小数点后三位,小于0.001向前进位,秒为0,分加1,分为60,度加1M = 0;mt = mt + 1;}if (mt == 60) {dt = dt + 1;mt = 0;}dfmArray[0] = dt;dfmArray[1] = mt;dfmArray[2] = (int) Math.round(M);// 四舍五入 小数点前整数进位} catch (Exception e) {log.error("小数格式度转度分秒异常:" + e.getMessage(), e);}return dfmArray;}
2.经纬度转换 ,度分秒转度
/*** 经纬度转换 ,度分秒转度* @param dfm 度分秒 116°25'7.85"* @return 度数 116.418847* @author Cai_YF*/public static String changeDFMToDu(String dfm) {if (StringUtil.isNotEmpty(dfm) && (dfm.contains("°"))) {//如果不为空并且存在度单位//计算前进行数据处理dfm = dfm.replace("E", "").replace("N", "").replace(":", "").replace(":", "");double d = 0, m = 0, s = 0;d = Double.parseDouble(dfm.split("°")[0]);//不同单位的分,可扩展if (dfm.contains("′")) {//正常的′m = Double.parseDouble(dfm.split("°")[1].split("′")[0]);} else if (dfm.contains("'")) {//特殊的'm = Double.parseDouble(dfm.split("°")[1].split("'")[0]);}//不同单位的秒,可扩展if (dfm.contains("″")) {//正常的″//有时候没有分 如:112°10.25″s = dfm.contains("′") ? Double.parseDouble(dfm.split("′")[1].split("″")[0]) : Double.parseDouble(dfm.split("°")[1].split("″")[0]);} else if (dfm.contains("''")) {//特殊的''//有时候没有分 如:112°10.25''s = dfm.contains("'") ? Double.parseDouble(dfm.split("'")[1].split("''")[0]) : Double.parseDouble(dfm.split("°")[1].split("''")[0]);}dfm = String.valueOf(NumberUtil.round(d + m / 60 + s / 60 / 60, 4));//计算并转换为string}return dfm;}
3.对角坐标转成面数据
/*** 对角坐标转成面数据* @param pointLeftOn 左对角坐标(英文逗号或空格分割,两种符号不可同时存在)(x1 y1)* @param pointRightDown 右对角坐标(英文逗号或空格分割,两种符号不可同时存在)(x2 y2)* @return POLYGON((x1 y1, x1 y2, x2 y2, x2 y1, x1 y1))*/public static String PointToPolygon(String pointLeftOn, String pointRightDown) {String x1 = null;//左对角经度String x2 = null;//右对角经度String y1 = null;//左对角纬度String y2 = null;//右对角纬度if (pointLeftOn != null && pointRightDown != null) {if (pointLeftOn.contains(",")) {String[] split = pointLeftOn.split(",");x1 = split[0];y1 = split[1];}if (pointLeftOn.contains(" ")) {String[] split = pointLeftOn.split(" ");x1 = split[0];y1 = split[1];}if (pointRightDown.contains(",")) {String[] split = pointRightDown.split(",");x2 = split[0];y2 = split[1];}if (pointRightDown.contains(",")) {String[] split = pointRightDown.split(",");x2 = split[0];y2 = split[1];}}return "POLYGON((" + x1 + " " + y1 + ", " + x1 + " " + y2 + ", " + x2 + " " + y2 + ", " + x2 + " " + y1 + ", " + x1 + " " + y1 + "))";}
地图坐标格式转换工具相关推荐
- 3D格式转换工具HOOPS Exchange最全技术指南(三):4大功能特征与典型使用场景
什么是 HOOPS Exchange? HOOPS Exchange 是一组软件库,可以帮助开发人员在开发应用程序时读取和写入主流的 2D 和 3D 格式.HOOPS Exchange 支持 在主流的 ...
- 经纬度转小数格式 java_经纬度格式转换工具
经纬度格式转换工具利用公式在线将经纬度的常用表示方式如113.211°转换成为度分秒为单位的表示方式,如113度12分39秒. function ChangeToDFM() { var du = do ...
- pcm 采样率转换_Cool Audio Video Converter(音视频格式转换工具)V2.18 最新版 - 绿色先锋下载 -...
Cool Audio Video Converter(音视频格式转换工具)是一款十分优秀好用的音频格式转换助手.如果你需要一款好用的格式转换工具,小编带来的这款Cool Audio Video Con ...
- 视频格式转换工具使用
还记得世界杯期间的那个"神奇教练"米卢吗?在给球员讲解战术.观摩对手比赛的时候,他总是喜欢随身携带一个小巧的摄像机.的确,有些摄像机重量很轻,几乎与普通照相机相仿,拍摄.携带和输出 ...
- c语言bmp转换jpeg_PDF格式转换工具
Cisdem PDF Converter OCR for Mac是一款Mac平台的PDF格式转换工具,可以帮助我们将PDF格式的文件转换成Word, Text, Excel, ePub, Keynot ...
- 有什么免费的视频格式转换工具?快试试这4款,堪称“良心”工具
无论是在娱乐.学习还是工作中,我们都有离线观看视频的需求,然而有些视频格式系统自带的播放软件不支持,这个时候就需要转换视频格式,有什么免费的视频格式转换工具呢?下面给大家分享4款. 我们要分享的第一款 ...
- 【强大的PDF格式转换工具】Lighten PDF Converter OCR for Mac 6.2.0
[简介] Lighten PDF Converter OCR 是一款Mac上强大的PDF格式转换工具,可以将PDF文档快速批量的转换为Office (Word, Excel, PowerPoint), ...
- 图片转为JPG格式,Windows上好用的格式转换工具
生活中我们身边总有各种各样的图片格式,但常用的只有几种.然而,jpg格式是最常用的格式.由于jpg兼容性高,不管是传输还是查阅都比较方便.相信也有朋友遇到过图片打不开的情况,可能只是因为图片格式不对. ...
- 免费的多功能视频格式转换工具XMedia Recode
由于不同的设备对视频格式的支持程度不一样,同一个视频可能不能在每台设备上都正常播放,视频格式转换工具这时候就派上了用场.需要切换成中文只需要点开菜单栏点开options-preference-lang ...
最新文章
- 最新网络工程师考试大纲
- 小工匠聊架构-超高并发秒杀系统设计 06_数据一致性
- C++调用python(C++)
- js添加多个子节点_DOM节点
- 原创第13篇~while循环
- 【渝粤教育】国家开放大学2019年春季 2610药剂学 参考试题
- 蓝桥杯省赛2014年Java组B组
- VC++消息钩子编程
- 关于下载的wide形式的数据(横轴为地区,纵轴为年份)批量转换为long形式的代码(stata版)
- 转载:通过 Firefox 扩展为 Google Calendar 加密
- 股票实时行情接口如何获得快照历史数据?
- 苹果vpn是下一件大事
- 燃油经济性加速时间曲线matlab,汽车理论课后习题Matlab程序详解
- 1月份国产手机出货量大幅下滑,iPhone却逆势增100万
- java 使用 Amazon SES 发送电子邮件
- python控制微信屏蔽_Python之微信消息防撤回
- ESPIDF开发ESP32学习笔记【基本内容】
- cjson构建_cJSON对象的构建
- 三、python实现模拟退火算法
- 2、Eclipse安装与使用
热门文章
- 太阳的光和灯光有什么区别_太阳光跟星光是一样的吗?两者有什么差异?
- 基于Spark平台的协同过滤实时电影推荐系统
- MATLAB自动驾驶工具箱——卡尔曼运动跟踪示例解读
- Docker 快速验证 HTML 导出 PDF 高效方案
- 保密相册计算机,加密相册 - 保密计算机私密云相册 on the App Store
- 《天幕红尘》笔记与思考(五)强势文化与弱势文化
- unix 文件清理一例
- PROFINET基础知识介绍
- ES6中Generator函数
- 大班科学计算机的发明应用教案,大班教案时钟的发明_大班科学教案:时钟的秘密...