(x1 in number , y1 in number , x2 in number, y2 in number)
return number
as
sDX double;
sDY double;
PI double;
dx1 double;
dx2 double;
dx double;
dy double;
distance double;
begin
sDX := 40075360.0; --赤道长度,米
sDY := 39940670.0; --子午线长度,米
PI := 3.14159; --圆周率
--//计算y1, y2所在位置的纬度圈长度
dx1 := sDX*sin(double (90.0-y1)*2*PI/360);
dx2 := sDX*sin(double (90.0-y2)*2*PI/360);
dx := (dx1+dx2)/2 * (x1-x2) / 360;
dy := sDY * (y2-y1) / 360;
distance := sqrt (dx*dx + dy*dy);
return distance;
exception
when others then
return 0;end;
return number
as
sDX double;
sDY double;
PI double;
dx1 double;
dx2 double;
dx double;
dy double;
distance double;
begin
sDX := 40075360.0; --赤道长度,米
sDY := 39940670.0; --子午线长度,米
PI := 3.14159; --圆周率
--//计算y1, y2所在位置的纬度圈长度
dx1 := sDX*sin(double (90.0-y1)*2*PI/360);
dx2 := sDX*sin(double (90.0-y2)*2*PI/360);
dx := (dx1+dx2)/2 * (x1-x2) / 360;
dy := sDY * (y2-y1) / 360;
distance := sqrt (dx*dx + dy*dy);
return distance;
exception
when others then
return 0;end;
解决方案 »
- JAVA中引用存储过程错误
- PL/SQL中如何查询检索出的数据件数
- 达人进来帮忙看下,多谢
- 数据库尚未设置
- 请怎样根据原来存在的表的表结构创建一张新表??
- TNS:无法处理服务名,都可能存在哪些问题?
- 求一本优质初中级水平学oracle资料
- oracle速度变慢,怎样解决呢? 我的oracle服务器开始启动的时候速度非常快,可是当用户用一段时间后,速度就很慢了
- 用sqlldr导入文本文件,如何在源txt的第一行数据之前放字段名,同时使log文件不报错?
- 请那位大哥指点一下,这个存储过程该怎样写!
- 同样的查询语句在SQLserver下是好用的,可是在oracle下执行出错,望解答
- 求一条超高难度的SQL语句,跟贴有分。
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
拒绝日货。