下载了好几个源程序都不能用,在他们的基础上经过我与公式的核对.现在将代码改成了java
以下是完整代码:绝对能用,我现在的项目中就用的这个.
package tms.base.systemlib;
@SuppressWarnings("unchecked")
public class GaussXYDeal {
// 由高斯投影坐标反算成经纬度
public static double[] GaussToBL(double X, double Y)//, double *longitude, double *latitude)
{
int ProjNo; int ZoneWide; 带宽
double[] output = new double[2];
double longitude1,latitude1, longitude0, X0,Y0, xval,yval;//latitude0,
double e1,e2,f,a, ee, NN, T,C, M, D,R,u,fai, iPI;
iPI = 0.0174532925199433; 3.1415926535898/180.0;
//a = 6378245.0; f = 1.0/298.3; //54年北京坐标系参数
a=6378140.0; f=1/298.257; //80年西安坐标系参数
ZoneWide = 6; 6度带宽
ProjNo = (int)(X/1000000L) ; //查找带号
longitude0 = (ProjNo-1) * ZoneWide + ZoneWide / 2;
longitude0 = longitude0 * iPI ; //中央经线<