ibis icon indicating copy to clipboard operation
ibis copied to clipboard

bug: passing geospatial shapely literals to a geospatial expression is broken

Open ncclementi opened this issue 1 year ago • 0 comments

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

ncclementi avatar Jan 30 '24 00:01 ncclementi