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

lineage only for some operators? #92

Open
hugoledoux opened this issue Jul 14, 2021 · 3 comments
Open

lineage only for some operators? #92

hugoledoux opened this issue Jul 14, 2021 · 3 comments
Milestone

Comments

@hugoledoux
Copy link
Member

Why certain commands are included in the lineage (eg merge, filter_lod), while others are not (eg. clean), when all of them modifies the citymodel.

@Athelena
Copy link
Contributor

We saw this as a lineage vs. versioning balance. In theory, lineage only cares about major geoprocessing steps. Something like clean is better stored in the versioning of a city model, in my opinion. It was also a first step in automatic metadata generation and started with specific major processes with the hope that it might inspire others. Metadata can be subjective so users can also make their own decisions in the end about which steps they wish to include. I think the discussion about lineage vs. versioning is an interesting one and one that is on going. I'm not against other steps being included though, and I hope that by not including them I'm not suggesting that they shouldn't be included, just that we didn't prioritise them at the time for lineage. The more metadata the better.

@liberostelios
Copy link
Contributor

One thing to add here, from a developer's perspective, is that adding a lineage item falls under the responsibility of the individual commands and might require different implementation per operation. So, we should keep track of that. Unfortunately, the boundaries of what should be in lineage and how it's documented aren't always clear, afaik myself, so it's something to think about while moving forwards and try and improve as we implement more things in cjio.

@hugoledoux
Copy link
Member Author

hugoledoux commented Jul 16, 2021

New behaviour of cjio is the following (d094f85):

If "+metadata-extended" is in the file then ops that modify the file (merge, subset, filter_lod) will update the
"+metadata-extended" (with all the advanced metadata, including lineage), if not present then nothing is added.

One can simply add the "+metadata-extended" with the new cjio operator:
metadata_create

And one can delete the "+metadata-extended" (which would mean the ops won't store or update metadata) with the new cjio operator: metadata_remove

I also bluntly decided to start the name of cjio with the property and
add the verb after, easier for users, so we have for metadata:

metadata_create            Add the +metadata-extended properties...
metadata_get               Shows the metadata and +metadata-extended of...
metadata_remove            Remove the +metadata-extended properties.
metadata_update            Update the +metadata-extended for properties...

Lineage for clean or remove_textures is not implemented yet, but I reckon it should.

@balazsdukai balazsdukai added this to the v0.8.0 milestone Jan 20, 2022
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

4 participants