For temperature measurement I use the HTU21D ... it is a combined temperature/humidity sensor with I2C interface...:
Sparkfun HTU21D breakout board
It has the advantage that there is a hwmon kernel driver for it ... so the measurements are available via the sysfs interface, and also via lm-sensors
There is also the Microchip MCP9808 (also I2C)... this has no kernel driver, but a c driver and python bindings are existing here:
https://github.com/lexruee/mcp9808
You might also give the DS1820 a try, which is a OneWire temperature sensor - kernel driver is existing.
For GPS I can also recommend the NEO-6M ... I once got this working on a Pi with the gps daemon (gpsd) which is a really nice piece of software... instructions are here:
https://bigdanzblog.wordpress.com/2015/ ... pberry-pi/
regards,
MikeDK