资源简介
最近出了一个这样的需求,需要把几百万的数据,进行地址,进行经纬度转换
百度api可以直接实现 缺点:需要收费,然后看了下价格,有点贵,老板肯定不愿意出钱,那没办法了,只能自己进行数据爬取
代码片段和文件信息
package com.bx.common.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import net.sf.json.JSONobject;
import java.io.UnsupportedEncodingException;
import java.util.Random;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class InitialUtil {
public static final String STR_F = “f“;
public static final String STR_T = “t“;
private static final String ak = ““;// 百度地图经纬度反显秘钥
/** 查询百度接口地址转经�? */
public static String loadJSON(String url) {
StringBuilder json = new StringBuilder();
try {
URL oracle = new URL(url);
URLConnection yc = oracle.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String inputLine = null;
while ((inputLine = in.readLine()) != null) {
json.append(inputLine);
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
return json.toString();
}
/**
* 获取百度接口地址转经纬度
*/
public static String getLngAndLat(String address) {
String json = ““;
try {
String url = “http://api.map.baidu.com/geocoder/v2/?address=“ + address + “&city=北京�?&output=json&ak=“ + ak;
json = loadJSON(url);
} catch (Exception e) {
e.printStackTrace();
}
return json;
}
/**
* 获取百度地图的经纬度
*
* @param address
*/
public static String getcoorder(String address) {
// https://jingweidu.51240.com/
HttpClient httpClient = new HttpClient();
try {
String urlString = “https://apis.map.qq.com/jsapi?qt=geoc&addr=“ + getURLEncoderString(address);
GetMethod post = new GetMethod(urlString);
String randomIp = getRandomIp();
post.setRequestHeader(“X-Real-IP“ randomIp);
post.setRequestHeader(“X-Forwarded-For“ randomIp);
post.setRequestHeader(“Proxy-Client-IP“ randomIp);
post.setRequestHeader(“WL-Proxy-Client-IP“ randomIp);
post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET “utf-8“); // 设置编码
httpClient.executeMethod(post);
// System.out.println(post.getResponseBodyAsString());
JSONobject json = JSONobject.fromobject(post.getResponseBodyAsString());
JSONobject jsono = json.getJSONobject(“detail“);
System.out.println(json);
return map_tx2bd(Double.valueOf(jsono.get(“pointx“).toString()) Double.valueOf(jsono.get(“pointy“).toString()));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 坐标转换,腾讯地图转换成百度地图坐标
*
* @param lat
* 腾讯纬度
* @param lon
* 腾讯经度
* @return 返回结果:经度,纬度
*/
public static String map_tx2bd(double lon double lat) {
double bd_lat;// 纬度
double bd_lon;// 经度
double x_pi = 3.14159265358979324;
double x = lon y = lat;
double z = Math.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-14 16:25 InitialUtil\
文件 662 2018-12-14 16:25 InitialUtil\.classpath
文件 387 2018-12-14 16:39 InitialUtil\.project
目录 0 2018-12-14 16:23 InitialUtil\.settings\
文件 88 2018-12-14 16:23 InitialUtil\.settings\org.eclipse.core.resources.prefs
文件 598 2018-12-14 16:23 InitialUtil\.settings\org.eclipse.jdt.core.prefs
目录 0 2018-12-14 16:39 InitialUtil\bin\
目录 0 2018-12-14 16:39 InitialUtil\bin\com\
目录 0 2018-12-14 16:39 InitialUtil\bin\com\bx\
目录 0 2018-12-14 16:39 InitialUtil\bin\com\bx\common\
目录 0 2018-12-14 16:39 InitialUtil\bin\com\bx\common\util\
文件 6951 2018-12-14 16:39 InitialUtil\bin\com\bx\common\util\InitialUtil.class
文件 263965 2018-12-14 16:25 InitialUtil\commons-codec-1.9.jar
文件 305001 2018-12-14 16:25 InitialUtil\commons-httpclient-3.1.jar
文件 60686 2018-12-14 16:25 InitialUtil\commons-logging-1.1.1.jar
文件 93330 2018-12-14 16:25 InitialUtil\json-2.2.1.jar
文件 159123 2018-12-14 16:25 InitialUtil\json-lib-2.4-jdk15.jar
文件 5608004 2018-12-14 16:25 InitialUtil\json-parser_fat.jar
目录 0 2018-12-14 16:23 InitialUtil\src\
目录 0 2018-12-14 16:23 InitialUtil\src\com\
目录 0 2018-12-14 16:23 InitialUtil\src\com\bx\
目录 0 2018-12-14 16:23 InitialUtil\src\com\bx\common\
目录 0 2018-12-14 16:23 InitialUtil\src\com\bx\common\util\
文件 7532 2018-12-14 16:36 InitialUtil\src\com\bx\common\util\InitialUtil.java
- 上一篇:基于jsp的学生公寓管理系统的设计与实现
- 下一篇:电影评论系统
评论
共有 条评论