Change the online data pull to a single query
onlineData = StarData[EntityClass["Star", "NakedEyeStar"],
{"Name", "ApparentMagnitude", "Declination", "RightAscension"}];
The sorting can be streamlined
data = SortBy[onlineData, #[[2]] &];
data2 = data /. {n_String, m_, dec_, ra_} :> {n, m, UnitConvert[dec],
UnitConvert[ra], dec, ra};
data3 = data2 /. Quantity[a_, "Radians"] :> a;
data3 = data3 /. {n_String, m_, decrad_, rarad_, dec_, ra_} :> {n,
m, {dec, ra}, {\[Pi]/2 - decrad, rarad}};
data3 = Transpose@Prepend[Transpose@data3, Range@Length@data3];
starTable =
Prepend[data3, {"Index", "Name", "Magnitude",
"{Declination, Right Ascension}", ToString@{\[Theta], \[Phi]}}];