python经纬度转换xy坐标公式 pyqt_EXCEL公式进行经纬度与XY坐标的相互转换

一、用EXCEL进行高斯投影换算

从经纬度B、L换算到高斯平面直角坐标X、Y(高斯投影正算),或从X、Y换算成B、L(高斯投影反算),一般需要专用计算机软件完成。在目前流行的换算软件中不足之处,就是灵活性较差,大都需要一个点一个点地进行,不能成批量地完成,给实际工作带来许多不便。而用EXCEL可以很直观、方便地完成坐标换算工作,不需要编制任何软件,只需要在EXCEL的相应单元格中输入相应的公式即可。下面以1954年北京坐标系为例,介绍具体的计算方法。

165608260_1_20190709030124304.jpg

上图为编辑好的EXCEL表(红色为输入数据项)

完成经纬度B、L到平面直角坐标X、Y的换算,在EXCEL中大约需要占用21列,当然读者可以通过简化计算公式或考虑直观性,适当增加或减少所占列数。在EXCEL中以公式从第3行第1列(A3格)为起始单元格为例,各单元格的公式如下:

(1)单元格A3输入中央子午线,以度、分、秒形式输入,如107度0分则输入107.00

(2)单元格B3公式如上图,把L0化成度形式。

(3)单元格C3以度小数形式输入纬度值,如23°44′01″则输入23.4401。

(4)单元格D3以度小数形式输入经度值,如107°42′48″则输入107.4248。

165608260_2_20190709030124585.jpg

(5)单元格E3公式如上图,把纬度B化成度形式。

165608260_3_20190709030124663.jpg

(6)单元格F3公式如上图,把经度L化成度形式。

(7)各个单元格输入公式如下:

165608260_4_20190709030124757.jpg

表中计算公式见由孔祥元等主编、武汉大学2002年出版的《控制测量学》,EXCEL软件的操作方法请参阅有关资料。按上面表格中的公式输入到相应单元格后,就可方便地由经纬度求得平面直角坐标。当输入完所有的经纬度后,用鼠标下拉即可得到所有的计算结果。表中的许多单元格公式为中间过程,可以用EXCEL的列隐藏功能把这些没有必要显示的列隐藏起来,表面上形成标准的计算报表,使整个计算表简单明了,可计算的数据量是无限的,当第一次输入公式后,相当于自己完成了一软件的编制,可存储起来供今后重复使用。高斯投影反算修改公式就可以了。

二、GPS坐标转换方法与计算应用

GPS所采用的坐标系是一个协议地球参考系,坐标系原点在地球质心,简称WGS-84坐标系。GPS的测量结果与我国的1954北京坐标系或1980西安坐标系的坐标相差几十米至一百多米,随区域不同,差别也不同,经粗略统计,我国西部相差70米左右,东北部140米左右,南部75米左右,中部45米左右。由此可见,必须将WGS-84坐标进行坐标系转换才能供标图使用。坐标系之间的转换一般采用七参数法、四参数法、拟合参数法及校正参数法,其中七参数为X平移、Y平移、Z平移、X旋转、Y旋转、Z旋转以及尺度比参数,若忽略旋转参数则为四参数方法,四参数法为七参数法的特例。这里的X、Y、Z是空间大地直角坐标系坐标,为转换过程的中间值。在实际工作中我们常用的是平面直角坐标,是否可以跳过空间直角坐标系,省略复杂的运算进行简单转换呢?经过长期的实践,证明是可行的。其原理是:把GPS所测定的WGS-84坐标当作是具有一定系统性误差的1954北京坐标系坐标值,然后通过国家已知点纠正消除该系统误差。我们暂把该方法称作“坐标改正法”,下面以WGS-84坐标转换成1954北京坐标系坐标为例,介绍数据处理方法:

首先,在测区附近选择一国家已知点,在该已知点上用GPS测定WGS-84坐标系经纬度B和L,把此坐标视为有误差的1954北京坐标系坐标,利用EXCEL将经纬度B、L转换成平面直角坐标X'、Y',然后与已知坐标X、Y比较则可计算出偏移量:

