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));
}
}
(SELECT REGEXP_SUBSTR('01;2;3','[^;]+',1,ROWNUM) FROM DUAL
CONNECT BY ROWNUM<=LENGTH('01;2;3')-LENGTH(REPLACE('01;2;3',';'))+1)
分享到:
相关推荐
在Java编程中,根据两点的经纬度来计算距离是一项常见的任务,特别是在地理信息系统(GIS)或者定位服务相关的应用中。这个任务通常涉及到地球表面的距离计算,因为经纬度是地球坐标系统的一部分。以下是一些相关的...
在IT领域,尤其是在地理信息系统(GIS)和移动应用开发中,计算两个地理位置点之间的距离是一项常见的任务。本示例着重讲解如何使用Java编程语言来实现这个功能,特别是针对地图测距算法的应用。"计算两个经纬度之间...
sqlserver根据经纬度计算两点间距离sqlserver根据经纬度计算两点间距离sqlserver根据经纬度计算两点间距离sqlserver根据经纬度计算两点间距离
根据经纬度计算两点之间的距离,传输过来坐标点,直接计算两点之间的距离
在JAVA编程中,计算两点经纬度之间的距离是一个常见的地理计算任务,主要应用于地图应用、导航系统或者地理位置服务等。这个任务通常使用哈弗辛公式(Haversine formula)来实现,该公式基于球面三角学,可以计算...
通过经纬度算出两点间的距离,经过仔细对比及参照,相对精确度较高,请大家放心使用
在IT行业中,尤其是在地理信息系统(GIS)或者地图应用开发中,计算地球上两点之间的距离和方位角是一项基础且重要的任务。本篇文章将详细讲解如何利用Java编程语言实现这一功能,主要基于给定的"经纬度计算"标签...
- `p1` 和 `p2` 分别表示两个点的经纬度坐标,其中 `x` 表示经度,`y` 表示纬度。 - `Ri` 定义了地球的平均半径,这里取值为6371千米,即6,371,000米。 2. **核心算法**: - 使用`Math.acos()`函数来计算余弦值...
3. **计算距离**:利用Haversine公式计算两点之间的球面距离。该公式考虑了地球表面的曲率,并通过求解球面三角形的一个边长来得到两点之间的距离。 \[ s = 2 \times asin(\sqrt{sin^2(\frac{a}{2}) + cos...
在IT行业中,我们经常...综上所述,这个“批量根据经纬度计算距离”的项目是地理信息处理的一个实用案例,涵盖了地理坐标系统、坐标转换、距离计算和批量处理等多个技术点,对于理解和处理地理空间数据具有重要意义。
Java计算两个经纬度点之间距离(以米为单位)算法, 纯Java代码, 可供参考。 在具体项目中使用过。
java-业务需求需要根据经纬度计算面积,整理了一下根据经纬度计算面积,根据openlayers借鉴改写,亲测可用!
"电子-根据两点经纬度计算距离.doc" 根据两点经纬度计算距离是基于地球坐标系的概念。地球坐标系是由经度和纬度组成的。经度是指从本初子午线到某点的水平角距离,纬度是指某点与地球赤道面的夹角。 在地球坐标系...
根据经纬度距离和方位角计算新的经纬度,计算经纬度两点间距离
在IT领域,尤其是在地理信息系统(GIS)和导航应用中,经纬度计算距离是一个常见的需求。经纬度是地球坐标系统中的两个参数,分别表示地球表面某点的经度和纬度,用于精确定位地理位置。本篇文章将深入探讨如何利用...
在“经纬度计算距离经纬度计算距离工具(gpsCal)下载 2.0绿色版_ - pc6下载站.url”这个链接中,我们可以找到更详细的软件下载和使用信息。 “c2g.pl”、“g2c.pl”和“upd.pl”可能是Perl脚本,分别用于坐标转换...
### 计算两经纬度之间的距离存储过程_mysql 在MySQL中,经常需要处理与地理位置相关的数据,例如在地图应用、物流系统或者任何需要基于位置的服务(LBS)的应用程序中。其中一项常见的需求就是计算两个地理位置之间...
已知两点经纬度,自动计算距离。在表格分别输入两点的经度、纬度,即可计算出这两个点之间的距离长度。已知两点经纬度,自动计算距离。在表格分别输入两点的经度、纬度,即可计算出这两个点之间的距离长度。
在Java编程中,计算两个经纬度之间的距离通常涉及到地理坐标系统的知识,主要使用Haversine公式或者Spherical Law of Cosines。Haversine公式适用于球面几何,它能计算地球上两点之间的大圆距离,而Spherical Law of...
计算两个经纬度距离.java