This site says
"IN" tells us the noun is in an enclosed space (surround or closed off on all sides). Basically, when something is inside something.
"AT" tells us that the following noun is located at a specific point or location. It shows an exact position.
"ON" tells us that the following noun is located on a surface. Use on when one thing is attached to or touching something.
But, what about:
"I am in the street" (so, the street is considered as an enclosed space, maybe, the sentence would mean I am in the middle of the street, not on a pavement)? or
"I am on the street" (so, the street is considered as a surface, the sentence would mean I am standing on it, not under the ground)?
What are the differences?