python 对不同坐标系之间坐标点转换

不同坐标系下,点的转换函数。以备查阅

python 复制代码
# -*- coding:utf-8 -*-
# 定义坐标转换函数
import pandas as pd
import pyproj

WGS84= r"GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433],AUTHORITY[\"EPSG\",\"4326\"]]"


EPSG4549 = r'PROJCS["CGCS2000_3_Degree_GK_CM_120E",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",120.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]'


Test = 'PROJCS["CGCS2000_3_Degree_GK_CM_120E",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",120.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",4549]]'
# def convert_to_cgcs2000(lat, lon):
def convert_to_cgcs2000(lon,lat):
    # transformer = pyproj.Transformer.from_crs("epsg:4326", "epsg:4521", always_xy=True)
    # transformer = pyproj.Transformer.from_crs("epsg:4326", "epsg:4543", always_xy=True)
    # transformer = pyproj.Transformer.from_crs(WGS84, CGCS2000_3_120, always_xy=True)
    transformer = pyproj.Transformer.from_crs(WGS84, Test, always_xy=True)
    cgcs2000_lon, cgcs2000_lat = transformer.transform(lon, lat)
    return cgcs2000_lat, cgcs2000_lon


if __name__ == '__main__':
    Lng = 120.557994
    Lat = 24.292394
    cgcs2000_lat, cgcs2000_lon = convert_to_cgcs2000(Lng,Lat)
    print("Lng:{},Lat:{},cgcs2000_lat:{}, cgcs2000_lon:{}".format(Lng,Lat,cgcs2000_lat, cgcs2000_lon))
相关推荐
超龄超能程序猿7 分钟前
(5)机器学习小白入门 YOLOv:数据需求与图像不足应对策略
人工智能·python·机器学习·numpy·pandas·scipy
cooldream20092 小时前
Python 包管理新时代:深入了解 `uv` 的使用与实践
python·uv·包管理器
之歆2 小时前
Python-魔术方法-创建、初始化与销毁-hash-bool-可视化-运算符重载-容器和大小-可调用对象-上下文管理-反射-描述器-二分-学习笔记
笔记·python·学习
胖达不服输2 小时前
「日拱一码」025 机器学习——评价指标
人工智能·python·机器学习·评价指标
brave_zhao3 小时前
JavaBeanUtils javaBean转map, 实体类转map,实体集合转List<Map>
linux·windows·python
apihz5 小时前
通用图片搜索-搜狗源免费API接口使用指南
android·java·python·php·音视频
爱吃面条的猿5 小时前
pycharm中自动补全方法返回变量
ide·python·pycharm
倔强青铜三5 小时前
苦练Python第15天:Lambda函数——Python的匿名一行杀器
人工智能·python·面试
云空5 小时前
《QtPy:Python与Qt的完美桥梁》
开发语言·python·qt·pyqt
Hi_kenyon5 小时前
UV的使用总结
python·uv