- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel
这两个值很重要,代表的范围是中国江西,要经过计算得到,具体怎么算,目前为止我也不知道。你可以到网上找找看下有什么办法得到不同地区的这两个值。找到与我分享下QQ285679784,共同学习!(*^__^*) 嘻嘻
计算距离需要用到,网上找到的都是错误的算法,普遍都是缺少这两个值,结果计算不正确
Fx里边是计算的公式
SqlServer
1.函数实现
--计算A(经度,纬度) 与B(经度,纬度) 直接的距离(米)
Create function fn_computer_distance(
@J_A decimal(30,15), --A点经度
@W_A decimal(30,15), --A点纬度
@J_B decimal(30,15), --B点经度
@W_B decimal(30,15) --B点纬度
)
returns decimal(30,4) --返回参数类型
as
begin
declare @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=95600
set @W=111200
set @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 @distance
end
--select dbo.fn_computer_distance(115.9798,29.72767,114.887,29.1727)
存储过程
--计算A(经度,纬度) 与B(经度,纬度) 直接的距离(米)
Create procedure pro_computer
@J1 decimal(38,8),@W1 decimal(38,8),@J2 decimal(38,8),@W2 decimal(38,8)
as
declare @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
文档评论(0)