zoukankan      html  css  js  c++  java
  • 面是否包含点的算法

    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;
    }





  • 相关阅读:
    Web开发快速上手
    前端概述
    Python语言进阶
    图像和办公文档处理
    网络编程
    进程和线程
    正则表达式
    面向对象进阶
    面向对象
    js 获取指定时间上月26 ,
  • 原文地址:https://www.cnblogs.com/Pharaoh/p/3242607.html
Copyright © 2011-2022 走看看