Spherical excess of a triangle
Matlab, 288 266 bytes
Here the commented version that should explain what is going on:
                                  %parsing the input
for k=1:3;
    s=input('','s');              %request input
    if sum(s&gt;57)&lt;2;               %if we have only one letter, add arbitrary second coordinate
        s=[s,'0E'];
    end;
    S=1-2*(s(s&gt;57)&gt;80);           %calculate the sign of the coordinates
    s(s&gt;57)=44;                   %replace letters with comma
    L(k,:)=eval(['[',s,']']).*S;  %evaluates string as list and multiply with signs
end;
i=[2,3,1];
                                  %calculate the angular distance between each pair of points
a=arrayfun(@distance,L(:,1),L(:,2),L(i,1),L(i,2))*pi/180;
                                  %evaluate the spherical excess
f=@(a,b,c)sum(acos((cos(a)-cos(b).*cos(c))./(sin(b).*sin(c))))-pi;
disp(f(a,a(i),a([3,1,2]))*180/pi)

Fully golfed (linebreaks can be removed):
for k=1:3;s=input('','s');if sum(s&gt;57)&lt;2;s=[s,'0E'];end;
s(s&gt;57)=44;L(k,:)=eval([91,s,93]).*(1-2*(s(s&lt;48)&gt;80));end;
i=[2,3,1];p=pi/180;a=arrayfun(@distance,L(:,1),L(:,2),L(i,1),L(i,2))*p;
b=a(i);disp((sum(acos((cos(a([3,1,2]))-cos(b).*cos(a))./(sin(b).*sin(a))))-pi)/p)