proj4,七参数与坐标转换原理

一、wgs84,地心坐标系(地心坐标系,是在大地体内建立的O-XYZ坐标系。原点O设在大地的质心,通常分为地心空间直角坐标系(以x,y,z为其坐标元素)和地心大地坐标系(以B,L,H为其坐标元素)),可以与1954北京坐标系或1980西安坐标系等参心坐标系(在参考椭球内建立的O-XYZ坐标系。是经典大地测量的一种通用坐标系。根据地图投影的理论,参心大地坐标系可以通过高斯投影计算转化为平面直角坐标系)相互转换,其方法之一是:在测区内,利用至少3个以上公共点(控制点)的两套坐标列出坐标转换方程,采用最小二乘原理解算出7个转换参数就可以得到转换方程。其中7个转换参数是指3个平移参数、3个旋转参数和1个尺度参数。而在proj4的转换方法中,是利用源坐标系(地理或投影)—wgs84–目标坐标系(投影或地理)这样的一个转换过程,因此wgs84在这个过程中充当了一个桥梁作用,在进行转换的时候如果输入三参数和七参数能提高转换精度,不输入也可以,会使用默认的参数,只是精度会有所损失。

由以上信息得知,三参数和七参数就是投影坐标系在转换(中间会有偏移的过程)到WGS94坐标系下的确定x,y偏移量的参数,如果要进行空间偏移(火星偏移),是不是就是先从A坐标系根据参数转换到WGS84,然后再转移回(这个参数该怎么确定?用默认的吗)A坐标系

二、以下是摘抄:

http://blog.csdn.net/u014357799/article/details/49685053 proj4在windows下的编译与使用

http://blog.csdn.net/gishjl/article/details/7637789

