《Excel丶Sqlserver计算中国经纬度距离函数丶方法丶公式.doc》由会员分享,可在线阅读,更多相关《Excel丶Sqlserver计算中国经纬度距离函数丶方法丶公式.doc(3页珍藏版)》请在金锄头文库上搜索。
1、Excel这两个值很重要,代表的范围是中国江西,要经过计算得到,具体怎么算,目前为止我也不知道。你可以到网上找找看下有什么办法得到不同地区的这两个值。找到与我分享下QQ285679784,共同学习!(*_*) 嘻嘻计算距离需要用到,网上找到的都是错误的算法,普遍都是缺少这两个值,结果计算不正确Fx里边是计算的公式SqlServer1.函数实现-计算A(经度,纬度) 与B(经度,纬度) 直接的距离(米)Create function fn_computer_distance(J_A decimal(30,15),-A点经度W_A decimal(30,15),-A点纬度J_B decimal(3
2、0,15),-B点经度W_B decimal(30,15)-B点纬度)returns decimal(30,4) -返回参数类型asbegindeclare J decimal(30,15) -经度方向距离declare W decimal(30,15) -纬度方向距离declare A decimal(30,15) -经度方向距离declare B decimal(30,15) -纬度方向距离declare distance decimal(30,15) -两地间的距离set J=95600set W=111200set A=(J_A-J_B)*J)*(J_A-J_B)*J)set B=(W
3、_A-W_B)*W)*(W_A-W_B)*W)set distance=sqrt(A+B) -sqrt 求平方根 例如: 4=sqrt(16)return distanceend-select dbo.fn_computer_distance(115.9798,29.72767,114.887,29.1727)2. 存储过程-计算A(经度,纬度) 与B(经度,纬度) 直接的距离(米)Create procedure pro_computerJ1 decimal(38,8),W1 decimal(38,8),J2 decimal(38,8),W2 decimal(38,8)asdeclare distance decimal(38,4)declare one decimal(38,4)declare two decimal(38,4)set one=(J1-J2)*95600)*(J1-J2)*95600)set two=(W1-W2)*111200)*(W1-W2)*111200)set distance=SQRT(one+two)print distance-4位参数(A,B,C,D)-A A点的经度-B A点的纬度-C B点的经度-D B点的纬度-exec pro_computer 115.9798,29.72767,114.887,29.1727