现在正开发的定位模块用到的定位设置是塞格车圣导航设备,发送指令返回的经纬度需要进行转换,再到GIS系统获取地理信息描述。以后需要要经常用到这方面的知识,随笔写下。

将十进制数值转经纬度

公式:

Decimal Degrees = Degrees + minutes/60 + seconds/3600

例:57°55'56.6" =57+55/60+56.6/3600=57.9323888888888

如把经纬度  (longitude,latitude) (205.395583333332,57.9323888888888)转换据成坐标(Degrees,minutes,seconds)(205°23'44.1",57°55'56.6")。

步骤如下:

1、 直接读取"度":205

2、(205.395583333332-205)*60=23.734999999920 得到"分":23

3、(23.734999999920-23)*60=44.099999995200 得到"秒":44.1

发送定位指令,终端返回的经纬度信息如下:

(ONE072457A3641.2220N11706.2569E000.000240309C0000400)

按照协议解析

获得信息体的经纬度是主要,其它不要管,直接用String类的substring()方法截掉,获取的经纬度

3641.2220N11706.2569E

package com.tdt.test;

import com.tdt.api.gis.LocationInfo;

/**

*

Title:坐标转换

*

*

Description:

*

*

Copyright: Copyright (c) 2009

*

*

Company:

*

* @author sunnylocus

* @version 1.0 [2009-03-24]

*

*/

public class LonlatConversion {

/**

*

* @param dms 坐标

* @param type 坐标类型

* @return String 解析后的经纬度

*/

public static String xypase(String dms, String type) {

if (dms == null || dms.equals("")) {

return "0.0";

}

double result = 0.0D;

String temp = "";

if (type.equals("E")) {//经度

String e1 = dms.substring(0, 3);//截取3位数字,经度共3位,最多180度

//经度是一伦敦为点作南北两极的线为0度,所有往西和往东各180度

String e2 = dms.substring(3, dms.length());//需要运算的小数

result = Double.parseDouble(e1);

result += (Double.parseDouble(e2) / 60.0D);

temp = String.valueOf(result);

if (temp.length() > 9) {

temp = e1 + temp.substring(temp.indexOf("."), 9);

}

} else if (type.equals("N")) {//纬度,纬度是以赤道为基准,相当于把地球分两半,两个半球面上的点和平面夹角0~90度

String n1 = dms.substring(0, 2);//截取2位,纬度共2位,最多90度

String n2 = dms.substring(2, dms.length());

result = Double.parseDouble(n1);

result += Double.parseDouble(n2) / 60.0D;

temp = String.valueOf(result);

if (temp.length() > 8) {

temp = n1 + temp.substring(temp.indexOf("."), 8);

}

}

return temp;

}

public static void main(String[] args) {

String info="(ONE072457A3641.2220N11706.2569E000.000240309C0000400)";

info=info.substring(11,info.length()-13);

//纬度

String N = info.substring(0, info.indexOf("N"));

//经度

String E = info.substring(info.indexOf("N")+1,info.indexOf("E"));

//请求gis,获取地理信息描述

double x = Double.parseDouble(CoordConversion.xypase(E,"E"));

double y = Double.parseDouble(CoordConversion.xypase(N,"N"));

String result =LocationInfo.getLocationInfo("test", x, y); //System.out.println("径度:"+x+","+"纬度:"+y);

System.out.println(result);

}

}

运行结果

在济南市,位于轻骑路和八涧堡路附近;在环保科技园国际商务中心和济南市区贤文庄附近。

0

1

分享到:

2009-03-24 17:01

浏览 15794

评论

10 楼

vvczx

2015-11-03

楼主好人,求那个jar。谢谢啦、2313936326@qq.com

9 楼

liu1245621121

2015-09-08

楼主 好人 求包 1245621121@qq.com

8 楼

ningyuehuai

2015-07-01

楼主能把jar发我一份吗,邮箱:nyhitany@163.com   谢谢!

7 楼

975764577

2013-11-18

楼主,能把包发下给我吗? www.975764577@qq.com

6 楼

kele558

2013-11-06

能提供com.tdt.api.gis jar下载吗?

5 楼

liuliwy

2012-07-24

求那个jar包呀 楼主

邮箱是466210126@qq.com

4 楼

sunnylocus

2011-10-11

tangfei 写道

com.tdt.api.gis.LocationInfo;

这个类在哪儿呢?

这个方法封装成了一个jar包,里面太复杂了,没有贴上来。

3 楼

tangfei

2011-10-11

com.tdt.api.gis.LocationInfo;

这个类在哪儿呢?

2 楼

sunnylocus

2010-09-17

cyp5913 写道

兄弟咋哭了呢?

1 楼

cyp5913

2010-09-16

java gps_用Java解析GPS经纬度相关推荐

  1. Java获取照片的Exif信息,并解析GPS

    Java获取照片的Exif信息,并解析GPS 1. 效果图 2. 什么是Exif? 3. 源代码 参考 ❤️ 这篇博客将介绍什么EXIF,以及如何用Java语言读取Exif信息,并转换经纬度为位置信息 ...

  2. Exception in thread main java.lang.Error: 无法解析的编译问题: 方法 main 不能声明为 static;只能在静态类型或顶级类型中才能声明静态方法

    Exception in thread "main" java.lang.Error: 无法解析的编译问题: 方法 main 不能声明为 static:只能在静态类型或顶级类型中才 ...

  3. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  4. 你所需要的java基础篇深入解析大汇总

    java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 java基础(三) 加强型for循环与Iterator java基础(四) java运算顺序 ...

  5. java基础(八) 深入解析常量池与装拆箱机制

    ###引言 本文将介绍常量池 与 装箱拆箱机制,之所以将两者合在一起介绍,是因为网上不少文章在谈到常量池时,将包装类的缓存机制,java常量池,不加区别地混在一起讨论,更有甚者完全将这两者视为一个整体 ...

  6. java中注解的解析_【Java】中的注解与注解解析器

    /** * 该注解描述了作用范围 * java RetentionPolicy.SOURCE * java+class RetentionPolicy.CLASS * java+class+jvm R ...

  7. java解析xml实例_在java中使用dom解析xml的示例分析

    本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...

  8. 深入理解Java类加载器:Java类加载原理解析

    http://blog.csdn.net/zhoudaxia/article/details/35824249 1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpi ...

  9. JAVA中利用DOM解析XML文档

    JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...

  10. java 解析gson_使用Java和Google GSON解析ESPN API

    java 解析gson 在我的第一篇文章中,我将解释如何解析ESPN API. 可以在http://developer.espn.com/docs上找到API文档. 首先,您需要请求一个API密钥,然 ...

最新文章

  1. jQuery Mobile设置边距的宽度和颜色
  2. mysql处理字符串的两个绝招:substring_index,concat
  3. OnClickListener冲突的问题
  4. LeetCode每日打卡 - 反转每对括号间的子串
  5. STM32之ADC单通道单次例程
  6. linux cp 隐藏文件,如何用cp复制包含隐藏文件和隐藏目录及其内容?
  7. 【损失函数】常见的损失函数(loss function)总结
  8. 计算机4级学那些课程,计算机四级考试科目是什么
  9. Python基础--步长
  10. fast无线路由器设置服务器,迅捷(FAST)路由器静态ip上网设置方法
  11. python爬app西瓜视频_Python爬虫工程师面试题,采集头条西瓜视频
  12. puzzle(1411)《文字》拼单词、一字不落、汉字魔法
  13. [CF1503E]2-Coloring
  14. PHPNOW安装及使用
  15. go安装与hey压测
  16. Python 爬取携程所有机票
  17. 华为鸿蒙系统超级终端,华为发布鸿蒙OS Connect 打造鸿蒙硬件“超级终端”概念...
  18. Java解决校验区间值重复问题
  19. WWX的520(结构体排序)
  20. Mysql聚集索引和非聚集索引(堆组织表和索引组织表)

热门文章

  1. Mybatis源码阅读之一——工厂模式与SqlSessionFactory
  2. eclipse svn SSL 错误
  3. 熟知ios与android游戏渠道的区别,艾瑞:2013Q4中国iOS官方游戏分发渠道和Android游戏分发渠道产品榜单热门产品情况...
  4. 《英雄联盟》支撑最高750万同时在线用户的聊天服务打造
  5. 【NPC】5 顶点覆盖规约到独立集 团问题
  6. 刚刚,2020年中国信息通信技术服务大会盛大召开!
  7. STKX组件技术在星地链路中的仿真模式研究
  8. layui编辑器上传图片
  9. 使用Dosbox运行程序
  10. 计算机设备管理器驱动,驱动技巧:解决设备管理器中声卡驱动安装不正确的问题...