GIS转换器如何进行数据坐标系转换(如:WGS8,UTM,BEIJING54,XIAN80,CGCS2000)

在使用GIS数据时,由于数据来源不同,需要一块使用时,经常会进行坐标系的转换。

注意:很多人喜欢直接将不同坐标系的数据源在应用系统中利用动态投影叠加使用,这会拖慢系统的响应速度,造成不好的用户体验。

坐标系转换包括:各类国际通用坐标系(如:WGS84,谷歌墨卡托,UTM等),国内(BEJING54\XIAN80\CGCS2000),国内加偏(CJ02加偏、百度加偏)。

下面介绍如何利用【GIS数据转换器】来进行坐标系转换

  1. 首先我们需要下载【GIS数据转换器(矢量-矢量)V3.0.rar

下载QQ群:610712943(自动加群,仅供软件下载,不聊天),群文件中获取软件 ​ ​

 

  1. 解压运行GIS数据转换器(矢量-矢量)V3.0.rar

 

  ​

  ​

  1. 输入数据(可批量):

 

 

进行转换数据的选择,如按【SHIFT】或【CTRL】键可进行多选,就可以按常规方式对文件进行批量转换。

对于非DWG矢量转换,工具可自动识别数据的输入坐标系,对于DWG您需要选择一下您输入数据的坐标系。

  1. 输出坐标系设置

选择数据输出的坐标系(注意:需要选中坐标系转换 才能设置输出坐标系)。如您的数据需要“火星坐标系”和“百度坐标系”的加偏或纠偏,请选中 ,并选择相应的转换操作。

 

 

 

 数据进行火星加偏和百度加偏,输出数据默认是WGS84的,您也可以在加偏时同时选择输出坐标系。

 

 

 

 

 

 

 

 

  1. 点【转换】按钮进行转换

https://i-blog.csdnimg.cn/blog_migrate/1141281a6f148c9a96460fd1a8629851.png

附:以上为矢量数据坐标系转换方法,如您需要转换栅格坐标系,请选择栅格数据转换器。

 

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Java中实现WGS84与CGCS2000坐标系的相互投影转换,可以使用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工具-gistools2021

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

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

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

打赏作者

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

抵扣说明:

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

余额充值