Er is een klein betekenisverschil.

 

in 'locatie'

plaatsaanduiding (meer concreet)
Volgend jaar komt er in het stadhuis een tentoonstellingsruimte.
Hij zit in zijn studeerkamer. (hij zit daar op een stoel)

 

op 'locatie'

plaatsaanduiding (meer abstract, met accent op de functie van de locatie)
Hij werkt op het stadhuis.
Hij zit op zijn studeerkamer. (hij studeert daar)

 

In veel gevallen kunnen in en op zonder bezwaar door elkaar worden gebruikt. Taalgebruikers die bij op alleen aan de bovenkant of het dak denken, hebben misschien wel gelijk bij op straat, maar niet bij op kantoor. Slechts in een enkel geval kan men het verschil tussen concreet en abstract zinvol gebruiken. Bijvoorbeeld als verzuchting op een ouderavond: O, ik wist niet anders dan dat mijn zoon elke dag een uur op de studiezaal zit, maar nu zie ik dat hij alleen maar in de studiezaal heeft gezeten.

 

Bij bus, tram en trein is er ook een regionaal verschil. In Brugge stap je op de trein naar Kortwijk, in Zwolle in de trein naar Emmen. Maar uiteraard kan men ook in Zwolle op gebruiken, al was het alleen maar om het dubbele in, in Zwolle in, te vermijden.