Open LukePrior opened 2 years ago
great to see the sondehub API is moving by leaps and bounds, and with all the right tooling!
you mean like as a 3D live view of what's in the air, including timeline, paths, landing predictions and so forth? definitely yes!
this repo was just a feeble attempt at batch-visualizing some sonde data by converting it to CZML and view that (drop the czml file onto something like https://cesium.com/cesiumjs/cesium-viewer/ or like here: https://cesium.com/learn/ion/stories-time-dynamic/)
but cesium has all the capabilities needed for a live display, it boils down to setting up the DataSource and updates properly
are you familiar with Cesium?
this example uses CzmlDataSource.load(czml, source) or one of its variants to gobble up the CZML file in one go, but you can incrementally add to a scene
you might want to look at DataSource and experiment which type fits best, possibly GeoJSON
I used GeoJSON as the representation form for radiosonde ascents in https://github.com/mhaberler/radiosonde and https://github.com/mhaberler/radiosonde-datacollector, and overall I think it was a good choice - a flight is a FeatureCollection of Points
happy to help from the sidelines, I think that'd be a supercool application!
@LukePrior I've been toying with the idea of adding sonde live display to @rittels & mine windy radiosonde work: https://community.windy.com/topic/16694/windy-plugin-radiosonde/1?_=1640322733404
the API looks like it's getting ready for an integration attempt - can you point me to a JS client example talking to this API?
Hi @mhaberler I may play around with CesiumJS or OpenGL Earth 2 and see if I can get a live 3D view working with predictions and everything. I do know that Michaela made a prototype some time back: https://github.com/TheSkorm/sondehub-cesium.
When it comes to adding live data support to your Windy plugin you would want to look at using websockets (https://github.com/projecthorus/sondehub-infra/wiki/API-(Beta)#sondeswebsocket) to get a continuous stream of live data.
The SondeHub tracker uses the Eclipse Paho JavaScript Client (https://www.eclipse.org/paho/index.php?page=clients/js/index.php) to get this data. You can find where the code is used here: https://github.com/projecthorus/sondehub-tracker/blob/master/js/tracker.js#L11 https://github.com/projecthorus/sondehub-tracker/blob/master/js/tracker.js#L4243
That code is fairly messy however so I would look at the Cesium example I linked above which also takes advantage of websockets using a simpler approach: https://github.com/TheSkorm/sondehub-cesium/blob/main/src/index.js
You may also be interested in our crowdsourced launch site API which has the most accurate position data for global launch sites: https://github.com/projecthorus/sondehub-infra/wiki/API-(Beta)#sites
We also have a Swagger setup here for easy API testing: https://generator.swagger.io/?url=https://raw.githubusercontent.com/projecthorus/sondehub-infra/main/swagger.yaml
Let me know if you have any questions.
thanks, tried sondehub-cesium, works fine for a start!
Not sure if this is useful or not but I did a websockets / cesium demo awhile ago : http://sondehubuitest.s3-website-us-east-1.amazonaws.com
(oh just noticed it was linked above xD )
Hi,
I was just wondering if this could work with SondeHub data from here: https://github.com/projecthorus/sondehub-infra/wiki/API-(Beta)