讨论:WGS84与CGCS2000的坐标系怎么互转

 前言:

今天我们要讨论一个问题:WGS84与CGCS2000的坐标系怎么互转?

图片

        对于有一定基础的朋友应该知道,WGS84和CGCS2000属于不同的椭球,如果进行严密的数学转换,是需要建立参数模型之后,再进行转换,但是参数一般涉密。

        我们一般怎么处理?大家知道WGS84与CGCS2000都是地心坐标系,椭球参数基本一致,所以在我国大部分地区WGS84和CGCS2000的基本等效,误差很小,记得刚入行那天老同事告诉我在我们福建,基本两个就差一个指甲盖的距离,这个误差就很小了,所以大多数项目在这个情况下都是可以通用(一些地形起伏较大的区域误差较大)。

        但是坐标系是很复杂的,要考虑观测历元,大陆板块运动······,所以对于“WGS84与CGCS2000”的等效性大家可以一起来讨论。

下面我们通过视频来学习一下WGS84如何转换为CGCS2000

        其他常规的骤,这里就不再详细列出,大家可以查看下面的视频教学吧!

我们就视频教学吧

图片

ArcGIS如何将WGS84平面转CGCS2000平面坐标系

推荐学习:

ArcGIS全系列实战视频教程——9个单一课程组合+系列直播回放-CSDN博客文章浏览阅读666次,点赞3次,收藏10次。1课后答疑 2学习群答疑 3实战驱动 4课件、课程操作数据、福利数据包。《ArcGIS之Data Reviewer空间数据质量检查实战视频教程》《ArcGIS之模型构建器(ModelBuilder)视频教程》《ArcGIS之数字高程模型(DEM)分析综合视频课程上下篇》《ArcGIS与CASS在地籍数据建库中的结合应用》ArcGIS全系列实战视频教程——9个单一课程组合。ArcGIS全系列实战视频教程——9个单一课程组合。ArcGIS全系列实战视频教程——9个单一课程组合。https://blog.csdn.net/kinghxj/article/details/1367010714大遥感软件!遥感影像解译!ArcGIS+ENVI+Erdas+eCognition-CSDN博客文章浏览阅读839次,点赞16次,收藏8次。遥感影像解译!ArcGIS+ENVI+Erdas+eCognition!4大遥感软件!https://blog.csdn.net/kinghxj/article/details/138673184

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

GIS思维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值