vasturiano / react-globe.gl

React component for Globe Data Visualization using ThreeJS/WebGL
https://vasturiano.github.io/react-globe.gl/example/world-population/
MIT License
818 stars 150 forks source link

Straightforward way to render satellite positions and orbits on a globe in React component only #134

Closed MichaelBonnet closed 11 months ago

MichaelBonnet commented 11 months ago

Is your feature request related to a problem? Please describe.

Not necessarily a problem, but it would be nice to be able to do things like rendering satellites and their positions live/with variable fast-forwarding solely within a React component, as opposed to the example way that uses

Describe the solution you'd like

A way to provide something like an array of satellites with their orbital parameters (or say, information produced from satellite.js when given a TLE) to the Globe component so that they and their orbits can be easily rendered.

Describe alternatives you've considered

I have considered doing it as shown in the example, and going with pure three.js + satellite.js. Cesium is also an option but is very heavy weight.

A clear and concise description of any alternative solutions or features you've considered.

Additional context

None

vasturiano commented 11 months ago

@MichaelBonnet thanks for reaching out.

If all you need is to parametrize the component defined in this example: https://github.com/vasturiano/react-globe.gl/blob/90f6ecf2a88fbb3c33a41b0739cc64838108434d/example/satellites/index.html#L39

to take an array of satellite TLE objects, you should be able to easily do that by defining a React component that takes that array as input prop. That is more of a React refactor topic than a Globe feature in fact.

MichaelBonnet commented 11 months ago

Thank you @vasturiano, I think I see what you're getting at. Pulling out that component seems to raise previously unseen issues, but I'm trying to see what I can do about it.

MichaelBonnet commented 11 months ago

Update: the trick was to use import * as satellite from "satellite.js" as opposed to import satellite from "satellite.js". Now, onto rendering the orbits as arcs and keeping the satellite name on screen. Thanks!