This is what makes it go "backwards"
servopos = 180 - servoposraw;
Simply omit that and increasing temperatures will yield increasing servo angles. Throw some servoposraw numbers on the right hand side of that assignment and watch it reverse.
If you had used map() on temperature you could see it another way
servoAngle = map(temperature, 10, 30, 0, 180);
versus
servoAngle = map(temperature, 10, 30, 180, 0);
But as shown by @odometer, it's all just some simple maths at the end, stuff from so long ago I don't remember learning it. I mean I don't remember ever not knowing it. ![]()
There are a number of things that crop up going the wrong way or "upside down", like switches that are LOW when pressed - these are usually handled easily at an exact moment by a bit of code.
bool buttonIsPressed = !digitalRead(buttonPin);
where the pulled LOW wiring is immindiantly corrected with the logical not operator '!', and forever more reads right-side up.
HTH
a7