Change Network location from terminal

Yep, pretty easy too. You may need to 'sudo' the command depending on your system's configuration.

networksetup -switchtolocation "location name"

There are some other options, too:

networksetup -getcurrentlocation
networksetup -listlocations
networksetup -createlocation <location name> [populate]
networksetup -deletelocation <location name>
networksetup -switchtolocation <location name>