Python | CGCS2000坐标系转换为经纬度坐标系

写在前面

学到一个奇怪的知识,但是先记录在这里吧

问题还原

已知南京的3度带投影坐标为,坐标系为:CGCS2000

x, y = 4269545.8455270305, 40373596.93238703

如果,我想将其转换为实际的经纬度坐标,该怎么办呢?

经纬度坐标也就是:wgs84 = pyproj.CRS("EPSG:4326")

这里记录一下学习的奇怪的知识

3度带/6度带

这里的有两个概念,我国采用6度分带3度分带

1∶2.5万及1∶5万的地形图

采用6度分带投影,即经差为6度,从零度子午线开始,自西向东每个经差6度为一投影带,全球共分60个带,用1,2,3,4,5,……表示.即东经0~6度为第一带,其中央经线的经度为东经3度,东经6~12度为第二带,其中央经线的经度为9度。

可以从下面的图来很形象的了解3度带/6度带的划分含义

当地中央经线经度的计算

六度带中央经线经度的计算:

  • 当地中央经线经度=6°×当地带号-3°,

例如:地形图上的横坐标为20345,其所处的六度带的中央经线经度为:6°×20-3°=117°(适用于1∶2.5万和1∶5万地形图)。

三度带中央经线经度的计算:

  • 中央经线经度=3°×当地带号(适用于1∶1万地形图)。

啥意思呢,就是说,可以根据提供的坐标y来知道对应的坐标系的带号

比如,我这儿的y=40373596.93238703,说明带号是40

知道了这个带号有啥用呢,可以知道对应的CGCS2000的坐标系应该选哪个,因为CGCS2000有不同的参数.从下面的网址,我们可以查找到对40带号的CGCS2000_3_Degree的投影epsg为:4528

python转换

假设你要从CGCS2000(EPSG:4528)转换到WGS84(EPSG:4326),这在python里面就非常容易了,可以通过pyproj包来实现。

import pyproj


crs_in = pyproj.CRS("EPSG:4528")  # Degree_GK_Zone_40
wgs84 = pyproj.CRS("EPSG:4326")  # WGS 84

# 创建转换器
transformer = pyproj.Transformer.from_crs(  crs_in , wgs84,)

# 给定坐标
x, y = 4269545.8455270305, 40373596.93238703

# 转换为 WGS 84 坐标系
lon, lat = transformer.transform(x, y)

print(f"Converted coordinates: Longitude = {lon}, Latitude = {lat}")


转换的结果,非常amazing啊。

https://www.cnblogs.com/xlx0210/archive/2010/08/23/1806578.html

https://blog.csdn.net/qq_41441896/article/details/104525296

https://developers.arcgis.com/javascript/3/jshelp/pcs.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简朴-ocean

继续进步

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

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

打赏作者

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

抵扣说明:

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

余额充值