我有2个表1是设施和1是客户。都包含经纬度,我们希望查询获取客户的可用1英里的设施。我们不想使用postgres功能,如ST_Distance。任何替代查询来实现它。
daolsyd01#
迭代位置的java列表,并使用半正矢公式来计算以英里为单位的距离私有双倍距离(双倍LatOne,双倍LonOne,双倍LatTwo,双倍LonTwo){ LonOne = Math. to Radians(LonOne);LonTwo =数学到弧度(LonTwo);LatOne =数学到弧度(LatOne);LatTwo =数学到弧度(LatTwo);双Δ Lon = Lon二-Lon一;双Δ Lat 2 = Lat 2-Lat 1;双精度公式=数学幂(数学sin(deltaLat / 2),2)+数学cos(LatOne)* 数学cos(LatTwo)* 数学幂(数学sin(deltaLon / 2),2);双f输出= 2 * 数学公式(数学公式));返回(f输出 * 3956);}
1条答案
按热度按时间daolsyd01#
迭代位置的java列表,并使用半正矢公式来计算以英里为单位的距离私有双倍距离(双倍LatOne,双倍LonOne,双倍LatTwo,双倍LonTwo){ LonOne = Math. to Radians(LonOne);LonTwo =数学到弧度(LonTwo);LatOne =数学到弧度(LatOne);LatTwo =数学到弧度(LatTwo);
双Δ Lon = Lon二-Lon一;双Δ Lat 2 = Lat 2-Lat 1;双精度公式=数学幂(数学sin(deltaLat / 2),2)+数学cos(LatOne)* 数学cos(LatTwo)* 数学幂(数学sin(deltaLon / 2),2);双f输出= 2 * 数学公式(数学公式));
返回(f输出 * 3956);}