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; } }
相关推荐
本文将详细介绍如何使用Java实现WGS84坐标与Google地图坐标、百度地图坐标之间的转换,并且会探讨相关的理论背景以及如何在实际项目中应用这些工具类。 首先,WGS84(World Geodetic System 1984)是一种全球通用的...
GPS坐标系转换成百度坐标系 经过验证很准确 希望能给你有所帮助。
通过GPS坐标的经纬度,经计算返回一组百度坐标数据,简单方便
此文件为纯java编写的GPS坐标转换到高德地图坐标,直接将文件添加到工程目录,调用转换函数即可,输入是double类型,输出是double数组,注意:输入输出数据的单位都是度。
本项目提供了一个Java实现的工具,用于将常见的坐标系,包括百度坐标系(BD-09)、高德坐标系(GCJ-02)以及WGS84经纬度坐标,转换为广泛使用的墨卡托坐标系。以下将详细阐述这些坐标系以及转换过程中的关键知识点。...
因此,我们需要一个转换算法,将原始GPS坐标(WGS84)转换为百度坐标(BD-09)。 “GPSConvertBaiDu”项目提供的就是一个这样的转换工具。在Java编程语言中实现,它可能包含以下几个关键部分: 1. **坐标转换函数*...
下面将详细阐述这两种坐标系统以及它们之间的转换方法,并提供基于JAVA的源代码实现。 首先,GPS坐标系统,也被称为WGS84(World Geodetic System 1984),是一种全球性的大地坐标系统。它由经度、纬度和海拔三个...
自己写的wgs84坐标转成北京54坐标,java源码,本人已经测试过,能用,首先要找一个坐标软件求得七参(随便一个坐标软件都行),然后再用此源码进行坐标转换,
描述中提到的具体转换代码可能是一个Java或Kotlin函数,用于将GPS坐标解密并调整到百度坐标系统。转换算法可能包括一些固定的偏移值和特定的数学公式,比如Helmert变换或者Mercator投影等。 标签“android gps”...
本话题主要探讨如何使用Java编程语言实现火星坐标系(也称GCJ-02坐标系)与WGS-84(World Geodetic System 1984)坐标系之间的转化。这两个坐标系在中国大陆地图应用中尤其重要,因为根据中国法规,公开发布的地理...
在Android开发中,涉及到地图应用时,经常需要处理不同坐标系之间的转换,特别是GPS坐标与地图服务提供商坐标之间的转换。本文主要聚焦于Android系统中如何将GPS获取的坐标转换为适用于高德地图的坐标。 首先,我们...
7. **源代码**:提供的Java源代码如`Co_transformation.java`, `Test.java`, `Test_7cansu.java`, `Xiamen_cotrans.java`等,应该是实现了上述坐标转换算法的程序。`BLH.java`, `XYZ.java`, `Pxyz.java`可能是处理...
本篇文章将详细阐述高德、百度坐标系与天地图坐标系之间的转换方法,并探讨这种转换的重要性。 首先,我们要理解坐标系的基本概念。在地理信息系统中,坐标系是用于定义地球上任何位置的数学框架。常见的全球坐标系...
总之,百度、高德和WGS84坐标系之间的转换涉及到复杂的数学运算,而`coordtransform.js`和`CoordTransform.java`正是解决这一问题的代码实现。它们使得开发者能够在不同坐标系统间灵活地进行数据转换,适应不同的...
在标题提到的"百度坐标、高得坐标、WGS84坐标转换 js java C#"中,涉及到了三种常用的坐标系统:百度坐标(BD-09)、高德坐标(GCJ-02)以及全球广泛使用的WGS84坐标系统。这些坐标系统之间的转换对于地图应用、定位...
**坐标纠偏**通常是指在从GPS设备获取到原始WGS84坐标后,将其转换为GCJ-02或BD-09坐标的过程,因为在国内,直接使用WGS84坐标可能会导致位置信息的不准确。在`CoordinateConvert.java`文件中,可能包含将WGS84坐标...
本文将深入探讨坐标转换的基本概念、常用方法以及C++实现的相关知识点。 一、坐标系统简介 1. 坐标系统:地球表面的空间位置通常用坐标系统来表示,常见的有地心地固坐标系(如WGS84)、参心地固坐标系(如CGCS2000...
2. **坐标纠偏**:由于国内的安全考虑,百度和高德地图的坐标进行了加密偏移处理,这导致直接将WGS84坐标转换为这些系统时会出现位置偏差。因此,"纠偏"就是指通过特定算法解密这些加密坐标,以获得准确的位置。 3....
7. **应用范围**:这个工具对于需要在不同坐标系间进行数据交互的开发者或者GIS专业人士非常有用,例如,从WGS84坐标系的OpenStreetMap数据转换成GCJ02坐标系,以便在中国地图服务上正确显示。 总的来说,这个...
它们可能采用了反编译百度或火星坐标算法,然后通过编程语言(如Python)实现,使得用户无需深入了解复杂的数学模型就能快速转换坐标。 "说明.txt"文件可能包含了工具的使用方法、注意事项以及转换的理论基础。用户...