package com.cz.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.text.ParseException; import sun.misc.BASE64Decoder; public class Gps2baidu { public static void main(String args[]) throws ParseException { System.out.println("haha"); String aaa=changgeXY("116.397428", "39.90923"); System.out.println(aaa); } public static String changgeXY(String xx, String yy) { try { Socket s = new Socket("api.map.baidu.com", 80); BufferedReader br = new BufferedReader(new InputStreamReader( s.getInputStream(), "UTF-8")); OutputStream out = s.getOutputStream(); StringBuffer sb = new StringBuffer( "GET /ag/coord/convert?from=0&to=4"); sb.append("&x=" + xx + "&y=" + yy); sb.append("&callback=BMap.Convertor.cbk_3976 HTTP/1.1\r\n"); sb.append("User-Agent: Java/1.6.0_20\r\n"); sb.append("Host: api.map.baidu.com:80\r\n"); sb.append("Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2\r\n"); sb.append("Connection: Close\r\n"); sb.append("\r\n"); out.write(sb.toString().getBytes()); String json = ""; String tmp = ""; while ((tmp = br.readLine()) != null) { // System.out.println(tmp); json += tmp; } int start = json.indexOf("cbk_3976"); int end = json.lastIndexOf("}"); if (start != -1 && end != -1&& json.contains("\"x\":\"")) { json = json.substring(start, end); String[] point = json.split(","); String x = point[1].split(":")[1].replace("\"", ""); String y = point[2].split(":")[1].replace("\"", ""); return (new String(decode(x)) + "," + new String(decode(y))); } else { System.out.println("gps坐标无效!!"); } out.close(); br.close(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 解码 * * @param str * @return string */ public static byte[] decode(String str) { byte[] bt = null; try { BASE64Decoder decoder = new BASE64Decoder(); bt = decoder.decodeBuffer(str); // System.out.println(new String (bt)); } catch (IOException e) { e.printStackTrace(); } return bt; } }
相关推荐
GPS坐标系转换成百度坐标系 经过验证很准确 希望能给你有所帮助。
Gps坐标系转换Java工具类WGS坐标与Google和百度坐标互转,偏差很小,与百度Api调用转换几乎相差无几,程序为Java程序,工具类直接传经纬度调用相应转换方法即可获取转换后的返回值
通过GPS坐标的经纬度,经计算返回一组百度坐标数据,简单方便
此文件为纯java编写的GPS坐标转换到高德地图坐标,直接将文件添加到工程目录,调用转换函数即可,输入是double类型,输出是double数组,注意:输入输出数据的单位都是度。
一些工具类代码块的标准代码,包括但不限于: 百度坐标系(BD-09)转WGS坐标(百度坐标...GCJ02(火星坐标系)转GPS84(火星坐标系的经度,火星坐标系纬度),WGS84坐标数组 纬度转换 经度转换 判断是否在国内,不在国内不做偏移
* * 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法 * * 将 BD-09 坐标转换成GCJ-02 坐标 * * @param * 百度转火星 * * bd_lat * @param bd_lon * @return */ public static GPS bd09_To_Gcj02...
收集的java坐标转换工具,包括WGS84、GCJ02B、BD09,及国内纠偏。 收集的java坐标转换工具,包括WGS84、GCJ02B、BD09,及国内纠偏。
Java代码,提取图片EXIF块中的GPS信息,转换为高德地图API的坐标,使用到metadata-extractor
目前 IoT 领域各种智能设备都可以采集 GPS 数据,但是设备采集到的GPS都是 WGS-84 坐标系数据,在国内不能直接用于在地图上显示,需要进行一定转换。...该坐标转化为 Java 版代码,Java 版本最低要求 Java 8。
一个简单的Java库,可基于将Lambert坐标转换为GPS WGS84坐标 安装 从源与gradle 安装gradle 用gradle assemble编译 将生成的build/libs/lambert-java.jar文件添加到您的项目中 宾特雷 用法 LambertPoint pt = ...
GNSS NMEA 格式的坐标(ddmm.mmmmm)转换为原始 GPS 格式
GCJ2000与WGS84坐标转换和GCJ2000与BD09坐标转换源码
GPS 原始坐标 (WGS-84)转百度BD09坐标系,适用于ddmm.mmmm或者dd.dddd格式转高德(GCJ)百度(BD09)坐标
转换方法来自于网上的一个C语言版本,我改写成java了,测试偏差不大,支持百度(bd09ll)和谷歌(gcj02)坐标互转 另附一个GPS到gcl02坐标的转换方法,不过貌似不准确 代码封装成jar了,在demo的libs目录下,希望对...
GPS坐标与大地坐标之间的转换 四参数法 已经经过验证 结果精确度很高
Android中,如何将火星坐标转换为标准的,已经讲标准的转换为火星坐标 Java语言编写,应用Android中GPS定位 略含说明文档.
WGS84与大地2000坐标系互换程序.pdf
gps2google和gps2baidu经纬度转换纠偏 为了国家安全,国内的各种在线地图都根据天朝测绘局标准统一对经纬度作了纠偏处理。 即所谓的GCJ-02坐标系,而百度更是在此基础上进行了二次加密形成了BD-09坐标系。本包所含...
集合了各个坐标系之间的转换,以及计算坐标直接的距离等多个方法
转换方法来自于网上的一个C语言版本,我改写成java了,测试偏差不大,支持百度(bd09ll)和谷歌(gcj02)坐标互转,附源码