利用proj.net进行投影坐标变换(c#,北京54坐标)(无参数使用介绍)

https://wenku.baidu.com/view/95c56365650e52ea54189804.html。  proj4的转换原理

地方经纬度是采样当地坐标系计算出来的经纬度。

WGS84经纬度是采用WGS-84坐标系所换算出来的经纬度,该坐标系是目前GPS所采用的坐标系统,是一个地心地固坐标系统。WGS-84坐标系统由美国国防部制图局建立,于1987年取代了当时GPS所采用的精度较低的WGS-72坐标系统而成为GPS的所使用的坐标系统。采用椭球参数为:a= 6378137m,f =1/298.257223563。

一般地方坐标系都是某个城市进行规划和测绘所用的内部坐标系,具有保密性,它的相关参数和控制点一般不对外公布,但有换算公式与国家坐标系或者其它通用坐标系进行换算。

c# proj4类库下载http://www.java2s.com/Open-Source/CSharp_Free_Code/DotNet_Library/Download_Proj4Net.htm

三、关于七参数和三参数:

三参数和七参数,是指讲地心坐标转换到WGS84地心坐标的参数。七参数分别为:

1.三个坐标平移变量:dx,dy,dz,即两个空间坐标系的坐标原点之间坐标差值;

2.三个坐标轴的旋转角度,通过按顺序旋转三个坐标轴指定角度,可以使两个空间直角坐标系的XYZ轴重合在一起。

3.尺度因子K,即两个空间坐标系内的同一段直线的长度比值,实现尺度的比例转换。通常为1.

由于在我们国家大多使用的是西安80、北京54甚至是各地的地方坐标系。国家政策的原因,在制定这些坐标系的时候就加入了保密参数(3参数或者7参数)对地理坐标加偏(有偏移),俗称“火星坐标系”。

因此,我们从测绘院或者国土部门拿到的图纸或者CAD文件,如果是西安80、北京54坐标系,那么大多都是有偏移的,需要我们进行校准。

今天,我们将另外一个方法:通过参考点计算出3参数或者7参数;计算出的参数可以保存,针对同一地区矢量数据,我们可以直接使用计算出的参数进行投影转换或者配准套合。

一、wgs84,地心坐标系(地心坐标系,是在大地体内建立的O-XYZ坐标系。原点O设在大地的质心,通常分为地心空间直角坐标系(以x,y,z为其坐标元素)和地心大地坐标系(以B,L,H为其坐标元素)),可以与1954北京坐标系或1980西安坐标系等参心坐标系(在参考椭球内建立的O-XYZ坐标系。是经典大地测量的一种通用坐标系。根据地图投影的理论,参心大地坐标系可以通过高斯投影计算转化为平面直角坐标系)相互转换,其方法之一是:在测区内,利用至少3个以上公共点(控制点)的两套坐标列出坐标转换方程,采用最小二乘原理解算出7个转换参数就可以得到转换方程。其中7个转换参数是指3个平移参数、3个旋转参数和1个尺度参数。而在proj4的转换方法中,是利用源坐标系(地理或投影)—wgs84–目标坐标系(投影或地理)这样的一个转换过程,因此wgs84在这个过程中充当了一个桥梁作用,在进行转换的时候如果输入三参数和七参数能提高转换精度,不输入也可以,会使用默认的参数,只是精度会有所损失。

由以上信息得知,三参数和七参数就是投影坐标系在转换(中间会有偏移的过程)到WGS94坐标系下的确定x,y偏移量的参数,如果要进行空间偏移(火星偏移),是不是就是先从A坐标系根据参数转换到WGS84,然后再转移回(这个参数该怎么确定?用默认的吗)A坐标系

二、以下是摘抄:

http://blog.csdn.net/u014357799/article/details/49685053 proj4在windows下的编译与使用

http://blog.csdn.net/gishjl/article/details/7637789

利用proj.net进行投影坐标变换(c#,北京54坐标)(无参数使用介绍)

https://wenku.baidu.com/view/95c56365650e52ea54189804.html。  proj4的转换原理

地方经纬度是采样当地坐标系计算出来的经纬度。

WGS84经纬度是采用WGS-84坐标系所换算出来的经纬度,该坐标系是目前GPS所采用的坐标系统,是一个地心地固坐标系统。WGS-84坐标系统由美国国防部制图局建立,于1987年取代了当时GPS所采用的精度较低的WGS-72坐标系统而成为GPS的所使用的坐标系统。采用椭球参数为:a= 6378137m,f =1/298.257223563。

一般地方坐标系都是某个城市进行规划和测绘所用的内部坐标系,具有保密性,它的相关参数和控制点一般不对外公布,但有换算公式与国家坐标系或者其它通用坐标系进行换算。

c# proj4类库下载http://www.java2s.com/Open-Source/CSharp_Free_Code/DotNet_Library/Download_Proj4Net.htm

三、关于七参数和三参数:

三参数和七参数,是指讲地心坐标转换到WGS84地心坐标的参数。七参数分别为:

1.三个坐标平移变量:dx,dy,dz,即两个空间坐标系的坐标原点之间坐标差值;

2.三个坐标轴的旋转角度,通过按顺序旋转三个坐标轴指定角度,可以使两个空间直角坐标系的XYZ轴重合在一起。

3.尺度因子K,即两个空间坐标系内的同一段直线的长度比值,实现尺度的比例转换。通常为1.

由于在我们国家大多使用的是西安80、北京54甚至是各地的地方坐标系。国家政策的原因,在制定这些坐标系的时候就加入了保密参数(3参数或者7参数)对地理坐标加偏(有偏移),俗称“火星坐标系”。

因此,我们从测绘院或者国土部门拿到的图纸或者CAD文件,如果是西安80、北京54坐标系,那么大多都是有偏移的,需要我们进行校准。

今天,我们将另外一个方法:通过参考点计算出3参数或者7参数;计算出的参数可以保存,针对同一地区矢量数据,我们可以直接使用计算出的参数进行投影转换或者配准套合。

作者:铭净止水
来源:CSDN
原文:https://blog.csdn.net/jin80506/article/details/80879741?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python 中,可以使用 pyproj 库来进行坐标转换。使用 pyproj 库需要先安装它,可以使用以下命令进行安装: ``` pip install pyproj ``` 安装完成后,就可以在 Python 程序中使用 pyproj 库了。下面是一个使用 pyproj 库进行坐标转换的示例代码: ```python import pyproj # 定义投影坐标系 p1 = pyproj.Proj(init='epsg:4326') # WGS84 坐标系 p2 = pyproj.Proj(init='epsg:3857') # Web Mercator 坐标系 # 定义待转换的坐标 x, y = 120.123, 30.456 # 进行坐标转换 x2, y2 = pyproj.transform(p1, p2, x, y) print(x2, y2) # 输出转换后的坐标 ``` 在这个示例中,我们将 WGS84 坐标系下的坐标 (120.123, 30.456) 转换为 Web Mercator 坐标系下的坐标。p1 和 p2 分别表示原坐标系和目标坐标系。使用 pyproj.transform() 函数可以进行坐标转换,它需要传入原坐标系、目标坐标系和待转换的坐标。最后,转换后的坐标会被输出。 注意,在进行坐标转换时,需要确保原坐标系和目标坐标系是可以相互转换的。通常情况下,两个坐标系是可以相互转换的, ### 回答2: Python 中使用 `proj` 参数是为了进行坐标转换。`proj` 是一个经纬度坐标转换库,可以将不同坐标系之间的位置进行转换。 在 Python 中,可以使用 `pyproj` 库来进行坐标转换。`pyproj` 是一个非常常用的库,它提供了各种坐标转换的方法和函数。 首先,需要安装 `pyproj` 库。可以使用 `pip install pyproj` 命令进行安装。 安装完成后,可以使用以下代码进行坐标转换: ```python from pyproj import Proj # 定义源坐标系 source_proj = Proj(init='epsg:4326') # 定义目标坐标系 target_proj = Proj(init='epsg:3857') # 定义源坐标 lon, lat = 120.123, 30.456 # 进行坐标转换 x, y = pyproj.transform(source_proj, target_proj, lon, lat) # 输出转换后的坐标 print(f'转换后的坐标为:{x}, {y}') ``` 在上面的代码中,首先定义了源坐标系和目标坐标系,`epsg:4326` 表示 WGS84 坐标系,`epsg:3857` 表示 Web Mercator 坐标系。然后定义了源坐标的经度和纬度,使用 `pyproj.transform` 函数进行转换。最后输出转换后的坐标。 这样,就可以利用 `proj` 参数进行坐标转换。使用 `pyproj` 库提供的方法,可以方便地进行不同坐标系之间的转换。 ### 回答3: 在Python中,可以使用proj参数进行坐标转换proj参数是一个字符串,用于定义坐标系统的投影方式和坐标单位。 proj参数可以通过多种方式指定。一种常见的方式是使用EPSG代码,这是一种国际标准的坐标系统编号。例如,EPSG:4326表示WGS 84坐标系统,EPSG:3857表示Web墨卡托投影坐标系统。在Python中,可以通过proj参数将一种坐标系统的坐标转换为另一种坐标系统的坐标。 要使用proj参数进行坐标转换,首先需要安装PyProj库。PyProj是一个用于地理坐标转换的Python库,可以通过pip安装。安装完成后,可以使用pyproj.Proj函数创建一个Proj对象,将proj参数传递给该函数。 创建Proj对象后,可以使用该对象的transform方法进行坐标转换。transform方法接受两个参数,分别是源坐标系和目标坐标系的Proj对象。例如,要将WGS 84坐标转换为Web墨卡托投影坐标,可以创建两个Proj对象,分别代表这两个坐标系,然后使用transform方法进行转换。 下面是一个示例代码,演示了如何使用proj参数进行坐标转换: ```python import pyproj # 创建两个Proj对象,分别代表WGS 84坐标系和Web墨卡托投影坐标系 wgs84 = pyproj.Proj(proj='latlong', datum='WGS84', ellps='WGS84') webmercator = pyproj.Proj(proj='merc', datum='WGS84', ellps='WGS84', lat_ts=0.0, lon_0=0.0, x_0=0.0, y_0=0, units='m', k=1.0, nadgrids='@null', no_defs=True) # 坐标转换 lon, lat = 116.4074, 39.9042 # WGS 84坐标 x, y = pyproj.transform(wgs84, webmercator, lon, lat) # 转换为Web墨卡托投影坐标 print(x, y) ``` 以上就是使用proj参数进行坐标转换的方法。通过使用Proj对象和transform方法,可以方便地实现不同坐标系统之间的坐标转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值