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]
