i hope the cabins is align from the y axis because if the cabins is align in x axis this is a difficult problem so we solve this and assume that the cabins is align in y axis
let x the distance from the base to the first cabin
y is the distance from the base to the second cabin
answer = x - y
and d is the distance from the observer to the cabin and it the same from the two cabins because the observer do not move.
d = 2000ft
use tangent to solve this problem
so for the first cabin let use 48 angle
tan 48 = x /2000
x = 2221.23
for second cabin
tan 31 = y/ 2000
y =1201. 72
so the distance between the cabins is
2221.23 - 1201.72 = 1019. 51 ft
I hope this is correct!