How many functions can I put into an arduino uno?
How many functions? That depends on a few factors. First, will I have enough pins? The GPS module will probably take up two PWM pins (Rx and Tx) but I recommend you hook the Rx and Tx of the GPS directly into the hardware serial Rx and Tx of the Uno. The senors will probably use a single analog pin each. The Arduino Uno has six. I'm not sure how many pins the GSM module will take up but you have at least 3 PWM pins left to fool around with. The SD card, from my understanding, can be hooked up directly to the Uno using SPI and the ICSP pins. I'm not certain of this, so it's probably worth doing some more research on. The SD card will require at least 2 PWM pins if you're not able to use ICSP.

Second, will I have enough RAM and flash memory? As soon as you start doing lots of stuff on the Uno you realize that 2KB of RAM and 31.5KB of flash memory isn't a lot. The Arduino IDE will tell you if your sketch is too big to fit on the Uno when you compile it, so draw up a quick sketch that has all the library/function calls you need and go from there.

Third, will I have enough serials? I've only been able to get two serial connections working on the Uno (but I've been told you can get three working with some hassling). That is the hardware serial (accessed by the Serial object) and a SoftwareSerial object. The GPS will definitely utilize one of these and I bet your GSM module will use the other. Don't forget about debugging! Since you won't be able to have all three of these hooked up to your Uno I recommended debugging with the GSM module. Get this working and then move all your debugging code from Serial to your GSM connection. That way instead of using the Serial output on your computer you'll have to read from wherever your GSM module is sending data to.