| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:存储过程 里的两表数据计算问题
只看楼主 加入收藏
kgdipbyve
Rank: 2
等 级:论坛游民
帖 子:346
专家分:35
注 册:2008-5-4
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:3 
存储过程 里的两表数据计算问题
程序代码:
create procedure tests
as

select a.road_id,a.termid,a.User_ID,b.longitude,b.latitude from  SYSTEM_DATA_ROAD a,SYSTEM_DATA_ROAD_INFO b where a.begin_date <'2011-12-13' and a.begin_date>'2011-12-12' and a.road_id =b.road_id and b.timeat>'2011-12-12' and b.timeat<'2011-12-13'


select  m.region_id,m.corp_id,m.corp_cnname,m.corp_address,n.longitude,n.latitude from system_data_corp m,system_data_corp_reg n where m.corp_id=n.corp_id and (n.longitude<>'0' or n.latitude<>'0')




go
上面的是存储过程
我想把得到的  b.longitude,b.latitude    n.longitude,n.latitude   带到一个计算公式里进行计算。 不知道怎么写。请人指点。
下面就是个计算公式。
程序代码:
            double y1 =b.longitude         
            double y2 = b.latitude
            double x1 = n.longitude           
            double x2 = n.latitude
            double Ea = 6378137
            double Eb = 6356725
            Long = y1                   
            Lat =  x1
            Long2 = y2                   
            Lat2 =  x2
            LongRad = Long *  3.1415926 / 180;
            LatRad = Lat *  3.1415926  / 180;
            Ec = Eb + (Ea - Eb) * (90 - Lat) / 90;
            Ed = Ec * Math.Cos(LatRad);

            LongRad2 = Long2 * 3.1415926 / 180;
            LatRad2 = Lat2 * 3.1415926  / 180;
            Ec2 = Eb + (Ea - Eb) * (90 - Lat) / 90;
            Ed2 = Ec * Math.Cos(LatRad2);




             double dx = (LongRad2 - LongRad) * Ed;
            double dy = (LatRad2 - LatRad) * Ec;
            double d = Sqrt(dx * dx + dy * dy);
           
   




[ 本帖最后由 kgdipbyve 于 2011-12-14 10:19 编辑 ]
搜索更多相关主题的帖子: 存储 计算 
2011-12-14 10:10
johnjiang
Rank: 2
等 级:论坛游民
帖 子:3
专家分:10
注 册:2011-12-20
收藏
得分:10 
先把公式封装成一个函数吧,再执行
select  m.region_id,m.corp_id,m.corp_cnname,m.corp_address,n.longitude,n.latitude,fun(n.longitude,n.latitude) from system_data_corp m,system_data_corp_reg n where m.corp_id=n.corp_id and (n.longitude<>'0' or n.latitude<>'0')
2011-12-20 12:30
panxingren
Rank: 3Rank: 3
来 自:广西
等 级:论坛游侠
威 望:1
帖 子:49
专家分:191
注 册:2011-7-13
收藏
得分:10 
不懂啊,进来学习的

工作、学习是一种心态,不求一日千里,但求循序渐进。
2011-12-21 16:41
songgyun
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-1-6
收藏
得分:0 
学习
2012-01-06 16:22
快速回复:存储过程 里的两表数据计算问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018371 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved