After many and long discussions we are almost ready to start implement (SatNOGS) Satellite ID. This is a quick FAQ and an overview on how we are going to move. Any feedback or questions are more than welcome.
Why another ID, or why not using NORAD ID?
We need an ID that will allow us to uniquely identify satellites and to uniquely relate Artifacts with them. NORAD ID can not be used, as a satellite can have 0, 1 or more than one possible NORAD IDs, making this ID unusable.
What is an Artifact?
For those not familiar with the term, that is used lately, artifact is a combination of a result and its metadata of an observation. We are still looking for the best way to store artifacts in DB, but we have found and we currently experiment with HDF5 for transferring artifacts from clients to DB. About the metadata, Metasat project is in progress. Metasat is focused on describe the structure and the fields of the metadata that are related with space missions.
Are we going to change SiDS or how SiDS will change?
The DB endpoint for Artifacts will not be compatible with SiDS. SiDS endpoint will remain, until is fully deprecated. So, the goal is to move to better ways/protocols that will allow us to keep observations results in a better and more scientific way. And a way to do this is by implementing Satellite ID.
Who is going to create these IDs?
There will be two ways to create a Satellite ID:
- Creating a Satellite object in DB
- Receive Artifact with a new Satellite ID
Will this be a UUID?
Technically yes, practically due to the nature of DB and how we are going to accept Artifacts, no. It would be possible to merge or split “Satellite” objects as there have been cases and there will be ones that demand to be able to merge or split.
How clients, that send Artifacts, would be able to generate an ID?
For generating these IDs, we are going to use a library called Nano ID which is available in several programming languages. So any client would be able by using Nano ID to generate Satellite IDs.
Note: Generating an ID on a client will be necessary in case that there isn’t one available on DB, also developers and users of such clients will be encouraged to create satellite entries directly in DB, instead of using the “Sending Artifacts” way.