根据经纬度分别用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存储过程计算两点距离相关推荐

  1. 两点间距离公式计算机,已知两点经纬度,用excel计算两点距离的公式?(转

    已知两点经纬度,用excel计算两点距离的公式?(转 (2008-08-03 17:51:26) 标签: 杂谈 用EXCEL进行高斯投影换算 从经纬度BL换算到高斯平面直角坐标XY(高斯投影正算),或 ...

  2. js距离米转换为千米_js根据经纬度计算两点距离

    地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米,平均半径6371.004千米.如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R.如 ...

  3. js 根据百度地图提供经纬度计算两点距离

    正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离: var map = new BMap.Map('map_canvas'); map.getDistance(point1 ,p ...

  4. js根据经纬度计算两点距离

    js根据经纬度计算两点距离 1.html <button type="button" οnclick="distanceByLnglat(116.95400,39. ...

  5. 百度地图根据经纬度计算距离php,详解js根据百度地图提供经纬度计算两点距离...

    正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离: var map = new BMap.Map('map_canvas'); map.getDistance(point1 ,p ...

  6. mySQL函数根据经纬度计算两点距离

    mysql根据经纬度计算两点距离 定义自定义函数 DROP FUNCTION IF EXISTS func_calcDistance ; CREATE FUNCTION func_calcDistan ...

  7. Java如何根据经纬度计算两点距离?

    在实际开发中,计算两点距离的应用场景有很多,比如,钉钉的打卡功能,超过距离不允许打卡. 经纬度实体类 /** *Data是lombok的注解,提供类的get.set.equals.hashCode.t ...

  8. django经度纬度计算两点距离实例及微信商家付款给用户接口实例

    长路漫漫,未知作伴. python 根据经度纬度计算两点距离 小数点保留位数 base加时间戳加密 十六进制数字转十进制字符串 微信获取用户openid 云通讯发送短信接口 django 微信小程序提 ...

  9. 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...

    Android studio 百度地图开发(6)Marker绑定事件.计算两点距离 email:chentravelling@163.com 开发环境:win7 64位,Android Studio, ...

最新文章

  1. GMTC 大前端时代前端监控的最佳实践
  2. 数据结构 链表(二)
  3. 全球及中国混凝土地板行业投资模式分析及前景战略规划报告2022-2027年版
  4. java 数据排序需求分析_java 实现数组全排序
  5. 微服务探索与实践—总述
  6. P2685 [TJOI2012]桥(最短路+线段树)
  7. 未来计算机论文1500,致未来的自己作文1500字
  8. 人人都能看懂的 LSTM
  9. PAT甲题题解-1106. Lowest Price in Supply Chain (25)-(dfs计算树的最小层数)
  10. 这个世界上有一个故事,叫做《大话西游》。
  11. php事件编程,php如何实现基于事件驱动的网络编程
  12. P2661 信息传递 二分图的最小环
  13. 电脑关机后键盘灯和风扇还在转的解决方案
  14. Floyd-Warshall算法过程中矩阵计算方法—十字交叉法
  15. Webgame服务端分布式架构设计
  16. cookie安全性问题
  17. 经纬度计算两地之间的距离(原理与方法)
  18. [敏捷开发培训] 构建Agile MVP
  19. 武书连2021中国一流大学排行榜发布!北大/中科大/清华位列前三
  20. 播放器实战07 av_read_frame与av_seek_frame

热门文章

  1. dw连接服务器文档类型,dw怎么连接服务器的数据库
  2. 闲暇所学“表白对话框”
  3. maven自定义脚手架(快速生成项目)
  4. MySQL线上优化_线上MySQL千万级大表,如何优化?
  5. win 10 java 安装_win10---Java安装及环境变量配置
  6. php 获取系统环境变量,java读取操作系统环境变量
  7. 倩女幽魂服务器维护时间,9月5日在线维护公告
  8. python 趣味编程课_青少年编程:Python趣味编程基础入门课程
  9. conda失败说没有写权限_爱情中,为什么男生表白失败,女生还说可以继续做朋友,想过没有...
  10. mip-link 组件功能升级说明