map = Join @@ ((List @@ First@CountryData[#, "Polygon"]) & /@ CountryData[]);
coordsToXYZ[list_] := Transpose[{Cos[#[[1]]]*Cos[#[[2]]], Cos[#[[1]]]*Sin[#[[2]]], Sin[#[[1]]]} &@Reverse@Transpose[list*Pi/180.]];
stations = WeatherData[];
coords = coordsToXYZ[{WeatherData[#, "Longitude"], WeatherData[#, "Latitude"]} & /@ stations];
globe = First@ ParametricPlot3D[.99* {Sin[u] Sin[v], Cos[u] Sin[v], Cos[v]}, {u, -\[Pi], \[Pi]}, {v, -\[Pi], \[Pi]}, MaxRecursion -> 4, Axes -> None, PlotStyle -> Opacity[.5]];
Graphics3D[{globe, Black, Line /@ coordsToXYZ /@ map , Red, Point@coords}, Boxed -> False, ImageSize -> Medium, Lighting -> "Neutral"]