-
Notifications
You must be signed in to change notification settings - Fork 991
Open
Description
Currently both MultiLineString and MultiPolygon are unsupported feature types for the booleanWithin function. However, I it should be possible to do some level of comparison for both of them.
For MultiLineString:
- Cannot be within Point, MultiPoint.
- Can be within LineString, MultiLineString. Here is an example of a MultiLineString being within a LineString.
- For this I imagine a function
isMultiLineOnLinewhich essentially just flattens the MultiLine into an array of Lines and then callsisLineOnLinefor all of these lines and returns true if and only if all the flattened lines are on the comparison line.
- For this I imagine a function
- Can be within Polygon, MultiPolygon
- For this I imagine a function
isMultiLineInPolywhich essentially just flattens the MultiLine into an array of Lines and then callsisLineInPolyfor all of these lines and returns true if and only if all the flattened lines are in the comparison polygon.
- For this I imagine a function
For MultiPolygon
- Cannot be within Point, MultPoint
- Cannot be within LineString, MultiLineString
- Can be within Polygon, MultiPolygon. Here is an example of a MultiPolygon being within a Polygon
- For this I imagine a function
isMultiPolyInPolywhich essentially just flattens the MultiPolygon into an array of Polygons and then callsisPolyInPolyfor all of these polygons and returns true if and only if all the flattened polygons are in the comparison polygon.
- For this I imagine a function
I am happy to implement this, I just wanted to check with the core maintainers to see if they agree with this change.
Metadata
Metadata
Assignees
Labels
No labels