【干货】2000国家大地坐标系转换指南!
Part1前言2000国家大地坐标系,是我国当前最新的国家大地坐标系。本文主要研究经纬度的大地2000坐标与高斯-克吕格投影坐标之间的转换。Part2高斯克吕格投影我国的地形图采用高斯-克吕格平面直角坐标系。RTK测量常用的中央子午线是3度带,我国版图在3度带里共计22带(24~45带),用经度表示即72°-135°。所以在我国用RTK测量,中央子午线经度设置都要这个范围里面。Part3在线转换网
Part1前言
2000国家大地坐标系,是我国当前最新的国家大地坐标系。本文主要研究经纬度的大地2000坐标与高斯-克吕格投影坐标之间的转换。
Part2高斯克吕格投影
我国的地形图采用高斯-克吕格平面直角坐标系。RTK测量常用的中央子午线是3度带,我国版图在3度带里共计22带(24~45带),用经度表示即72°-135°。所以在我国用RTK测量,中央子午线经度设置都要这个范围里面。
Part3在线转换网站
这里推荐一个epsg的官网,可以在线实现大地2000与高斯投影坐标的转换。网址如下:https://epsg.io/transform
示例如下:
Part4代码实现
这里推荐使用proj4js库来实现坐标转换,github地址如下:
https://github.com/proj4js/proj4js
整个项目采用js语言实现。使用示例如下:
初始化项目:
npm init
安装proj4库
npm install proj4
使用方法
proj4 = require('proj4')
proj4.defs(
'EPSG:4526',
'+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=GRS80 +units=m +no_defs +type=crs'
)
proj4.defs('EPSG:4326', '+proj=longlat +datum=WGS84 +no_defs +type=crs')
var firstProjection = 'EPSG:4326'
var secondProjection = 'EPSG:4526'
//I'm not going to redefine those two in latter examples.
dis = proj4(firstProjection, secondProjection, [
114 + 35 / 60 + 2.68867 / 3600,
23 + 12 / 60 + 46.87788 / 3600,
])
console.log(dis)
其中EPSG:4326是wgs84坐标系的编码,EPSG:4526是大地2000高斯投影在中央子午线114度的编码。之后即可完成整个坐标系之间的转换。
Part5总结
本文主要介绍了将大地2000经纬度转成高斯投影的思路以及方法。另外proj4库可以实现几乎所有的坐标系之间的转换。
Part6关于IN VETA
IN VETA是一支由建模、美术、UE5组成的年轻团队。
我们的开源项目:
https://github.com/inveta
我们致力于三维数字孪生技术分享与研发。
欢迎与各界朋友一起探讨技术与商务合作,一起推动数字孪生的发展。
更多推荐
所有评论(0)