python计算经纬度之间的距离_python函数——根据经纬度计算距离公式的错误及修正...

函数

import math

def cal_dis(latitude1,longitude1,latitude2,longitude2):

latitude1 = (Math.PI/180)*latitude1

latitude2 = (Math.PI/180)*latitude2

longitude1 = (Math.PI/180)*longitude1

longitude2= (Math.PI/180)*longitude2

#因此AB两点的球面距离为:{arccos[sinb*siny+cosb*cosy*cos(a-x)]}*R

#地球半径

global R = 6378.1;

d = math.acos(math.sin(latitude1)*math.sin(latitude2)+\

math.cos(latitude1)*math.cos(latitude2)*math.cos(longitude2-longitude1))*R

return d;

}

实现了根据输入两点经纬度,计算这两点距离的函数,但是在实际操作过程中,出现了报错:

下面是会报错的数据集:

经过搜索相关文章,最终发现是由于acos(x)中的x越界引起的。

语法

方法的语法:

Highlighter_972490" class="SyntaxHighlighter py" style="width:651.111145019531px;line-height:25.2000007629395px;overflow:auto !important;">

nofollow" class="toolbar_item command_help help" style="text-decoration:none;color:rgb(0,102,153);border:0px !important;line-height:1.1em !important;overflow:visible !important;text-align:center !important;vertical-align:baseline !important;min-height:auto !important;display:block !important;background:none !important;">?

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

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

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

相关文章

MySQL 自定义函数

在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数。 自定义函数是一种与存储过程十分相似的过程式数据库对象。它与存储过程一样,都是由 SQL 语句和过程式语句组成的代码片段,并且可以…

mysql frm 英文全称_FRM考试是中文还是英文?

FRM(Financial Risk Manager)是全球金融风险管理领域顶级的权威国际资格认证,由美国“全球风险管理协会”(Global Association of Risk Professionals ,简称daoGARP)设立。所以全球的FRM考试都是英文的试卷。FRM考试是全英文考试,但其实要求并…

mysql业务数据库回退_理解MySQL数据库事务-隔离性

Transaction事务是指一个逻辑单元,执行一系列操作的SQL语句。事务中一组的SQL语句,要么全部执行,要么全部回退。在Oracle数据库中有个名字,叫做transaction ID在关系型数据库中,事务必须ACID的特性。原子性&#xff0c…

ply补全为立方体_PLY文件格式

一、PLY简介PLY文件格式是Stanford大学开发的一套三维mesh模型数据格式,图形学领域内很多著名的模型数据,比如Stanford的三维扫描数据库(其中包括很多文章中会见到的Happy Buddha, Dragon, Bunny兔子),Geogia Tech的大型几何模型库&#xff0…

MySQL 修改存储过程

MySQL 中通过 ALTER PROCEDURE 语句来修改存储过程。 MySQL 中修改存储过程的语法格式如下: ALTER PROCEDURE 存储过程名 [ 特征 ... ]特征指定了存储过程的特性,可能的取值有: CONTAINS SQL 表示子程序包含 SQL 语句,但不包含读…

python 可执行文件打包_使用可执行文件打包Python库

通常,当整个项目适合单个模块文件时,您只将python包作为模块分发.如果您的项目比这更复杂,通常最好将项目构造为包含__init__.py文件的包.这是您的项目看起来像转换为包的内容Project/|-- README|-- requirement.txt|-- setup.py|-- scripts/| |-- driver.py|-- driver/| |-- _…

MySQL 删除存储过程

当 MySQL 数据库中存在废弃的存储过程时&#xff0c;我们需要将它从数据库中删除。 MySQL 中使用 DROP PROCEDURE 语句来删除数据库中已经存在的存储过程。语法格式如下&#xff1a; DROP { PROCEDURE | FUNCTION } [ IF EXISTS ] <过程名>语法说明如下&#xff1a; 过…

java socket 阻塞模式_Java中Socket Read阻塞问题

本人来说并不熟悉JAVA语言&#xff0c;只是近期在分析某个简单的java agent程序时&#xff0c;根据对应的代码写了一个对接的程序&#xff0c;两者之间是典型的C/S socket编程。客户端在向服务端发送相应的指令后&#xff0c;服务端(装agent的主机)执行后会返回执行的数据给客户…

java 窗体 源码_Java制作MDI窗体源代码

