//创建类实例
geocoder = new soso.maps.Geocoder(callbacks)
//地址解析
geocoder.getLocation("中国,北京,海淀区,海淀大街38号")
//反地址解析(经纬度到地名转换过程)
//创建对象实例
geocoder = new soso.maps.Geocoder()
//重新设置成功时的回调
geocoder.setComplete(function(result){
alert('成功:'+result.detail.address)
})
geocoder.setError(function(result){
alert('出错啦')
})
//创建坐标对象
可以用ggmap包中的geocode函数,比如geocode("tiananmen")/**
* 根据地址返回经纬度
* @param addr
* @return 返回经纬度数据, latLng[0]经度,latLng[1]维度
*/
public static String[] getCoordinate(String addr) {
String[] latLng = new String[2]
String address = null
try {
address = java.net.URLEncoder.encode(addr, "UTF-8")
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace()
}
String output = "csv"
//密钥可以随便写一个key=abc
String key = "abc"
String url = "http://maps.google.com/maps/geo?q=" + address + "&output=" + output + "&key=" + key
URL googleMapURL = null
URLConnection httpsConn = null
// 进行转码
try {
googleMapURL = new URL(url)
} catch (MalformedURLException e) {
e.printStackTrace()
}
try {
httpsConn = (URLConnection)googleMapURL.openConnection()
if (httpsConn != null) {
InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream(), "UTF-8")
BufferedReader br = new BufferedReader(insr)
String data = null
if ((data = br.readLine()) != null) {
String[] retList = data.split(",")
/*
* String latitude = retList[2]String longitude =
* retList[3]
*
* System.out.println("纬度"+ latitude)
* System.out.println("经度"+ longitude)
*/
if (retList.length >2 &&("200".equals(retList[0]))) {
latLng[0] = retList[2]
latLng[1] = retList[3]
}
}
insr.close()
}
} catch (IOException e) {
e.printStackTrace()
}
return latLng
}
R语言可以使用spatstat包中的spatstat.geom()函数来实现地理加权回归投影。spatstat.geom()函数接受一个经纬度矢量作为参数,然后根据给定的经纬度坐标,计算出一组投影坐标。这些投影坐标可以用于地理加权回归分析。