Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeoPackage reader (GeozeroDatasource impl) #185

Open
kylebarron opened this issue Jan 5, 2024 · 3 comments
Open

GeoPackage reader (GeozeroDatasource impl) #185

kylebarron opened this issue Jan 5, 2024 · 3 comments

Comments

@kylebarron
Copy link
Member

It would be nice to have a GeoPackage reader that handles full attribute conversion into geozero as well for the table. Or is this out of scope because it would require depending on a specific SQL client instead of leaving that choice for the user? I.e. in geoarrow-rs, I'd probably want a sync API, and would probably want to use rusqlite, but others might prefer sqlx.

@kylebarron
Copy link
Member Author

On discord @urschrei mentioned https://github.com/cjriley9/gpkg-rs

@pka
Copy link
Member

pka commented Feb 9, 2024

I'm still unsure about GeozeroDatasource trait implementations. It's going into ogr2ogr territory, but because processing with the geozero callback model is very difficult to parametrize, it will never be on par with GDAL/OGR. Therefore I would stick with the geometry impl and let applications implement the datasource part.

@kylebarron
Copy link
Member Author

but because processing with the geozero callback model is very difficult to parametrize, it will never be on par with GDAL/OGR.

If I understand you correctly, you're saying that supporting, say, a bounding-box filter would be hard to implement because the stream only sees a single coordinate at a time?

To support pushing down queries to the loading stage I was thinking of implementing like a BufferedGeozeroDatasource<T: GeozeroDatasource> which buffers one full feature in memory at a time from the stream and is then able to check if the bounding box of the geometry intersects the query.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants