欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

[干] 2000 年国家大地坐标系转换指南!

最编程 2024-03-11 10:57:14
...


Part1前言

2000国家大地坐标系,是我国当前最新的国家大地坐标系。本文主要研究经纬度的大地2000坐标与高斯-克吕格投影坐标之间的转换。

Part2高斯克吕格投影

我国的地形图采用高斯-克吕格平面直角坐标系。RTK测量常用的*子午线是3度带,我国版图在3度带里共计22带(24~45带),用经度表示即72°-135°。所以在我国用RTK测量,*子午线经度设置都要这个范围里面。


【干货】2000国家大地坐标系转换指南!_react

Part3在线转换网站

这里推荐一个epsg的官网,可以在线实现大地2000与高斯投影坐标的转换。网址如下:https://epsg.io/transform

示例如下:

【干货】2000国家大地坐标系转换指南!_vue_02

Part4代码实现

这里推荐使用proj4js库来实现坐标转换,github地址如下:
​​​https://github.com/proj4js/proj4js​


【干货】2000国家大地坐标系转换指南!_vue_03

整个项目采用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组成的年轻团队。


【干货】2000国家大地坐标系转换指南!_js_04

我们的开源项目:
​​​https://github.com/inveta​

我们致力于三维数字孪生技术分享与研发。
欢迎与各界朋友一起探讨技术与商务合作,一起推动数字孪生的发展。