Эти предлоги имеют общее значение: нахождение в определенном месте. Между ними есть значительная разница.
Предлог in – находиться в помещении, внутри чего-то.
Мы используем предлог in, когда говорим, что предмет находится внутри другого предмета, в здании, помещении, комнате, на территории какого-то большого пространства.
The cat is in the cardboard box. – Кошка находится в картонной коробке.
I spilt some water in the kitchen. – Я разлил воду на кухне.
I am in the mall now. – Я сейчас в торговом центре.
Предлог at – находиться на точке пространства
Предлог at используется, когда мы хотим сказать, что находимся не внутри помещения, а на какой-то точке в пространстве – представьте ее себе как отметку на карте.
Сравните:
Hello? Sorry, I can’t talk right now, I am in the library. – Алло? Извини, я не могу сейчас говорить, я в библиотеке.
Mom, can you pick me up? I’m at the library. – Мама, можешь за мной заехать? Я в библиотеке.
В первом случае, in the library – это буквально внутри библиотеки как помещения, во-втором случае, at the library – это внутри библиотеки как локации, места на карте. Если вы говорите “I’m in the library”, собеседник подумает, что вы пришли в библиотеку за книгами или почитать. Если скажете “I’m at the library”, больше похоже на то, что вы просто даете знать, в каком месте вы находитесь.
Кстати, в русском языке или, точнее, в “русском неправильном” есть далекое от литературной нормы выражение, которое многих раздражает: “находиться НА каком-то месте”. Например: “Заедь за мной, я НА магазине”, “Подходи, мы НА театре”, “Я жду тебя НА библиотеке”. Вот это самое НА – и есть аналог английского at.
Кроме того, предлог at часто используется в значении “у какого-то места, предмета, здания”.
They have a small house at the sea. – У них есть домик возле моря.
I’m waiting for you at the corner. – Я жду тебя на углу.
Предлог on – на чем-то
Предлог on значит “на” чем-то.
Let’s meet on the roof. – Давай встретимся на крыше.
The cats are sleeping on the carpet. – Кошки спят на коврике.