GIS

proj4 transform java

degulv 2019. 8. 25. 02:35
반응형
package test;

import org.osgeo.proj4j.CRSFactory;
import org.osgeo.proj4j.CoordinateReferenceSystem;
import org.osgeo.proj4j.CoordinateTransform;
import org.osgeo.proj4j.CoordinateTransformFactory;
import org.osgeo.proj4j.ProjCoordinate;

/*
 * maven import
 *  
  <dependency>
  <groupId>org.osgeo</groupId>
  <artifactId>proj4j</artifactId>
  <version>0.1.0</version>
</dependency> 

 */

public class Main {

  public static void main(String[] args) {
    ProjCoordinate trans = transform(14203089.275873486, 4414526.262702693);
    System.out.format("%s, %s", trans.x, trans.y);
  }

  public static ProjCoordinate transform(Double x, Double y) {
      
    CoordinateTransformFactory ctFactory = new CoordinateTransformFactory();
    CRSFactory csFactory = new CRSFactory();
    CoordinateReferenceSystem GOOGLE = csFactory.createFromParameters("EPSG:3857", "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs");
    CoordinateReferenceSystem WGS84 = csFactory.createFromParameters("WGS84", "+proj=longlat +datum=WGS84 +no_defs");
    CoordinateTransform trans = ctFactory.createTransform(GOOGLE, WGS84);
    ProjCoordinate p = new ProjCoordinate();
    ProjCoordinate p2 = new ProjCoordinate();
    p.x = x;
    p.y = y;
    return trans.transform(p, p2);

  }

}
반응형