Proj4.js wgs84与cgcs2000坐标转换示例 中央经线计算

1、js源码:https://github.com/proj4js/proj4js

2、引用包中dist/proj4.js文件

3、//根据自己的坐标系参数定义 proj4字符串
         var wgs84 = '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs  ';
         var cgcs2000 = '+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs';

         //将cgcs2000坐标转换成wgs84坐标
         var xy=proj4(cgcs2000, wgs84, [item.GEO_X, item.GEO_Y]);

 

(其中踩坑)
由于本人非地信专业,最开始转换时出现坐标格式正确,但位置与地图重合不上的情况。

最后咨询过地信专业的同事后,发现2000的坐标系需要对应当地的中央经线。即需要修改cgcs2000中lon_0字段。

 

中央经线计算方法:(网上搜的,看不懂)

当地中央子午线决定于当地的直角坐标系统,首先确定您的直角坐标系统是3度带还是6度带投影,然后再根据如下公式推算。

6度带:带号N=round[(L+3)/6],即对(L+3)/6的值四舍五入取整数,L为当地经度;则中央子午线经度L0=6 × N-3。

3度带:带号N=round(L/3),即对(L/3)的值四舍五入取整数,L为当地经度;则中央子午线经度L0=3 × N。

 

自己的理解:

1.搜要转换的城市的经纬度

2.(经度也就是x/3)*3          (括号里取整)

3.来一个实例,以免时间长了忘记,以扬州坐标为例 x:119   y:32

119/3=39.66666

40*3=120

项目中遇到的问题,仅做记录。

在Vue中实现WGS84坐标系CGCS2000坐标系的过程可以分为以下几个步骤: 1. 引入必要的库和模块: 首先,你需要引入相关的库和模块,以便在Vue应用程序中实现坐标转换。可以使用JavaScript的`proj4`库来进行坐标转换。你可以通过npm或yarn等包管理器来安装它。 ```bash npm install proj4 ``` 或者 ```bash yarn add proj4 ``` 2. 导入必要的投影参数: 在Vue组件中,你需要导入WGS84坐标系和CGCS2000坐标系的投影参数。可以使用`proj4`库提供的`defs`方法来导入这些参数。 ```javascript import proj4 from 'proj4'; // 导入WGS84投影参数 proj4.defs([ 'EPSG:4326', // WGS84坐标系(经度/纬度) ]); // 导入CGCS2000投影参数(根据实际情况导入) // ... ``` 3. 实现坐标转换方法: 在Vue组件中,你可以创建一个方法来实现WGS84坐标系到CGCS2000坐标系的换。可以使用`proj4`库提供的`transform`方法来进行坐标转换。 ```javascript methods: { convertCoordinates(wgs84Coordinates) { const cgcsc2000Coordinates = proj4(wgs84Coordinates.projCode, 'EPSG:4490'); // 替换为实际的CGCS2000投影代码 return cgcsc2000Coordinates; }, }, ``` 其中,`wgs84Coordinates`是一个包含经度、纬度等属性的对象,用于表示WGS84坐标系的坐标。`projCode`表示换所需的投影代码(在上面的示例中为'EPSG:4490')。你需要根据你的实际情况来替换投影代码。 4. 使用换方法: 在Vue组件的适当位置,你可以调用上面创建的`convertCoordinates`方法来将WGS84坐标系换为CGCS2000坐标系。例如,可以在数据绑定、计算属性或方法中调用该方法。 ```html <template> <div> <!-- 在模板中使用换后的坐标 --> <p>WGS84坐标: {{ wgs84Coordinates }}</p> <p>CGCS2000坐标: {{ cgcsc2000Coordinates }}</p> </div> </template> ``` 确保在模板中使用换后的坐标值时,将其作为数据绑定或计算属性的返回值。这样,你就可以在Vue应用程序中实现WGS84坐标系到CGCS2000坐标系的换了。 请注意,上述示例中的投影代码和参数可能需要根据实际情况进行调整。确保你使用正确的投影代码和参数来进行正确的坐标转换。此外,还需要考虑其他因素,如偏移量和缩放级别等,以确保换结果的准确性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值