|
|
|
|
|
by riordan
469 days ago
|
|
> Polygons, curves, or lines are an afterthought. For example, the polygonToCells function returns a set of cells that are entirely within the polygon. If you want to join, you'd need to also have the set of all cells that entirely contain the polygon. I've never found a reliable way to get that. With v4 of h3 they (finally) have a clean syntax for this with polygonToCellsExperimental[0]. Now there’s options for - Cell center is contained in the shape (default)
- Cell is fully contained in the shape
- Overlapping (covering): Cell overlaps the shape at any point
- BBOX: Cell bounding box overlaps shape Makes life a fair bit easier if you’ve gotta deal with H3 polys. And if you’re working locally, DuckDB Spatial’s r-tree indexing[1] can make for a nice stand-in for PostGIS as a quick point-in-polygon solution without the need to spin up a service. [0]: https://h3geo.org/docs/api/regions/#polygontocellsexperiment...
[1]: https://duckdb.org/docs/stable/extensions/spatial/r-tree_ind... |
|
As for DuckDB & rtree, it's alas not a replacement of postgis yet and the indices cannot be used (yet) in joins. In fact, I even have workflows where I iterate over rows in python and run duckdb queries one after the other rather than joining in just one query because of this very issue.