计算两点间间距的平方
2014-08-02 09:54:41| 分类:
Scala
| 标签:
|举报
|字号大中小 订阅
import Math.{cos, PI,sqrt,abs }
def deg2km_Distance(lon1: Double, lat1: Double, lon2: Double, lat2: Double) = {
val dAvgLat = (lat1 + lat2) / 2.0 * PI / 180.0
val dKmx = abs(lon2 - lon1) / 1000.0 * ((111415.1 * cos(dAvgLat)) - (94.54999 * cos(3.0 * dAvgLat)) - (0.12 * cos(5.0d * dAvgLat)))
val dKmy = abs(lat2 - lat1) / 1000.0 * (111132.1 - (566.05 * cos(2.0d * dAvgLat)) + (1.2 * cos(4.0d * dAvgLat)) - (0.003d * cos(6.0d * dAvgLat)))
(dKmx,dKmy)
}
def sqr(x: Double) = x * x
def get_r2(lon1: Double, lat1: Double, lon2: Double, lat2: Double) = {
val dist_km = deg2km_Distance(lon1,lat1,lon2,lat2)
sqr(dist_km._1) + sqr(dist_km._2)
}
评论这张
转发至微博
转发至微博
评论