1、度转度分秒算法

小数点后数字乘以60,再将得到的数的小数点后数字乘以60

例如:103.55685565

103.55685565 - 103 = 0.55685565

0.55685565  60 = 33.411339

0.411339  60 = 24.68034

结果为103度33份24.68034秒

2、度分秒转度算法

以度转度分秒方式反算

例如:103度33份24.68034秒

24.68034 / 60 = 0.411339

33.411339 / 60 = 0.55685565

103 +  0.55685565 = 103.55685565

有了转换公式就可以做一个转换工具,java实现:

package convertBLH;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;class frame1 extends JFrame{/*** */private static final long serialVersionUID = 1L;//输入输出框private JTextField textField1 = new JTextField(8);private JTextField textField2 = new JTextField(3);private JTextField textField3 = new JTextField(3);private JTextField textField4 = new JTextField(5);private JTextField textField5 = new JTextField(8);private JTextField textField6 = new JTextField(3);private JTextField textField7 = new JTextField(3);private JTextField textField8 = new JTextField(5);private JLabel label1 = new JLabel("度——————>度分秒");private JLabel label2 = new JLabel("度分秒——————>度");private JButton button1 = new JButton("转换");private JButton button2 = new JButton("转换");public frame1(){//设置窗体大小、位置JFrame frame = new JFrame("度分秒转换工具");frame.setSize(600,300);frame.setLocationRelativeTo(null);//定义面板容器JPanel contentpanel = new JPanel();contentpanel.setBorder(new EmptyBorder(5,5,5,5));frame.add(contentpanel);contentpanel.setLayout(null);JPanel panel = new JPanel();panel.setBounds(0,0,580,380);contentpanel.add(panel);panel.setLayout(null);//度转度分秒//设置标签label1.setBounds(220,10,200,28);panel.add(label1);//设置输入文本框textField1.setBounds(50,50,80,28);panel.add(textField1);//设置输出文本框textField2.setBounds(270,50,50,28);panel.add(textField2);textField3.setBounds(340,50,50,28);panel.add(textField3);textField4.setBounds(410,50,100,28);panel.add(textField4);//设置按钮button1.setBounds(150,50,100,28);button1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {//计算textfield2需要显示的数字Double iDouble = Double.parseDouble(textField1.getText());int i = iDouble.intValue();String string = String.valueOf(i);textField2.setText(string);//计算textfield3需要显示的数字double j1 = iDouble - i;Double j2 = j1 * 60;int j3 = j2.intValue();textField3.setText(String.valueOf(j3));//计算textField4double k1 = j2 - j3;Double k2 = k1 * 60;textField4.setText(String.valueOf(k2));}});panel.add(button1);//度分秒转度label2.setBounds(220,90,200,28);panel.add(label2);textField5.setBounds(50,130,50,28);panel.add(textField5);textField6.setBounds(120,130,50,28);textField7.setBounds(190,130,100,28);textField8.setBounds(430,130,80,28);panel.add(textField6);panel.add(textField7);panel.add(textField8);button2.setBounds(310,130,100,28);panel.add(button2);button2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {Double iDouble  = Double.parseDouble(textField7.getText());iDouble = iDouble / 60;iDouble = Double.parseDouble(textField6.getText()) + iDouble;iDouble = iDouble / 60;iDouble = iDouble + Double.parseDouble(textField5.getText());textField8.setText(iDouble.toString());}});frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}
}
public class ConvertBLH {public static void main(String[] args) {new frame1();}
}

运行效果:

另外,笔者做了一个批量转换工具,可读取坐标txt文件并自动识别度分秒转换方式,实现度与度分秒格式批量转换。

转换结果:

下载地址:链接:https://pan.baidu.com/s/1zwnjKlhtBoG2zuYQlIDeQw 提取码:o32b

