A pilot is in hospital after his plane crashed and burst into flames after hitting a semi-trailer truck while attempting to land on a British Columbia highway on Tuesday.

Officials with the Transportation Safety Board say the plane had just left Oliver, a small community in B.C.'s Interior, when it appeared to lose power.

The pilot was attempting an emergency landing as he clipped a semi-truck on Highway 97 and lost control.

"I was just watching TV and I saw the power lines kind of move and I thought that was kind of odd. Then I heard just a big crash, came out and saw the aircraft on fire," said Nick Bains, who lives near the scene of the crash.

The 45-year-old pilot from Surrey was able to extricate himself from the aircraft and is in hospital, suffering from second- and third-degree burns.

Bill Yearwood, the regional manager of the TSB, said emergency landings should be attempted in traffic-free areas but highway landings are not unusual.