Java判断地图坐标(经度,纬度)是否在多边形区域或圆形区域内

本文介绍了如何使用Java编程语言实现判断一个点是否在多边形区域的功能,以及利用RedisGEO数据库操作来处理地理位置信息,包括geoadd、geodist、georadius和georadiusbymember等命令的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​欢迎光临我的博客查看最新文章: https://river106.cn

在地图上,可以使用经纬度确定一个位置,如上海体育场(121.449391,31.188228),如果知道了2个地点的经纬度,我们就能在地图上找到其位置及2点的距离,
百度地图或高德地图提供了相应的服务;如果将多个坐标点连成多边形区域,如何判断某个坐标点是否在多边形区域内,如下工具类。

Java工具类

import java.awt.geom.Point2D;
import java.util.ArrayList;
import java.util.List;

public class MapUtils {
   
    public static final class MapU {
   
        public static final double EARTH_RADIUS = 6378.137;
        public static final int N_2 = 2;
        public static final int N_1000 = 1000;
        public static final double N_180 = 180.0;
    }

    /**
     * 判断一个点是否在圆形区域内
     * @param pointLon  判断点经度
     * @param pointLat  判断点维度
     * @param centerLon 圆心经度
     * @param centerLat 圆心维度
     * @param radius    半径
     * @return boolean
     */
    public static boolean isInCircle(double pointLon, double pointLat, double centerLon, double centerLat, double radius) {
   

        return getDistance(pointLon, pointLat,
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值