Comments (10)
This is likely the schema I'll go with, and the reuse section order will correspond to the order of cores listed in the array.
{
"flight_number": 50,
"launch_year": "2017",
"launch_date_unix" : 1509392040,
"launch_date_utc": "2017-10-30T19:34:00Z",
"launch_date_local": "2017-10-30T15:34:00-04:00",
"rocket": {
"rocket_id": "falcon9",
"rocket_name": "Falcon 9",
"rocket_type": "FT",
"first_stage": {
"cores": [
{
"core_serial": "B1042",
"reused" : false,
"land_success": true,
"landing_type": "ASDS",
"landing_vehicle": "OCISLY"
}
]
},
"second_stage": {
"payloads": [
{
"payload_id": "KoreaSat 5A",
"reused" : false,
"customers": [
"KT Corporation"
],
"payload_type": "Satellite",
"payload_mass_kg": 3700,
"payload_mass_lbs": 8157.104,
"orbit": "GTO"
}
]
}
},
"telemetry": {
"flight_club": null
},
"reuse": {
"core": false,
"side_core1": false,
"side_core2": false,
"fairings": false,
"capsule": false
},
"launch_site": {
"site_id": "ksc_lc_39a",
"site_name": "KSC LC 39A",
"site_name_long" : "Kennedy Space Center Historic Launch Complex 39A"
},
"launch_success": true,
"links": {
"mission_patch": "http://spacexpatchlist.space/patches/spacex_f9_044_koreasat_5a_graphic.png",
"reddit_campaign": "https://www.reddit.com/r/spacex/comments/73ttkd/koreasat_5a_launch_campaign_thread/",
"reddit_launch": "https://www.reddit.com/r/spacex/comments/79iuvb/rspacex_koreasat_5a_official_launch_discussion/",
"reddit_recovery": null,
"reddit_media": "https://www.reddit.com/r/spacex/comments/79lmdu/rspacex_koreasat5a_media_thread_videos_images/",
"presskit": "http://www.spacex.com/sites/spacex/files/koreasat5apresskit.pdf",
"article_link": "https://spaceflightnow.com/2017/10/30/spacex-launches-and-lands-third-rocket-in-three-weeks/",
"video_link": "https://www.youtube.com/watch?v=RUjH14vhLxA"
},
"details": "KoreaSat 5A is a Ku-band satellite capable of providing communication services from East Africa and Central Asia to southern India, Southeast Asia, the Philippines, Guam, Korea, and Japan. The satellite will be placed in GEO at 113ΓΒ° East Longitude, and will provide services ranging from broadband internet to broadcasting services and maritime communications."
}
from spacex-api.
ITS ???!
sorry guys BFS... π³
from spacex-api.
This is tricky, and probably better to go with a one size fits all approach to keep the data similar from launch to launch.
I like the approach of these last two, but it requires a pretty big breaking change, likely a necessary one to keep up future data. I'll mock up one of the launches as an example, and we can run it by everyone first, to find the most flexible approach going forward.
from spacex-api.
@petrosh This is a quick rough draft of sorts, few things to consider.
-
Should we move all the reusability data to the first/second stage data? Fairing reuse data doesn't fit anywhere currently.
-
Should the payload data fields stay the same no matter what? Or should we have different fields depending on if it's a satellite, capsule, or BFR launch?
Feel free to edit with more ideas, or if you have a better layout π
{
"flight_number": 50,
"launch_year": "2017",
"launch_date_utc": "2017-10-30T19:34:00Z",
"launch_date_local": "2017-10-30T15:34:00-04:00",
"rocket": {
"rocket_id": "falcon9",
"rocket_name": "Falcon 9",
"rocket_type": "FT",
"first_stage": {
"cores": [
{
"core_serial": "B1042",
"land_success": true,
"landing_type": "ASDS",
"landing_vehicle": "OCISLY"
}
]
},
"second_stage": {
"payloads": [
{
"payload_id": "KoreaSat 5A",
"customers": [
"KT Corporation"
],
"payload_type": "Satellite",
"payload_mass_kg": 3700,
"payload_mass_lbs": 8157.104,
"orbit": "GTO"
}
]
}
},
"telemetry": {
"flight_club": null
},
"reuse": {
"core": false,
"side_core1": false,
"side_core2": false,
"fairings": false,
"capsule": false
},
"launch_site": {
"site_id": "ksc_lc_39a",
"site_name": "KSC LC 39A"
},
"launch_success": true,
"links": {
"mission_patch": "http://spacexpatchlist.space/patches/spacex_f9_044_koreasat_5a_graphic.png",
"reddit_campaign": "https://www.reddit.com/r/spacex/comments/73ttkd/koreasat_5a_launch_campaign_thread/",
"reddit_launch": "https://www.reddit.com/r/spacex/comments/79iuvb/rspacex_koreasat_5a_official_launch_discussion/",
"reddit_recovery": null,
"reddit_media": "https://www.reddit.com/r/spacex/comments/79lmdu/rspacex_koreasat5a_media_thread_videos_images/",
"presskit": "http://www.spacex.com/sites/spacex/files/koreasat5apresskit.pdf",
"article_link": "https://spaceflightnow.com/2017/10/30/spacex-launches-and-lands-third-rocket-in-three-weeks/",
"video_link": "https://www.youtube.com/watch?v=RUjH14vhLxA"
},
"details": "KoreaSat 5A is a Ku-band satellite capable of providing communication services from East Africa and Central Asia to southern India, Southeast Asia, the Philippines, Guam, Korea, and Japan. The satellite will be placed in GEO at 113ΓΒ° East Longitude, and will provide services ranging from broadband internet to broadcasting services and maritime communications."
}
from spacex-api.
Actually I now think was wrong on both the points:
-
It is more flexible to keep the unique
reuse
object, is a useful bit of data and can contain anything, so for FH:reuse.core, reuse.side_core1, reuse.side_core2
would refer torocket.first_stage.cores[0], rocket.first_stage.cores[1], rocket.first_stage.cores[2]
. -
Different fields is better, as per
vehicles
schema the payload is customized insidesecond_stage
for every kind of first stage.
Maybe for the launches, receiving the payload array in the root for F9, and insidesecond_stage
for FH could break some app, even for BF the payload could stay in the root and likereuse
can be expanded smoothly.
So thinking better we could just expect a rocket.first_stage.cores[]
for FH and an interesting rocket.second_stage
for BF π
from spacex-api.
@petrosh Are you saying that the reuse value could be accessed by both reuse.side_core1
AND rocket.first_stage.cores[1].resuse
?
from spacex-api.
No, was just a reminder about the naming convention: we have to know what property refers to which array element.
from spacex-api.
I think I'll keep both and just let people choose how they want to approach it.
from spacex-api.
New schema is live on the V2 endpoints as of #61 π
from spacex-api.
- Love your new entries on
payload_id
andorbit
π "rocket_type": "FT"
we mean full thrust cores, or we wantFH
?- Nice you put day 31 because 0 gives error on date parsing. Worth adding in future a boolean
NET
flag, if true launch date is intended "not early than"?
from spacex-api.
Related Issues (20)
- Querying launches against a provided array of values HOT 2
- Small patch images now have black backgrounds, no longer transparent HOT 1
- Starlink 3-1 is missing payload HOT 1
- 403 Errors Suddenly HOT 7
- Getting 503 when requesting from Hetzner VPS HOT 2
- launches/query endpoint does not return launch IDs for ship and crew launches
- Hotbird 13F missing
- Future of the project HOT 9
- Incorrect data under "next" endpoint HOT 2
- USSF-4 is still under βupcomingβ despite it already happening HOT 1
- Website to add on 'List of known Apps'
- Data Inconsistency
- Is the API abandonned? HOT 3
- New app to add to the list of known apps
- Seems like Starlink API is outdated HOT 2
- spam / broken link
- Space π
- Error in server.js File - Uncaught Exception Handling
- Issues with fetching the YouTube ID for upcoming launches.
- allow users to make queries with "id" key along with "_id"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spacex-api.