Python對于線和多邊形位置即是否相交進(jìn)行判斷
本人才疏學(xué)淺,對于線和多邊形是否相交查找資料無果,遂個(gè)人依靠shapely包進(jìn)行寫出,存檔自用,能力不高,請勿打擾
import shapely
#對于多邊形進(jìn)行坐標(biāo)點(diǎn)傳入
polygon1 =[(0, int(0.8025*h)), (0, int(0.7275*h)), (int(0.38*w), int(0.6825*h)), (int(0.52*w), int(0.6825*h)), (w, int(0.83*h)), (w, int(0.84*h))]
shapely_poly = shapely.geometry.Polygon(polygon1)? ?#根據(jù)傳入坐標(biāo)進(jìn)行創(chuàng)建多邊形
line1 = [(x1,y1), (x2,y2)]? ?#一條線段的兩個(gè)端點(diǎn)進(jìn)行傳入
shapely_line = shapely.geometry.LineString(line1)? #構(gòu)造一個(gè)有序序列
intersection_line = list(shapely_poly.intersection(shapely_line).coords)? ? ?#對于序列和多邊形是否相交進(jìn)行判斷,若相交則把點(diǎn)傳入intersection_line中
if intersection_line:
? ? print('相交')? #若不為空則相交
? ?pass
標(biāo)簽: