matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角

以真北为0度起点,由东向南向西顺时针旋转360度,主要是用于控制象限。

根据2点经纬度,计算方位角

[csharp]

///

/// 给定2点,获得经纬度

///

/// 起点经纬度,都是以度为单位

/// 终点经纬度,都是以度为单位

///

private double GetLineAngle(Point2D startPoint, Point2D endPoint)

{

double mathPI = 3.1415926535897931;

double tmpValue = 0;

double latStart = startPoint.Y * mathPI / 180;

double lngStart = startPoint.X * mathPI / 180;

double latEnd = endPoint.Y * mathPI / 180;

double lngEnd = endPoint.X * mathPI / 180;

if (startPoint.X == endPoint.X || startPoint.Y == endPoint.Y)

{

if (startPoint.X == endPoint.X)

{

/// 经度相同

if (endPoint.Y >= startPoint.Y)

{

return 0;

}

else

{

return 180;

}

}

else

{

/// 纬度相同

if (endPoint.X >= startPoint.X)

{

return 90;

}

else

{

return 270;

}

}

}

tmpValue = Math.Sin(latStart) * Math.Sin(latEnd) + Math.Cos(latStart) * Math.Cos(latEnd) * Math.Cos(lngEnd - lngStart);

tmpValue = Math.Sqrt(1 - tmpValue * tmpValue);

tmpValue = Math.Cos(latEnd) * Math.Sin(lngEnd - lngStart) / tmpValue;

double resultAngle = Math.Abs(Math.Asin(tmpValue) * 180 / mathPI);

if (endPoint.X > startPoint.X)

{

if (endPoint.Y >= startPoint.Y)

{

/// 第一象限

return resultAngle;

}

else

{

/// 第二象限

return 180 - resultAngle;

}

}

else

{

/// 第四象限

if (endPoint.Y >= startPoint.Y)

{

return 360 - resultAngle;

}

else

{

/// 第三象限

return 180 + resultAngle;

}

}

}

[/csharp]

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

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

相关文章

VMWare 环境下devstack创建虚拟机报错及修改nova-api返回数据得条目

1、在生产环境中, 由于某个tenant下创建了有1300条得security-group通过查询nova得数据库可以看出确实有1300条得存在,但是通过curl调用的时候发现返回得数目只有1000条 可以通过修改nova.conf文件得osapi_max_limit 项修改返回得条目限制,默…

使用数据库保存Asterisk sip账号信息(odbc方式)

在默认情况下,Asterisk的配置文件都保存在/etc/asterisk目录中,以ini文件的格式保存。我们也可以使用数据库来保存大多数Asterisk配置信息。 Asterisk使用数据库保存配置信息有两种方法:静态和动态,对于不经常修改的配置数据&…

删除按钮_汪涵拜师学艺第七篇:往来单位查询删除按钮和新增判断的设计!

老师好!大家好!我叫汪涵:今天给大家分享往来单位查询删除按钮和新增判断的设计!在开始具体内容之前,请让我先分享我们的价值观:用自律和勤奋来改变命运,不走捷径,有爱心,…

python requests https_解决python的requests模块访问私有SSL证书产生的报错问题

如题访问部分私有SSL证书网站时报如下错误requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)测试环境kali linux 1.1.0Python 2.7.8python-openssl 0.13-2deb7u1requests 2.3.0测试代码#/usr/bin/python#codingutf-8imp…

Ubuntu 12.04(32位)安装Oracle 11g(32位)全过程以及几乎所有问题的解决办法

这两天在Ubuntu上安装Oracle把人折腾毁了,即使照着网上的教程来,还是出了很多问题。好在最后终于搞定了。写出来总结一下,免得以后忘了。 标题注明32位是因为网上教程几乎全是以64位安装为例的,32位系统下照着做是绝对会安装失败的…

dio设置自定义post请求_Flutter Dio简单二次封装和自定义Header

