mercator.java

来自「geotools的源码」· Java 代码 · 共 40 行

JAVA
40
字号
package uk.ac.leeds.ccg.geotools.projections;

public abstract class Mercator implements Projection
{
    public double[] project(double lon,double lat){
        //do magic stuff
        double p[] = new double[2];
        
        double rx = (Math.PI/180d)*lon;
        double ry = (Math.PI/180d)*lat;
        
     
        p[0] = rx;
        p[1] = Math.log(Math.tan(ry)+(1/Math.cos(ry)));
        
        
        p[0] = p[0] * 180d/Math.PI;
        p[1] = p[1] * 180d/Math.PI;
        //System.out.println(lon+","+lat+"   "+p[0]+","+p[1]);
        return p;
    }
    
    public double[] unproject(double x,double y){
        double p[] = new double[2];
        
        double rx = (Math.PI/180d)*x;
        double ry = (Math.PI/180d)*y;
        
        
        p[0] = rx;
        p[1] = 2*Math.atan(Math.pow(Math.E,ry))-(Math.PI/2d);
        
        p[0] = p[0] * 180d/Math.PI;
        p[1] = p[1] * 180d/Math.PI;
        //System.out.println(lon+","+lat+"   "+p[0]+","+p[1]);
        return p;
        
        
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?