地图坐标格式转换工具

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 + "))";}

地图坐标格式转换工具相关推荐

  1. 3D格式转换工具HOOPS Exchange最全技术指南(三):4大功能特征与典型使用场景

    什么是 HOOPS Exchange? HOOPS Exchange 是一组软件库,可以帮助开发人员在开发应用程序时读取和写入主流的 2D 和 3D 格式.HOOPS Exchange 支持 在主流的 ...

  2. 经纬度转小数格式 java_经纬度格式转换工具

    经纬度格式转换工具利用公式在线将经纬度的常用表示方式如113.211°转换成为度分秒为单位的表示方式,如113度12分39秒. function ChangeToDFM() { var du = do ...

  3. pcm 采样率转换_Cool Audio Video Converter(音视频格式转换工具)V2.18 最新版 - 绿色先锋下载 -...

    Cool Audio Video Converter(音视频格式转换工具)是一款十分优秀好用的音频格式转换助手.如果你需要一款好用的格式转换工具,小编带来的这款Cool Audio Video Con ...

  4. 视频格式转换工具使用

    还记得世界杯期间的那个"神奇教练"米卢吗?在给球员讲解战术.观摩对手比赛的时候,他总是喜欢随身携带一个小巧的摄像机.的确,有些摄像机重量很轻,几乎与普通照相机相仿,拍摄.携带和输出 ...

  5. c语言bmp转换jpeg_PDF格式转换工具

    Cisdem PDF Converter OCR for Mac是一款Mac平台的PDF格式转换工具,可以帮助我们将PDF格式的文件转换成Word, Text, Excel, ePub, Keynot ...

  6. 有什么免费的视频格式转换工具?快试试这4款,堪称“良心”工具

    无论是在娱乐.学习还是工作中,我们都有离线观看视频的需求,然而有些视频格式系统自带的播放软件不支持,这个时候就需要转换视频格式,有什么免费的视频格式转换工具呢?下面给大家分享4款. 我们要分享的第一款 ...

  7. 【强大的PDF格式转换工具】Lighten PDF Converter OCR for Mac 6.2.0

    [简介] Lighten PDF Converter OCR 是一款Mac上强大的PDF格式转换工具,可以将PDF文档快速批量的转换为Office (Word, Excel, PowerPoint), ...

  8. 图片转为JPG格式,Windows上好用的格式转换工具

    生活中我们身边总有各种各样的图片格式,但常用的只有几种.然而,jpg格式是最常用的格式.由于jpg兼容性高,不管是传输还是查阅都比较方便.相信也有朋友遇到过图片打不开的情况,可能只是因为图片格式不对. ...

  9. 免费的多功能视频格式转换工具XMedia Recode

    由于不同的设备对视频格式的支持程度不一样,同一个视频可能不能在每台设备上都正常播放,视频格式转换工具这时候就派上了用场.需要切换成中文只需要点开菜单栏点开options-preference-lang ...

最新文章

  1. 最新网络工程师考试大纲
  2. 小工匠聊架构-超高并发秒杀系统设计 06_数据一致性
  3. C++调用python(C++)
  4. js添加多个子节点_DOM节点
  5. 原创第13篇~while循环
  6. 【渝粤教育】国家开放大学2019年春季 2610药剂学 参考试题
  7. 蓝桥杯省赛2014年Java组B组
  8. VC++消息钩子编程
  9. 关于下载的wide形式的数据(横轴为地区,纵轴为年份)批量转换为long形式的代码(stata版)
  10. 转载:通过 Firefox 扩展为 Google Calendar 加密
  11. 股票实时行情接口如何获得快照历史数据?
  12. 苹果vpn是下一件大事
  13. 燃油经济性加速时间曲线matlab,汽车理论课后习题Matlab程序详解
  14. 1月份国产手机出货量大幅下滑,iPhone却逆势增100万
  15. java 使用 Amazon SES 发送电子邮件
  16. python控制微信屏蔽_Python之微信消息防撤回
  17. ESPIDF开发ESP32学习笔记【基本内容】
  18. cjson构建_cJSON对象的构建
  19. 三、python实现模拟退火算法
  20. 2、Eclipse安装与使用

热门文章

  1. 太阳的光和灯光有什么区别_太阳光跟星光是一样的吗?两者有什么差异?
  2. 基于Spark平台的协同过滤实时电影推荐系统
  3. MATLAB自动驾驶工具箱——卡尔曼运动跟踪示例解读
  4. Docker 快速验证 HTML 导出 PDF 高效方案
  5. 保密相册计算机,‎加密相册 - 保密计算机私密云相册 on the App Store
  6. 《天幕红尘》笔记与思考(五)强势文化与弱势文化
  7. unix 文件清理一例
  8. PROFINET基础知识介绍
  9. ES6中Generator函数
  10. 大班科学计算机的发明应用教案,大班教案时钟的发明_大班科学教案:时钟的秘密...