计算一个点是否在多边形里 Python 版
2018-07-20 来源:open-open
[Python]代码
def isInsidePolygon(pt, poly): c = False i = -1 l = len(poly) j = l - 1 while i < l-1: i += 1 print i,poly[i], j,poly[j] if ((poly[i]["lat"] <= pt["lat"] and pt["lat"] < poly[j]["lat"]) or (poly[j]["lat"] <= pt["lat"] and pt["lat"] < poly[i]["lat"])): if (pt["lng"] < (poly[j]["lng"] - poly[i]["lng"]) * (pt["lat"] - poly[i]["lat"]) / (poly[j]["lat"] - poly[i]["lat"]) + poly[i]["lng"]): c = not c j = i return c if __name__ == '__main__': abc = [{'lat':1, 'lng':1},{'lat':1, 'lng':4},{'lat':3, 'lng':7},{'lat':4, 'lng':4},{'lat':4, 'lng':1}] print isInsidePolygon({'lat':2, 'lng':5}, abc)
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
下一篇:Python 发送带附件的邮件
最新资讯
热门推荐