資源簡介
最近出了一個這樣的需求,需要把幾百萬的數(shù)據(jù),進(jìn)行地址,進(jìn)行經(jīng)緯度轉(zhuǎn)換
百度api可以直接實(shí)現(xiàn) 缺點(diǎn):需要收費(fèi),然后看了下價格,有點(diǎn)貴,老板肯定不愿意出錢,那沒辦法了,只能自己進(jìn)行數(shù)據(jù)爬取

代碼片段和文件信息
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?=?““;//?百度地圖經(jīng)緯度反顯秘鑰
/**?查詢百度接口地址轉(zhuǎn)經(jīng)???*/
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();
}
/**
?*?獲取百度接口地址轉(zhuǎn)經(jīng)緯度
?*/
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;
}
/**
?*?獲取百度地圖的經(jīng)緯度
?*?
?*?@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“);?//?設(shè)置編碼
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;
}
/**
?*?坐標(biāo)轉(zhuǎn)換,騰訊地圖轉(zhuǎn)換成百度地圖坐標(biāo)
?*?
?*?@param?lat
?*????????????騰訊緯度
?*?@param?lon
?*????????????騰訊經(jīng)度
?*?@return?返回結(jié)果:經(jīng)度,緯度
?*/
public?static?String?map_tx2bd(double?lon?double?lat)?{
double?bd_lat;//?緯度
double?bd_lon;//?經(jīng)度
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
評論
共有 條評論