Tracking Satellites with Apache NiFi
Thanks to https://www.n2yo.com/for awesome data feeds.
Again, these types of ingests are so easy in Apache NiFi.
Step 1, schedule when we want these. There is a limit of 1,000 calls per hour, so let's keep it to 4 calls a minute for each of the three REST end points.
Let's get satellite information on right above me.
We set parameters for: your latitude, your longitude, your apikey and then just change up bits of the REST URL. Note for this one we are using SSL, so make sure you have an SSL context.
Now we have three streams of JSON data that has lat and long, so we can plot this on a map with Cloudera Visual Apps, storing our data in Impala tables in Kudu.
Some example data:
{
"info" : {
"satname" : "SPACE STATION",
"satid" : 25544,
"transactionscount" : "5"
},
"positions" : [ {
"satlatitude" : 37.46839338,
"satlongitude" : 95.12767402,
"sataltitude" : 422.01,
"azimuth" : 8.37,
"elevation" : -49.35,
"ra" : 290.4714551,
"dec" : 0.06300703,
"timestamp" : 1602242926,
"eclipsed" : false
}, {
"satlatitude" : 37.4278686,
"satlongitude" : 95.18684731,
"sataltitude" : 422.01,
"azimuth" : 8.32,
"elevation" : -49.37,
"ra" : 290.50535165,
"dec" : 0.04159856,
"timestamp" : 1602242927,
"eclipsed" : false
} ]
}