geotools之坐标转换

最常用的两种坐标4326 3857转换

第一种方法

CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326");

CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:3857");

MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS);

Coordinate coorDst=new Coordinate();

JTS.transform(new Coordinate(40, 116),coorDst, transform);

System.out.println(coorDst);

第二种方法

CoordinateReferenceSystem sourceCrs = CRS.decode("EPSG:4326");

CoordinateReferenceSystem targetCrs = CRS.decode("EPSG:3857");

boolean lenient = true;

MathTransform mathTransform = CRS.findMathTransform(sourceCrs, targetCrs, lenient);

DirectPosition2D srcDirectPosition2D = new DirectPosition2D(sourceCrs, 40, 116);//bj

DirectPosition2D destDirectPosition2D = new DirectPosition2D();

mathTransform.transform(srcDirectPosition2D, destDirectPosition2D);

double transX = destDirectPosition2D.x;

double transY = destDirectPosition2D.y;

System.out.println(transX);

System.out.println(transY);


补充下

CoordinateReferenceSystem sourceCrs = CRS.decode("EPSG:4326");

System.out.println(sourceCrs.toWKT());

System.out.println(DefaultGeographicCRS.WGS84.toWKT());

GEOGCS["WGS 84",

  DATUM["World Geodetic System 1984",

    SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],

    AUTHORITY["EPSG","6326"]],

  PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],

  UNIT["degree", 0.017453292519943295],

  AXIS["Geodetic latitude", NORTH],

  AXIS["Geodetic longitude", EAST],

  AUTHORITY["EPSG","4326"]]

==============================================

GEOGCS["WGS84(DD)",

  DATUM["WGS84",

    SPHEROID["WGS84", 6378137.0, 298.257223563]],

  PRIMEM["Greenwich", 0.0],

  UNIT["degree", 0.017453292519943295],

  AXIS["Geodetic longitude", EAST],

  AXIS["Geodetic latitude", NORTH]]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为Stri...
    DreamerRzc阅读 237,232评论 26 273
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,174评论 0 41
  • JAVA面试题 1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 ...
    JA尐白阅读 1,193评论 1 0
  • 昨天早上9:30到达县里后,因为施工单位都没有按时到场开会,公司副总对于该区域经理进行的严肃的批评,对其管...
    衡山阅读 994评论 0 0