oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离
根据经纬度分别用java和Oracle存储过程计算两点距离
create or replace procedure SP_GET_DISTANCE
(cx in number,cy in number,sx in number, sy in number,distance out varchar2)
is
d number;
x number;
y number;
r number;
pi number;
begin
--开始计算
r:=6371229;--地球半径
pi:=3.14159265358979323;--圆周率
x:=(sx-cx)*pi*r*cos((sy+cy)/2*pi/180)/180;
y:=(sy-cy)*pi*r/180;
d:=SQRT(power(x,2)+power(y,2));
distance:=to_char(d,9999999999999.99);
end SP_GET_DISTANCE;
package com.wpn.web.util;
public class Distance {
private final static double PI = 3.14159265358979323;// 圆周率
private final static double R = 6371229; // 地球的半径
private Distance() {
}
/**
* 纬度lat 经度lon
* @param longt1
* @param lat1
* @param longt2
* @param lat2
* @return
*/
public static double getDistance(double longt1, double lat1, double longt2, double lat2) {
double x, y, distance;
x = (longt2 - longt1) * PI * R * Math.cos(((lat1 + lat2) / 2) * PI / 180) / 180;
y = (lat2 - lat1) * PI * R / 180;
distance = Math.hypot(x, y);
return distance;
}
/*public enum GaussSphere {
Beijing54, Xian80, WGS84,
}
private static double Rad(double d) {
return d * Math.PI / 180.0;
}
public static double DistanceOfTwoPoints(double lng1, double lat1, double lng2, double lat2, GaussSphere gs) {
double radLat1 = Rad(lat1);
double radLat2 = Rad(lat2);
double a = radLat1 - radLat2;
double b = Rad(lng1) - Rad(lng2);
double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * (gs == GaussSphere.WGS84 ? 6378137.0 : (gs == GaussSphere.Xian80 ? 6378140.0 : 6378245.0));
s = Math.round(s * 10000) / 10000;
return s;
}*/
public static void main(String[] arg){
double longt1 = 116.515502;
double lat1 = 39.863898;
double longt2 = 116.304187;
double lat2 = 40.052584;
System.out.println(getDistance(longt1,lat1,longt2,lat2));
}
}
oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离相关推荐
- 两点间距离公式计算机,已知两点经纬度,用excel计算两点距离的公式?(转
已知两点经纬度,用excel计算两点距离的公式?(转 (2008-08-03 17:51:26) 标签: 杂谈 用EXCEL进行高斯投影换算 从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或 ...
- js距离米转换为千米_js根据经纬度计算两点距离
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米,平均半径6371.004千米.如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R.如 ...
- js 根据百度地图提供经纬度计算两点距离
正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离: var map = new BMap.Map('map_canvas'); map.getDistance(point1 ,p ...
- js根据经纬度计算两点距离
js根据经纬度计算两点距离 1.html <button type="button" οnclick="distanceByLnglat(116.95400,39. ...
- 百度地图根据经纬度计算距离php,详解js根据百度地图提供经纬度计算两点距离...
正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离: var map = new BMap.Map('map_canvas'); map.getDistance(point1 ,p ...
- mySQL函数根据经纬度计算两点距离
mysql根据经纬度计算两点距离 定义自定义函数 DROP FUNCTION IF EXISTS func_calcDistance ; CREATE FUNCTION func_calcDistan ...
- Java如何根据经纬度计算两点距离?
在实际开发中,计算两点距离的应用场景有很多,比如,钉钉的打卡功能,超过距离不允许打卡. 经纬度实体类 /** *Data是lombok的注解,提供类的get.set.equals.hashCode.t ...
- django经度纬度计算两点距离实例及微信商家付款给用户接口实例
长路漫漫,未知作伴. python 根据经度纬度计算两点距离 小数点保留位数 base加时间戳加密 十六进制数字转十进制字符串 微信获取用户openid 云通讯发送短信接口 django 微信小程序提 ...
- 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...
Android studio 百度地图开发(6)Marker绑定事件.计算两点距离 email:chentravelling@163.com 开发环境:win7 64位,Android Studio, ...
最新文章
- GMTC 大前端时代前端监控的最佳实践
- 数据结构 链表(二)
- 全球及中国混凝土地板行业投资模式分析及前景战略规划报告2022-2027年版
- java 数据排序需求分析_java 实现数组全排序
- 微服务探索与实践—总述
- P2685 [TJOI2012]桥(最短路+线段树)
- 未来计算机论文1500,致未来的自己作文1500字
- 人人都能看懂的 LSTM
- PAT甲题题解-1106. Lowest Price in Supply Chain (25)-(dfs计算树的最小层数)
- 这个世界上有一个故事,叫做《大话西游》。
- php事件编程,php如何实现基于事件驱动的网络编程
- P2661 信息传递 二分图的最小环
- 电脑关机后键盘灯和风扇还在转的解决方案
- Floyd-Warshall算法过程中矩阵计算方法—十字交叉法
- Webgame服务端分布式架构设计
- cookie安全性问题
- 经纬度计算两地之间的距离(原理与方法)
- [敏捷开发培训] 构建Agile MVP
- 武书连2021中国一流大学排行榜发布!北大/中科大/清华位列前三
- 播放器实战07 av_read_frame与av_seek_frame
热门文章
- dw连接服务器文档类型,dw怎么连接服务器的数据库
- 闲暇所学“表白对话框”
- maven自定义脚手架(快速生成项目)
- MySQL线上优化_线上MySQL千万级大表,如何优化?
- win 10 java 安装_win10---Java安装及环境变量配置
- php 获取系统环境变量,java读取操作系统环境变量
- 倩女幽魂服务器维护时间,9月5日在线维护公告
- python 趣味编程课_青少年编程:Python趣味编程基础入门课程
- conda失败说没有写权限_爱情中,为什么男生表白失败,女生还说可以继续做朋友,想过没有...
- mip-link 组件功能升级说明