用java实现经纬度坐标度分秒与度批量转换相关推荐

  1. 语言坐标度分秒的换算_测量位置度说明

    测量位置度说明 位置度是限制被测要素的实际位置对理想位置变动量的指标.它的定位尺寸为理论正确尺寸.位置度公差在评定实际要素位置的正确性, 是依据图样上给定的理想位置. 位置度包括点的位置度.线的位置度 ...

  2. linux java转码_用Linux shell脚本批量转换java源文件编码(支持命令行选项)

    最近在用ant给java项目打jar包,但是程序运行出来之后,全部乱码,于是想到用Linux的iconv命令给java源文件转码,但是总不能一个一个地转吧,效率太低下了,于是便写了个Linux she ...

  3. 批量转换json到java bean工具说明

    说明: Json已经在现代程序中使用的越来越多,把json字符串转换为java bean也越来越常见. 我之前写了一个小程序,使用java开发,批量把json转换为java bean,直接拷贝到项目中 ...

  4. java Date获取 年月日时分秒

    转载自   java Date获取 年月日时分秒 package com.util;import java.text.DateFormat; import java.util.Calendar; im ...

  5. 最新的全球78707个主要城市数据库,包含经纬度坐标值国家省份

    全世界78707个主要城市信息MYSQL数据库,包含经纬度坐标值,已经导出成了SQL文件,因为比较大,有10M,所以这里单独导出来,供升级失败的同学手工导入,如图: 这个数据主要是用于天气预报插件的, ...

  6. Android java时间戳转年月日时分秒(三十七)

    Android java时间戳转年月日时分秒 public String getCurrentTime(long value) {SimpleDateFormat format = new Simpl ...

  7. Java如何通过坐标值对一张PDF进行局部切割

    Java如何通过坐标值对一张PDF进行局部切割 使用Java代码对只有一页的PDF进行局部切割.部分切割. 我这里使用的jar依赖是: <dependency><groupId> ...

  8. swft 语言 java_2020年2月编程语言排行榜Java依旧稳坐榜首

    原标题:2020年2月编程语言排行榜Java依旧稳坐榜首 TIOBE公布了2月份编程语言排行榜.相比上个月编程语言Top 5并没有太大的变化,其中Java依旧稳坐榜首,随后分别是C.Python.C+ ...

  9. java时间格式年月日时分秒_java日期格式(年月日时分秒毫秒)

    java日期格式(年月日时分秒毫秒) 2020-08-13 07:09 阅读数 79 package test.remote.tools.combine; import java.text.Simpl ...

最新文章

  1. BZOJ 4827 [Hnoi2017]礼物 ——FFT
  2. C++ limits头文件
  3. C语言文件操作基本常识
  4. NVIDIA DIGITS 5.1-dev学习笔记之安装过程记录:Windows10 x64位系统 、 MicroSoft Caffe Master、CUDA 8.0 、Python 2.7
  5. java之RSA和Base64加密帮助类
  6. 菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)
  7. FAST算法学习笔记
  8. pythonjs语法_javascript基础语法(上)
  9. Mac 使用Quik Time Player为iPhone录屏后, iPhone状态条时间变为9:41
  10. 通过分析如何一个人的性格笔迹?
  11. paip.手机ROOT过程总结
  12. 数据中心监控软件 - ManageEngine OpManager
  13. 知识图谱系列(一):如何构建一个简单的知识图谱
  14. 奔图打印机驱动linux安装方法,奔图3100打印机驱动
  15. linux视频补帧,如何用 60 帧播放 24 帧的视频?
  16. android dropbox切换账户,在Android上自动同步Dropbox | MOS86
  17. 前端开发应收藏的各大网站
  18. Saas系统架构的思考,多租户Saas架构设计分析
  19. Labview文字识别-从训练到识别
  20. 微型计算机ALE,微型计算机技术课后习题一二三章答案

热门文章

  1. 最最最最终极办法!解决Idea乱码问题
  2. 17行代码AC——L1-030 一帮一 (15分)(解题报告)
  3. 中学计算机老师的英语,中学计算机老师的路在何方?
  4. 开关怎么使用_开关也能自发电?ebelong易百珑S2自发电无线开关曝光
  5. Kubernetes二进制部署——证书的制作和ETCD的部署
  6. android微信动画制作,动画制作轻量级SDK:PAG六大优势助力开发
  7. 编写字符串比较函数strcmp .
  8. catia圆管焊接焊接_CATIA焊接教程.ppt
  9. bim 模型web页面展示_BIM+装配式建筑工程师2020年必须拿下的技能证书
  10. arm linux 添加ntp服务,嵌入式linux添加NTP服务