WGS84与CGCS2000坐标系

本文介绍了WGS84坐标系,它主要用于GPS全球定位系统,也是多数互联网地图的基础。同时提到了CGCS2000坐标系,这一系统是在北京54和西安80坐标系不再适用后,为了满足中国经济发展和国防需求而建立的全球坐标系统。
摘要由CSDN通过智能技术生成
1.WGS84,WGS是世界大地测量系统World Geodetic System的缩写,84是说此坐标系是1984年建立的;
 
2.GPS数据:一般是WGS84坐标,以大地坐标(经纬度)的形式展现,无投影。
 
3.WGS-84坐标系是一种国际上采用的地心坐标系,其地心空间直角坐标系的Z轴指向国际时间局(BIH)1984.0定义的协议地极(CTP)方向,X轴指向BIH1984.0的协议子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系;( https://zhuanlan.zhihu.com/p/60742218);
   Geodetic  :   英  [,dʒiːə(ʊ)'detɪk],adj. 大地测量学的;最短线的
 
4.CGCS2000是2000国家大地坐标系,该系统以ITRF(国际协议地球参考框架)97参考框架为基准,参考框架历元为2000.0;
在Java中实现WGS84CGCS2000坐标系的相互投影转换,可以使用Proj4J库来实现。以下是一个简单的示例代码: 首先,需要下载Proj4J库并将其添加到Java项目中。 然后,可以使用以下代码将WGS84坐标系的经纬度坐标转换为CGCS2000坐标系的平面坐标: ``` import org.osgeo.proj4j.CoordinateReferenceSystem; import org.osgeo.proj4j.CRSFactory; import org.osgeo.proj4j.ProjCoordinate; public class WGS84toCGCS2000 { public static void main(String[] args) { // 定义WGS84坐标系 String wgs84Str = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"; CRSFactory crsFactory = new CRSFactory(); CoordinateReferenceSystem wgs84 = crsFactory.createFromParameters("WGS84", wgs84Str); // 定义CGCS2000坐标系 String cgcs2000Str = "+proj=utm +zone=50 +ellps=GRS80 +units=m +no_defs"; CoordinateReferenceSystem cgcs2000 = crsFactory.createFromParameters("CGCS2000", cgcs2000Str); // 定义WGS84坐标点 ProjCoordinate wgs84Point = new ProjCoordinate(116.3975, 39.9085); // 将WGS84坐标点转换为CGCS2000坐标系下的平面坐标 ProjCoordinate cgcs2000Point = new ProjCoordinate(); crsFactory.createFromCoordinateReferenceSystem(wgs84).getCoordinateOperationFactory() .createOperation(wgs84, cgcs2000).getMathTransform().transform(wgs84Point, cgcs2000Point); System.out.println(cgcs2000Point.x + " " + cgcs2000Point.y); } } ``` 同样,可以使用以下代码将CGCS2000坐标系的平面坐标转换为WGS84坐标系的经纬度坐标: ``` import org.osgeo.proj4j.CoordinateReferenceSystem; import org.osgeo.proj4j.CRSFactory; import org.osgeo.proj4j.ProjCoordinate; public class CGCS2000toWGS84 { public static void main(String[] args) { // 定义WGS84坐标系 String wgs84Str = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"; CRSFactory crsFactory = new CRSFactory(); CoordinateReferenceSystem wgs84 = crsFactory.createFromParameters("WGS84", wgs84Str); // 定义CGCS2000坐标系 String cgcs2000Str = "+proj=utm +zone=50 +ellps=GRS80 +units=m +no_defs"; CoordinateReferenceSystem cgcs2000 = crsFactory.createFromParameters("CGCS2000", cgcs2000Str); // 定义CGCS2000坐标点 ProjCoordinate cgcs2000Point = new ProjCoordinate(397829.29, 4407529.65); // 将CGCS2000坐标点转换为WGS84坐标系下的经纬度坐标 ProjCoordinate wgs84Point = new ProjCoordinate(); crsFactory.createFromCoordinateReferenceSystem(cgcs2000).getCoordinateOperationFactory() .createOperation(cgcs2000, wgs84).getMathTransform().transform(cgcs2000Point, wgs84Point); System.out.println(wgs84Point.x + " " + wgs84Point.y); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值