ibis
ibis copied to clipboard
bug: passing geospatial shapely literals to a geospatial expression is broken
What happened?
On main passing directly shapely objects to a geospatial expression breaks (this works on the-epic-split)
Minimal reproducible example
import ibis
import shapely
ibis.options.interactive = True
t = ibis.examples.zones.fetch()
p = shapely.Point(935996.821, 191376.75)
plit = ibis.literal(p, "geometry")
t.geom.contains(plit) #this works
But passing directly p breaks
t.geom.contains(p)
BinderException: Binder Error: No function matches the given name and argument types 'ST_Contains(GEOMETRY, VARCHAR)'. You might need to add explicit type casts.
Candidate functions:
ST_Contains(POLYGON_2D, POINT_2D) -> BOOLEAN
ST_Contains(GEOMETRY, GEOMETRY) -> BOOLEAN
What version of ibis are you using?
Ibis main
What backend(s) are you using, if any?
duckdb
Relevant log output
No response
Code of Conduct
- [X] I agree to follow this project's Code of Conduct