我是Java新手 . 我创造了一个圆形的地理围栏 . 我知道中心(纬度,经度)点和半径(以米为单位) . 我想检查地理点(即纬度,经度)是否在此围栏内,如果是真,我想找到该地理点与中心点之间的距离 . 我怎么能在java中这样做 . 在mysql中有一个查询来执行此操作
SELECT tripid,create_time, ( 6371 * acos( cos( radians(8.475316) ) * cos(
radians(lattitude ) ) * cos(
radians( longitude ) - radians(76.962528) ) + sin( radians(8.475316) ) * sin(
radians( lattitude ) ) ) ) AS
distance
FROM pack_history where speed<5 and tripid=685 HAVING distance < 0.10 ORDER BY
create_time desc LIMIT 0 ,100;
我怎样才能在Java中实现这个类似的功能?
1 回答
您只需要一个计算两个纬度/经度坐标之间距离的方法 . (在这里搜索SO或互联网,很容易找到) .
如果距离<r则该点在圆圈内 .