ADAPT / Standard

ADAPT Standard data model issue management
https://adaptstandard.org
MIT License
8 stars 1 forks source link

provide protobuf schema #140

Closed maltegrosse closed 5 months ago

maltegrosse commented 8 months ago

As mentioned two years ago, a protobuf would be more helpful in sense of data model instead of having an outdated c# implementation. any news on this?

see https://github.com/ADAPT/ADAPT/issues/331

and

https://github.com/maltegrosse/ADAPT-protobuf

knelson-farmbeltnorth commented 8 months ago

@maltegrosse The intent of the ADAPT Standard is to be a platform/language agnostic data model, whereas the earlier ADAPT Framework (github.com/adapt/adapt) is a .net plugin architecture for proprietary file translation.

The json schema (alpha) for the model is in the root of this repo, and documentation is a work in progress at adaptstandard.org. At a high level, most objects are representable as json, with vector layers represented in GeoParquet and raster layers as GeoTiff.

maltegrosse commented 8 months ago

@knelson-farmbeltnorth thank you for clarification. To be honest, it is really hard to follow/implement ADAPT if you not directly involved in internal the development, even I really like the idea and structure the data model provides. Just mentioning few items

Compared to json

zwing99 commented 8 months ago

Hey @maltegrosse, your feedback about the development of this model is accurate. We have struggled how to share the progress. I totally agree that the two websites should start to reference each and give a little clearer picture of what progress has been made. @jim-wilson-kt put the new site together and might be able to help us get that done sooner rather than later. We should lay out some timelines or link to a timeline in this repo or something.

On the topic of protobuf vs json schema, I wonder if you are hearing just "json" and not "json schema". JSON Schema defines a strict schema for json (including types). For what it is worth I personally prefer protobuf over json schema, but a tool called SCORE is being used to model and document ADAPT. SCORE emits json schema as a default. Json Schema has type generators for all sorts of languages (like protofbuf does). I want to be clear you feedback that protobuf might be better is fair and reasonable but it might be better than you think. Take a peak at the links I dropped.

The final thing to think about with relation to your feedback is that ADAPT is not meant to be your internal data model. It is a data model that is sufficient and complete enough to pass around data inside of the Ag Industry. So things like a database emitter, while they could be valuable have some limited value. IMHO. ADAPT standard is meant to be written as a json file (that obeys the linked schema) and a few linked files for the dense geospatial data.

knelson-farmbeltnorth commented 8 months ago

@maltegrosse I agree with @zwing99 that there is still work to do on documentation. Coincidentally, adaptstandard.org was updated today. I hope you find it slightly more informative; there is definitely still much to add.

Re the Framework, it is not deprecated, but it is rather stable at this point. The updates are minor and infrequent. It is widely used to exchange geospatial field operations data between equipment manufacturers and farm software providers. Unfortunately it was never properly documented, and there are a more than a few entities in the model that never got use (or consistent use). We've actively sought to avoid those problems in the Standard.

maltegrosse commented 8 months ago

Thank you both for more detailed explanation, few final thoughts:

knelson-farmbeltnorth commented 8 months ago

@maltegrosse We do intend to provide examples for each scenario, we just haven't got there yet.

knelson-farmbeltnorth commented 6 months ago

@maltegrosse The first six scenarios on the website defining Work Records and Work Orders now contain examples. https://adaptstandard.org/docs/scenarios/

knelson-farmbeltnorth commented 5 months ago

Closing this item for housekeeping of issues on the project page. Please open a new issue for anything additional.

In the case it wasn't clearly stated above for those finding this issue at a later time, the team intentionally chose json-schema for the definition of the standard vs. protobuf.