本文实例为大家分享了python射线法判断点是否位于区域内的具体代码,供大家参考,具体内容如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-10-07 15:49:37
# @Author : Sheldon (thisisscret@qq.com)
# @Blog : 谢耳朵的派森笔记
# @Link : https://www.cnblogs.com/shld/
# @Version : 0.0.1
def isinpolygon(point,vertex_lst:list, contain_boundary=True):
#检测点是否位于区域外接矩形内
lngaxis, lataxis = zip(*vertex_lst)
minlng, maxlng = min(lngaxis),max(lngaxis)
minlat, maxlat = min(lataxis),max(lataxis)
lng, lat = point
if contain_boundary:
isin = (minlng<=lng<=maxlng) & (minlat<=lat<=maxlat)
else:
isin = (minlng
lat and elat>lat: #线段在射线上边
return False
if slat
lat: #交点为下端点,对应spoint
return False
if elat==lat and slat>lat: #交点为下端点,对应epoint
return False
if slng
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