△X=X-X'    △Y=Y-Y'

式中的X、Y为国家控制点的已知坐标,X'、Y'为测定坐标,△X和△Y为偏移量。求得偏移量后,就可以用此偏移量纠正测区内的其他测量点了。把其他GPS测量点的经纬度测量值,转换成平面坐标X'、Y',在此X、Y坐标值上直接加上偏移值就得到了转换后的1954北京坐标系坐标:

X=X'+△X    Y=Y'+△Y

在上述EXCEL计算表的最后两列,附加上求得的改正数并分别与计算出来的X、Y相加后,即得到转换结果。利用“坐标改正法”进行坐标系的转换,可满足对坐标转换精度要求不高的测绘项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

display:inline-block之用法

HTML的元素有多种display属性&#xff0c;比较常见的有display:none; display:block; display:inline和display:inline-block;等。详细可参阅 W3Schools文档。有些HTML元素自然地带有display:block;样式属性&#xff0c;比如<div><h1>...<h6><p><ul…

java桥_JAVA 桥模式

桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦&#xff0c;使得二者可以独立地变化”。这句话很短&#xff0c;但是第一次读到这句话的人很可能都会思考良久而不解其意。这句话有三个关键词&#xff0c;也就是抽象化、实现化和脱耦。理解这三个词所代表…

display:inline display:block

display:inline; 元素会被显示为内联元素&#xff0c;元素前后没有换行符. display:block 元素将显示为块级元素&#xff0c;此元素前后会带有换行符. 举例&#xff1a; 1.display:block <span style"display:block">11111111</span><span>2222…

java utf8 byte_byte以及UTF-8的转码规则

https://www.cnblogs.com/hell8088/p/9184336.html多年来闲麻烦&#xff0c;只记录笔记&#xff0c;不曾编写BLOG&#xff0c;本文为原创&#xff0c;如需转载请标明出处废话不说&#xff0c;直奔主题ascii计算机只接受 “高”、“低”电压&#xff0c;所以使用二进制 1 和 …

Unreal4(虚幻4抽茧剥丝)——02章格式化C++和蓝图

本章先写个占位符&#xff0c;原因是具体内容正在构思&#xff0c;希望不和网上已有文章内容出现雷同尽量让读者接受新的知识转载于:https://www.cnblogs.com/hiroshiryu/p/3764013.html

jni c call java_Java通过-jni调用c语言

(4)生成的TestJNI.h文件如下&#xff1a;/* DO NOT EDIT THIS FILE - it is machine generated */#include /* Header for class TestJNI */#ifndef _Included_TestJNI#define _Included_TestJNI#ifdef __cplusplusextern "C" {#endif/** Class: TestJNI* Method…

OpenSceneGraph 笔记–如何导出三角形数据

在OpenSceneGraph开发中&#xff0c;为了方便会经常使用到一些不是三角形片的数据&#xff0c;比如四边形等数据。例如画一个管子用四边形带比用三角形片好计算得多。比如现在我们要画一个由两个平面组成的面&#xff0c;我可以这样做&#xff1a; osg::Geode*geodenewosg::Geo…

自由与限制

#自由与限制##自由 前端&#xff0c;包括html-css-javascript三大基础技术&#xff0c;都是非常能体验出开放自由的。具体说来&#xff0c;因为这三大技术都是以标准先行&#xff0c;html-css的标准由w3c组织制定&#xff0c;js的标准由ECMA制定&#xff0c;都是只有标准&#…

理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式

GL_TRIANGLE_STRIP绘制三角形方式很多时候令人疑惑&#xff0c;在这里对其运作机理进行解释。 一般情况下有三种绘制一系列三角形的方式&#xff0c;分别是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。 如下图所示&#xff1a; GL_TRIANGLES是以每三个顶点绘制一个三…

Swift的笔记和参考

