资源描述:
《excel丶sqlserver计算中国经纬度距离函数丶方法丶公式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Excel这两个值很重要,代表的范围是中国江西,要经过计算得到,具体怎么算,目前为止我也不知道。你可以到网上找找看下有什么办法得到不同地区的这两个值。找到与我分享下QQ285679784,共同学习!(*^__^*)嘻嘻计算距离需要用到,网上找到的都是错误的算法,普遍都是缺少这两个值,结果计算不正确Fx里边是计算的公式SqlServer1.函数实现--计算A(经度,纬度)与B(经度,纬度)直接的距离(米)Createfunctionfn_computer_distance(@J_Adecimal(30,15),--A点经度@W_Adecima
2、l(30,15),--A点纬度@J_Bdecimal(30,15),--B点经度@W_Bdecimal(30,15)--B点纬度)returnsdecimal(30,4)--返回参数类型asbegindeclare@Jdecimal(30,15)--经度方向距离declare@Wdecimal(30,15)--纬度方向距离declare@Adecimal(30,15)--经度方向距离declare@Bdecimal(30,15)--纬度方向距离declare@distancedecimal(30,15)--两地间的距离set@J=95600
3、set@W=111200set@A=((@J_A-@J_B)*@J)*((@J_A-@J_B)*@J)set@B=((@W_A-@W_B)*@W)*((@W_A-@W_B)*@W)set@distance=sqrt(@A+@B)--sqrt求平方根例如:4=sqrt(16)return@distanceend--selectdbo.fn_computer_distance(115.9798,29.72767,114.887,29.1727)2.存储过程--计算A(经度,纬度)与B(经度,纬度)直接的距离(米)Createprocedurep
4、ro_computer@J1decimal(38,8),@W1decimal(38,8),@J2decimal(38,8),@W2decimal(38,8)asdeclare@distancedecimal(38,4)declare@onedecimal(38,4)declare@twodecimal(38,4)set@one=((@J1-@J2)*95600)*((@J1-@J2)*95600)set@two=((@W1-@W2)*111200)*((@W1-@W2)*111200)set@distance=SQRT(@one+@two)
5、print@distance--4位参数(A,B,C,D)--AA点的经度--BA点的纬度--CB点的经度--DB点的纬度--execpro_computer115.9798,29.72767,114.887,29.1727