// 获取到传递的只查询直径(米) 需要转为千米(小数)
BigDecimal a = new BigDecimal(request.getSearchRadius());
BigDecimal b = new BigDecimal(1000);
BigDecimal nums = a.divide(b);
log.info("======计算出来的搜索半径============="+nums);
//查询RMS_SITE 中的经纬度,计算经纬度,request.getCustRoomLon() 获取参数的经纬度
String num = "(SELECT y.int_id FROM RMS_SITE y where 1=1 and SQRT(" +
" ((("+request.getCustRoomLon()+" - y.LONGITUDE) * ACOS(-1) * 12656 *" +
" COS((("+request.getCustRoomLon()+" + y.LONGITUDE) / 2) * ACOS(-1) / 180) / 180) *" +
" (("+request.getCustRoomLon()+" - y.LONGITUDE) * ACOS(-1) * 12656 *" +
" COS((("+request.getCustRoomLon()+" + y.LONGITUDE) / 2) * ACOS(-1) / 180) / 180)) +" +
" ((("+request.getCustRoomLat()+" - y.LATITUDE) * ACOS(-1) * 12656 / 180) *" +
" (("+request.getCustRoomLat()+" - y.LATITUDE) * ACOS(-1) * 12656 / 180))) < "+nums+")";
java计算经纬度
最新推荐文章于 2024-07-12 10:01:50 发布