When determining if a polygon contains a multipoint only one point of the multipoint needs to intersect with the interior of the polygon. The other points can be located on the boundary of the polygon.
The current implementation of booleanContains insists every point of the multipoint intersects with the interior of the polygon, which is incorrect.
Example:
{
"type": "Polygon",
"coordinates": [
[
[0, 0],
[1, 0],
[1, 1],
[0, 1],
[0, 0]
]
]
}
{
"type": "MultiPoint",
"coordinates": [
[0.5, 0.5],
[1, 1]
]
}
Currently returns false, even though the conditions are met by the interior of the polygon being intersected by at least one point of the multipoint's interior. References https://en.wikipedia.org/wiki/DE-9IM:
$$\begin{bmatrix}
T & * & * \\\
* & * & * \\\
F & F & *
\end{bmatrix}$$