好久没来了&#xff0c;趁着新语言Swift发布&#xff0c;继续钻研中&#xff01; Create Class 创建类 &#xff08;重载效果&#xff09; // Create Class 创建类 class MyClass {// Properties 成员变量init() {// Constructor 构造函数}// Method 成员方法func doIt() {prin…

java正则过滤js_JS/Java正则表达式验证

校验密码&#xff1a;6-15位var pwdreg /^[0-9A-Za-z_,.!#$%^*]{6,15}$/;pwdreg.test(phonenum)校验手机号var mobilereg /^0?1[3|4|5|7|8][0-9]\d{8}$/;mobilereg.test(phonenum)只能输入数字(年龄大小)只能输入中文、英文、数字、空格(微信中&#xff0c;关键字&#xff0…

UE4中的字符串转换

虚幻4学习---UE4中的字符串转换(文章来自于UE4官方文档) String Conversions: FString To FName FString To Int32 Float To FString FArrayReaderPtr To FString TArray<uint8> To FString FString To char * --- ( TCHAR_TO_ANSI() ) FString To TCHAR * FString …

DeDeCMS后台批量修改替换sql语句大全

有时候后台文章内容、标题或者锚文本出错&#xff0c;需要修改批量修改&#xff0c;那么就需要用dedecms的sql语句进行批量修改了。 利用dedecms后台SQL命令行工具批量修改内容&#xff0c;路径和超链接等信息。语句 DEDECMS SQL命令批量替换1.更改文章中的内容update dede_add…

jpa mysql乐观锁_【快学springboot】8.JPA乐观锁OptimisticLocking

介绍当涉及到企业应用程序时&#xff0c;正确地管理对数据库的并发访问是至关重要的。为此&#xff0c;我们可以使用Java Persistence API提供的乐观锁定机制。它导致在同一时间对同一数据进行多次更新不会相互干扰。为了使用OptimisticLocking&#xff0c;我们需要一个实体(En…

UE4 连接自定义服务器

UE4 dedicated server是一个很好的游戏服务器,但是对于大厅和聊天服务器来说,我们要自行开发,通过UE4的socket组建很方便的和其他服务器建立连接 创建Socket FSocket* Socket ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_Stream, TEXT("de…

学习笔记-java编程-交通灯管理器设计流程。

先抛出需求&#xff1a; 异步随机生成按照各个路线行驶的车辆。例如&#xff1a; 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 。。。 信号灯忽略黄灯&#xff0c;只考虑红灯和绿灯。应考虑左转车…

php mysql 库存变负数_php解决秒杀并发入库导致的库存负数

我们知道数据库处理sql是一条条处理的&#xff0c;假设购买商品的流程是这样的&#xff1a;sql1:查询商品库存1 if(库存数量 > 0)2 {3 //生成订单4 //库存-15 >当没有并发时&#xff0c;上面的流程看起来是如此完美&#xff0c;假设同时两个人下单&#xff0c;而库存只有…

Codeforces Testing Round #10 A. Forgotten Episode

水题&#xff0c;注意数据范围 #include <iostream> using namespace std;int main(){long long n,a;cin >> n;long long sum (n*(n1))>>1;for(int i 0 ; i < n-1 ; i){cin >>a;sum -a;}cout<<sum<<endl; } 转载于:https://www.cnblo…

UE4--多线程的实现方式

首先查阅了WIKI中能找到Rama大神的两篇文章&#xff0c;讲了两个开线程的方式&#xff1a; https://wiki.unrealengine.com/Multi-Threading:_Task_Graph_System https://wiki.unrealengine.com/Multi-Threading:_How_to_Create_Threads_in_UE4 TaskGraph与FRunnable的比较 一…

python if else格式_Python if else条件语句详解

我们看到的代码都是顺序执行的&#xff0c;也就是先执行第1条语句&#xff0c;然后是第2条、第3条……一直到最后一条语句&#xff0c;这称为顺序结构。但是对于很多情况&#xff0c;顺序结构的代码是远远不够的&#xff0c;比如一个程序限制了只能成年人使用&#xff0c;儿童因…