How do I create large biome area's in an large terrain world?

So I want to create biome areas in my world. When the player is in a certain biome effects will apply. But I am having trouble finding the best way the set these biomes. Currently I have multiple colliders in my world and when the player walks in one of these colliders, he is in that biome. (See image). But this is an awful solution because its not precise and I have to place multiple colliders. What would be the best way the mark/select area’s in my world so I can tell when my player is in one?

You could split your terrain into multiple terrains (see here on how to do that), and have each split terrain contain a biome. Each biome has a separate layer, and the player can fire a raycast or use Physics.CheckSphere to find the layermask they are on, which determines the biome. @MathijnG