美文网首页
Arcgis for Android 判断指定点是否在多边形内部

Arcgis for Android 判断指定点是否在多边形内部

作者: 曾经的追风少年 | 来源:发表于2016-11-11 13:37 被阅读0次

Arcgis for Android 判断指定点是否在指定多边形的内部方法:

    /**
     * 判断坐标点是否落在指定的多边形区域内
     * @param point  指定的坐标点
     * @param list   多变形区域的节点集合
     * @return   True 落在范围内 False 不在范围内
     */
    public boolean IsWithIn(Point point, List<Point> list) {
        double x = point.getX();
        double y = point.getY();

        int isum, icount, index;
        double dLon1 = 0, dLon2 = 0, dLat1 = 0, dLat2 = 0, dLon;

        if (list.size() < 3) {
            return false;
        }

        isum = 0;
        icount = list.size();

        for (index = 0; index < icount - 1; index++) {
            if (index == icount - 1) {
                dLon1 = list.get(index).getX();
                dLat1 = list.get(index).getY();
                dLon2 = list.get(0).getX();
                dLat2 = list.get(0).getY();
            } else {
                dLon1 = list.get(index).getX();
                dLat1 = list.get(index).getY();
                dLon2 = list.get(index + 1).getX();
                dLat2 = list.get(index + 1).getY();
            }

            // 判断指定点的 纬度是否在 相邻两个点(不为同一点)的纬度之间
            if (((y >= dLat1) && (y < dLat2)) || ((y >= dLat2) && (y < dLat1))) {
                if (Math.abs(dLat1 - dLat2) > 0) {
                    dLon = dLon1 - ((dLon1 - dLon2) * (dLat1 - y)) / (dLat1 - dLat2);
                    if (dLon < x){
                        isum++;
                    }
                }
            }
        }

        if ((isum % 2) != 0) {
            return true;
        } else {
            return false;
        }
    }

相关文章

  • Arcgis for Android 判断指定点是否在多边形内部

    Arcgis for Android 判断指定点是否在指定多边形的内部方法:

  • 非零环绕数&奇偶原则&多边形镂空渲染

    GPU 如何判断多边形内部顶点是否进行渲染 1. 判断多边形是否为自相交图形 如果多边形内部的顶点没有重合的顶点,...

  • 非零环绕数规则和奇-偶规则(Non-Zero Winding N

    在图形学中判断一个点是否在多边形内,若多边形不是自相交的,那么可以简单的判断这个点在多边形内部还是外部;若多边形是...

  • iOS CAShapeLayer fillRule

    在图形学中判断一个点是否在多边形内,若多边形不是自相交的,那么可以简单的判断这个点在多边形内部还是外部;若多边形是...

  • 判断是否在多边形内

    判断是否在多边形内1 生成测验数据在arcgis中将excel中的点依次相连产生面状范围,选取面内和面外的一些测验...

  • 2021-08-31【Math】判断点在多边形内

    点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部 - 左正 - 博客园 (cnblogs.com)[ht...

  • 地图内多边形

    在地图内绘制多边形,判断点是否在多边形内 isContainsPoint(point)传入当前经纬度po是多边形的...

  • spring mvc 获取ajax向controller传递的对

    基本需求:地图绘制多边形,获取多边形的extent并传给后台查询出范围内的数据后,在去前端遍历判断是否在多边形内。...

  • 凸面多边形寻路算法

    写在前面 什么是凸面多边形 凸多边形是一个内部为凸集的简单多边形。凸多边形(Convex Polygon)指如果把...

  • 回文数

    我真的太喜欢定点调试了,如果看不懂别人循环代码的小伙伴,一定要试试定点调试。 判断一个整数是否是回文数。回文数是指...

网友评论

      本文标题:Arcgis for Android 判断指定点是否在多边形内部

      本文链接:https://www.haomeiwen.com/subject/qpffpttx.html