由于实际需要做一个MDI窗体&#xff0c;百度里面找到一个不错的源代码给大家分享一下。import javax.swing.*;import java.awt.event.*;import java.awt.*;class JInternalFrame1 extends JFrame implements ActionListener{JDesktopPane desktopPane;int count 1;public JInt…

MySQL 创建触发器

触发器是与 MySQL 数据表有关的数据库对象&#xff0c;在满足定义条件时触发&#xff0c;并执行触发器中定义的语句集合。 基本语法 在 MySQL 5.7 中&#xff0c;可以使用 CREATE TRIGGER 语句创建触发器。 语法格式如下&#xff1a; CREATE <触发器名> < BEFORE …

java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...

本文主要向大家介绍了Java语言通过URL读取网页数据并保存到本地文件(代码实例)&#xff0c;通过具体的内容向大家展示&#xff0c;希望对大家学习JAVA语言有所帮助。Java通过URL读取网页数据并保存到本地文件(代码实例)import java.io.*;import java.net.MalformedURLException…

MySQL 修改和删除触发器

修改触发器可以通过删除原触发器&#xff0c;再以相同的名称创建新的触发器。 基本语法 与其他 MySQL 数据库对象一样&#xff0c;可以使用 DROP 语句将触发器从数据库中删除。 语法格式如下&#xff1a; DROP TRIGGER [ IF EXISTS ] [数据库名] <触发器名>语法说明如…

java做主成分分析_主成分分析(PCA) Java

导入jar包:Jama-1.0.2.jar//计算类import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.TreeMap;import Jama.Matrix;/**…

idl文件生成java_IDL和生成代码分析

IDL:接口描述语言这里使用thrift-0.8.0-xsb这个版本来介绍IDL的定义以及简单实例分析。1. namespace 定义包名2.struct 结构体&#xff0c;定义服务接口的参数和返回值用到的类结构。基本类型不需要使用struct.3.service 定义接口&#xff1a;demo.thrift1 namespace java com.…

java从控制台读取数据_Java不同版本从控制台读取数据方法及优缺点分析

从JDK 5.0版本开始&#xff0c;能从控制台中输入数据的方法每增加一个版本号&#xff0c;就有一种新增的方法&#xff0c;这也增加了选择的种类&#xff0c;可以依据不同的要求来进行选择。下面和绿茶小编一起来了解一下各个版本从控制台中读取数据的方法以及各自的优缺点。1、…

java类和对象程序_Java类与对象程序设计基础

Java类与对象程序设计基础一、实验目的&#xff1a;通过编制一个独立应用程序&#xff0c;使得学生掌握Java的系统所提供类的引用方法&#xff1b;通过编制一个完整的应用程序&#xff0c;使得学生对Java的应用程序的基本构成和基本算法熟练掌握&#xff0c;同时熟悉Java开发环…

MySQL 修改和删除索引

MySQL 中修改索引可以通过删除原索引&#xff0c;再根据需要创建一个同名的索引&#xff0c;从而实现修改索引的操作。 基本语法 当不再需要索引时&#xff0c;可以使用 DROP INDEX 语句或 ALTER TABLE 语句来对索引进行删除。 1 使用 DROP INDEX 语句 语法格式&#xff1a;…

java记事本保存_JAVA记事本关于保存

为什么运行这个程序后点击保存&#xff0c;然后打开时不是按行输出的啊?哪里有问题&#xff1f;publicclassJSBJSB{publicstaticvoidmain(String[]args){FirstWindowwinnewFirstWindow("记事本");}}classF...为什么运行这个程序后点击保存&#xff0c;然后打开时不是…

MySQL 创建用户

在对 MySQL 的日常管理和实际操作中&#xff0c;为了避免用户恶意冒名使用 root 账号控制数据库&#xff0c;通常需要创建一系列具备适当权限的账号&#xff0c;应该尽可能地不用或少用 root 账号登录系统&#xff0c;以此来确保数据的安全访问。 创建用户 可以使用 CREATE U…

acm用java怎么写_用java来写ACM

前言从去年10月份开始就一直都在九度oj平台写acm&#xff0c;到今天在九度oj的总排名已经到了第6名&#xff0c;收获很多特别是算法和数据结构方面的提高&#xff0c;这种提高直接反映在我找工作的顺利中但是人总要学会拥抱变化&#xff0c;特别是我即将加入阿里系&#xff0c;…