• 面是否包含点的算法


    from arcgis Javascript api:
     
    function polygonContainPoint(pt,polygon) {
        var rings = polygon.rings,
            ring, bresult = false,
            pt1, pt2, ringlength, j, i, indexrings, ringslength = rings.length;
        for (indexrings = 0; indexrings < ringslength; indexrings++) {
            ring = rings[indexrings];
            ringlength = ring.length;
            j = 0;
            for (i = 0; i < ringlength; i++) {
                j++;
                if (j === ringlength) {
                    j = 0;
                }
                pt1 = ring[i];
                pt2 = ring[j];
                if ((pt1[1] < pt.y && pt2[1] >= pt.y || pt2[1] < pt.y && pt1[1] >= pt.y) && (pt1[0] + (pt.y - pt1[1]) / (pt2[1] - pt1[1]) * (pt2[0] - pt1[0]) < pt.x)) {
                    bresult = !bresult;
                }
            }
        }
        return bresult;
    }





  • 相关阅读:
    第一次结对作业
    第二次编程作业
    第一次编程作业
    第一次博客作业*
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次个人编程作业
    第一次个人编程作业
  • 原文地址:https://www.cnblogs.com/Pharaoh/p/3242607.html
Copyright © 2020-2023  润新知