To add to Jose's response, if you want to color the points different colors efficiently, you can redefine p as follows (there may be a shorter way, but this works):
p = With[{triples =
Cases[rad, {a_, b_, c_?NumberQ} :> {b, Mod[a, 360, -180], c}]},
triples /. {a_, b_, c_} :> {a, b,
Rescale[c, {Min[triples[[All, 3]]], Max[triples[[All, 3]]]}]}];
Then, you can generate colors for each of the triples:
colors = ColorData["TemperatureMap"][#] & /@ p[[All, 3]];
The colors can be efficiently applied using VertexColors on the Point primitive:
GeoGraphics[{PointSize[0.01],
Point[GeoPosition[p[[All, 1 ;; 2]]], VertexColors -> colors]},
GeoRange -> All, GeoProjection -> "Sinusoidal",
GeoGridLines -> Automatic,
GeoGridLinesStyle -> Directive[Dashing[{.01, .005}], Green],
GeoBackground -> Black]