话不多说自己看代码封装的比较简单,比较适合入门学习Dio。import package:dio/dio.dart;import Api.dart;/** 封装 restful 请求** GET、POST、DELETE、PATCH* 主要作用为统一处理相关事务:* - 统一处理请求前缀;* - 统一打印请求信息&#x…

解决asterisk sip呼叫 488 no acceptable here

这两天实验了一下asterisk static realtime方案,将sip.conf的信息保存到mysql数据库里。但是呼叫的时候,总是 报 488 no acceptable here。 这是我的sip.conf文件,数据库里和sip.conf文件一模一样,但是就是不行。 [general] c…

怎么安装python3.6.5_Centos7 安装Python3.6.5

一、centos7 安装 Python3.6.5教程1、在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装):yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-d…

关于浏览器模式和文本模式的困惑

什么是浏览器模式和文本模式? 经常使用IE开发者工具的同学,肯定见过浏览器模式和文本模式,对于这两个名词,综合相关文档解释如下: 浏览器模式(Browser Mode),用于切换IE针对该网页的…

mysql 关联索引_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?...

情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?根据查询字段的位置不同来决定,如查询a, a,b a,b,c a,c 都可以走索引的&#…

A20 看门狗

前言 说到看门狗,应该不会陌生,看门狗说白了就是一个定时器,但是它有一个非常重要的功能就是复位系统。在A20里,看门狗的操作非常简单,只有两个寄存器,不需要操作时钟相关的东西,系统起来后可以…

python拼接大量ts文件_Python爬取.ts文件,合并为mp4

目标:爬影视网站ts文件到本地,合并成mp4文件下载ts文件本着不重复造轮子的精神(好吧其实是我懒),想用迅雷批量下载爬取,但是迅雷提供的通配符过于简单无法构造URL,只能自己写脚本如下:# -*- coding: utf-8 …

android学习笔记之ProgressDialog的使用

在很多PC软件或手机软件中,我们都会看见 “加载中...” 类似的对话框,当然,在android应用程序中也是如此。如果我们想在android应用程序中使用这样的效果,那么就需要用到ProgressDialog。首先,我们来看一下ProgressDia…

asterisk 互联问题

asterisk A 和asterisk B互联。 A下面有账户1001,B下面有账户2001 当1001呼叫2001时,B的sip.conf里不能有1001。 当2001呼叫1001时,A的sip.conf里不能有2001。 否则,呼叫无法呼叫成功。 下面为截图 实际和在振铃时&#xff0…

清除python shell中的内容_如何使用python脚本定时清空文件内容?

我们一直在对大家强调关于python脚本的使用,但是有部分同学提出疑问,就是关于上期跟大家说的shell脚本没有实质性的使用效果,如果在实际应用里,要怎么使用这个脚本,它又能实现什么效果,其实针对这个内容&am…

ACCESS中不支持left join解决方案

今天在做基于 access数据库项目中,做外连接时,发现Access不支持两个以上的 left join 在网上查一下,有哥们说每个 left join 要加 () 在修改之前(不能执行,ms sql 里执行以通过) select table1.fildes1, table1.fildes2,table2.fildes1, table2.fildes2,table3.fildes…

docker mysql主从_使用docker 实现MySQL主从同步/读写分离

1. 利用 docker 实现 mysql 主从同步 / 读写分离为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个。最近重构论坛,想来改成主从吧。担心失误,就先拿 docker 练练手。通过本文实际你会操作到。mysql 的主从同步…

Linux中的EAGAIN含义

在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,…

mysql sys 数据库_mysql sys 数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

python get方法请求参数_如何解决TypeError get()在使用get方法的Python请求中恰好接受2个参数(给定3个)...

在Python中使用Request对象时出现错误.下面是我的代码.class APIDOC(Document):def request_api(self):method_type self.method_typeapi self.apiparameters self.parameterssession_object requests.session()self.get_login(session_object)if method_type "POST&…