Geo Fencing - point inside/outside polygon

后端 未结 16 1745
我在风中等你
我在风中等你 2020-11-28 02:15

I would like to determine a polygon and implement an algorithm which would check if a point is inside or outside the polygon.

Does anyone know if there is any exampl

16条回答
  •  自闭症患者
    2020-11-28 02:55

    the polygon is defined as a sequential list of point pairs A, B, C .... A. no side A-B, B-C ... crosses any other side

    Determine box Xmin, Xmax, Ymin, Ymax

    case 1 the test point P lies outside the box

    case 2 the test point P lies inside the box:

    Determine the 'diameter' D of the box {[Xmin,Ymin] - [Xmax, Ymax]} ( and add a little extra to avoid possible confusion with D being on a side)

    Determine the gradients M of all sides

    Find a gradient Mt most different from all gradients M

    The test line runs from P at gradient Mt a distance D.

    Set the count of intersections to zero

    For each of the sides A-B, B-C test for the intersection of P-D with a side from its start up to but NOT INCLUDING its end. Increment the count of intersections if required. Note that a zero distance from P to the intersection indicates that P is ON a side

    An odd count indicates P is inside the polygon

提交回复
热议问题