WGS84地理坐标系下,进行坐标运算
经纬度坐标本身是不能直接运算的。原因是:经纬度坐标并非是直角坐标系。纬线圈间隔均匀,经线圈越靠近两级越密,如下图:

现在有个需求,已知两点和两点处射线斜率,求交点坐标。
虽然地球整体是个圆,但是局部地区计算可以看做是平面,仍然有计算的可能。这时候面临的主要问题是经线变密,一个经度长度和一个纬度长度是不同的,也就是说,两者不能直接进行运算和换算。在北半球,经线被“压缩”的情况下,直接计算导致交点下移,斜率变“大”,入下图。

这时候如果我们把斜率进行反算,让斜率先变“小”,到合适的程度,然后在地理坐标系之内就可以得到“正确的斜率”。
转换公式为(γ为已知直角坐标角度,β为地理坐标系内的角度,Lat为当前纬度值):
β=arctan(tanγ* cos(Lat))
实际效果:

WGS84地理坐标系下,进行坐标运算的更多相关文章
- linux下的shell运算(加、减、乘、除)
		
linux下的shell运算(加.减.乘.除) 标签: linuxshell运算加减乘除 2014-03-12 16:25 15127人阅读 评论(0) 收藏 举报 分类: linux(17) ((i ...
 - ArcGIS Engine 下投影坐标和经纬度坐标的相互转换
		
ArcGIS Engine 下投影坐标和经纬度坐标的相互转换 投影转经纬度 ); pPoint.Project(pSRF.CreateGeographicCoordinateSystem((int)e ...
 - ArcEngine下投影坐标和经纬度坐标的相互转换
		
jojojojo2002 原文 ArcEngine下投影坐标和经纬度坐标的相互转换 投影转经纬度 private IPoint PRJtoGCS( double x, double y) { IPoi ...
 - 西安80投影坐标系转WGS84地理坐标系如何求七参数
		
需求:西安80投影坐标系(平面坐标)转为WGS84地理坐标系(球面坐标) 这其中涉及的问题主要有以下两点: 1.一个是投影坐标系,一个是地理坐标系,而七参数指的是两个地理坐标系之间的转换,因此需要把投 ...
 - linux下的shell运算(加、减、乘、除
		
linux下的shell运算(加.减.乘.除 摘自:https://blog.csdn.net/hxpjava1/article/details/80719112 2018年06月17日 16:03: ...
 - wgs84 转百度经纬度坐标
		
/** * wgs84 转百度地图坐标 * @param $lng * @param $lat * @return array */ function toBaiduLocation($lng,$la ...
 - WGS84坐标系下,经纬度如何换算成米
		
参考博客:显示瓦片地图 http://www.cnblogs.com/rhinoxy/p/4995731.html 注意:这里的计算方法精度相差比较大,不满足精确计算的需要. 需要理解的GIS概念: ...
 - WGS84、GCJ-02(火星坐标)、百度坐标,Web墨卡托坐标
		
GCJ-02坐标系统(火星坐标)简介:http://blog.csdn.net/giswens/article/details/8775121(存档:http://mapbd.com/cms/2012 ...
 - 2.1  C语言下的位运算
		
位运算符: 注:运算量仅仅能为整型和字符型数据,不能是实数型的数据. 当进行&运算时:0&1=0.1&0=0:1&1=1:0&0=0: 当进行|运算时:0|1= ...
 
随机推荐
- [.net 面向对象程序设计深入](26)实战设计模式——策略模式 Strategy (行为型)
			
[.net 面向对象程序设计深入](26)实战设计模式——策略模式 Strategy (行为型) 1,策略模式定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模 ...
 - 【RL-TCPnet网络教程】第14章 RL-TCPnet之TCP客户端
			
第14章 RL-TCPnet之TCP客户端 本章节为大家讲解RL-TCPnet的TCP客户端实现,学习本章节前,务必要优先学习第12章TCP传输控制协议基础知识.有了这些基础知识之后,再搞本 ...
 - Redis sortedset实现元素自动过期
			
这里的自动过期,Redis并没有提供相应的api,但是可以使用一下方法来实现. 需求背景: 给用户返回的文章要求七日内不能重复:文章是存放在java list里边:(这一块就是从db将文章拿出来,然后 ...
 - ASP.NET MVC 中读取项目文件的路径
			
MVC中获取某一文件的路径,来进行诸如读取写入等操作. 例:我要读取的文件是新生模板.doc,它在如下位置. 获取它的全路径:string path = HttpContext.Current.Ser ...
 - [Swift]LeetCode91. 解码方法 | Decode Ways
			
A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...
 - [Swift]LeetCode709. 转换成小写字母 | To Lower Case
			
Implement function ToLowerCase() that has a string parameter str, and returns the same string in low ...
 - [Swift]LeetCode787. K 站中转内最便宜的航班 | Cheapest Flights Within K Stops
			
There are n cities connected by m flights. Each fight starts from city u and arrives at v with a pri ...
 - [Swift]LeetCode878. 第 N 个神奇数字 | Nth Magical Number
			
A positive integer is magical if it is divisible by either A or B. Return the N-th magical number. ...
 - vue项目安装vux
			
本文章默认基于“vue init webpack myproject”已经搭好基本的项目, 而且本文是从我有道笔记拷贝稍加修改过来的 本来我私人笔记写给自己看的所以有些地方可能描述不够清晰 需要修改的 ...
 - 【Spark篇】---SparkSQL中自定义UDF和UDAF,开窗函数的应用
			
一.前述 SparkSQL中的UDF相当于是1进1出,UDAF相当于是多进一出,类似于聚合函数. 开窗函数一般分组取topn时常用. 二.UDF和UDAF函数 1.UDF函数 java代码: Spar ...