根据经纬度求两点间距离实现源码(java)
研究了一下Google
Map上的根据经纬度求地球表面两点间距离的实现, 用java实现了一把,对我国境内的Beijing54, Xian80,WGS84三种坐标系的空间距离计算感觉这个实现是比较准确的。当然,这里只是个人的感觉而已。。。可能我还没有遇到那种对精度要求非常严格的地方,或许,本身我这个方式就是错误的。。。呵呵。。。这里只是作个记号先。。。各位达人多多指教
package
com.geotools.test;
public class GeoUtils {
public
enum GaussSphere{
Beijing54,
Xian80,
WGS84,
}
private static double Rad(double d){
return d
* Math.PI / 180.0;
}
public double DistanceOfTwoPoints(double
lng1,double lat1,double lng2,double lat2,
GaussSphere gs){
double radLat1 = Rad(lat1);
double radLat2 = Rad(lat2);
double a = radLat1 - radLat2;
double b = Rad(lng1) -
Rad(lng2);
double s = 2 *
Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) +
Math.cos(radLat1) *
Math.cos(radLat2) * Math.pow(Math.sin(b/2),2)));
s = s * (gs ==
GaussSphere.WGS84 ? 6378137.0 : (gs == GaussSphere.Xian80 ? 6378140.0 :
6378245.0));
s = Math.round(s * 10000) / 10000;
return
s;
}
}
相关文档:
在使用hibernate或者spring的时候,我们往往通过配置文件配置数据库连接属性。但这次项目中并没有用到hibernate和spring,只用到了struts2。要如何实现通过读取文件配置获取属性值呢?ResourceBundle这个类可是实现读取properties文件来获取值
在java中:
public final static Object initLock = new Object();
privat ......
参考代码:
class SuperClass {
private int n;
SuperClass() {
System.out.println("SuperClass()");
}
SuperClass(int n) {
System.out.println("SuperClass(" + n + ")");
this.n = n;
}
}
class SubClass extends SuperClass {
private int n ......
好久没用java,突一写起来,发现机器上没有设置环境变量,把设置方法总结一下
1. 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本编辑器打开/etc/profile
·在pr ......
send mail use smtp .u can send text or html, send to many peoples if u have a email user and pwd and the smtp of the email which u use.
package org.lc.smtp;
import java.io.IOException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.mail.Message;
import javax.mai ......
注释的原则 1、 注释形式统一 在整个应用程序中,使用具有一致的标点和结构的样式来构造注释。如果在其他项目组发现他们的注释规范与这份文档不同,按照他们的规范写代码,不要试图在既成的规范系统中引入新的规范。 2、 注释的简洁 内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害。 ......