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

Add option to modify an AbstractFeatureLayer from an object implementing the Tables.jl interface #247

Open
mathieu17g opened this issue Oct 1, 2021 · 1 comment

Comments

@mathieu17g
Copy link
Collaborator

Investigate the possibility and interest (cf. #238 (comment)) to modify an AbstractFeatureLayer from an object implementing the Tables.jl interface via not copying fields and geoms of an AbstractFeatureLayer when converting it to a table.

Here are some thoughts for discussion.
It may suppose to:

  • enrich GDAL Field wrapper with an IField type
  • export to table, fields as wrapped GDAL objects as it is done currently for geometries
  • handle the Garbage Collection of the table and maybe some dataset writing synchronizations
  • find a mechanism preventing users to make unwanted trailing modifications to the AbstractFeatureLayer. Maybe with a do block style Table.rows and Table.columns to protect the AbstractFeatureLayer from trailling modifications
@yeesian
Copy link
Owner

yeesian commented Oct 2, 2021

(Just tossing out some thoughts not necessarily helpful to implement what was described in #247 (comment), but to understand whether it should be pursued and how it might be implemented.)

At its heart, it sounds like it's proposing a new type corresponding to a FeatureLayer. To scope out the design, it might be helpful to clarify when users will prefer to use it over the alternatives:

  1. using the ArchGDAL.FeatureLayer
  2. materializing to a DataFrame/Table in Julia (e.g. GeoDataFrames, GeoTables)

It sounds like the feature/vector counterpart of DiskArrays / GeoData in the raster setting of

  1. using ArchGDAL.Dataset and ArchGDAL.RasterBand,
  2. materializing to an array/image in Julia,
  3. using DiskArrays.

My guess is that such an offering will be compelling if it's able to provide the ergonomics of using DataFames without making copies of the data:

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

No branches or pull requests

2 participants