I always thought it would have been cool if Pokemon were only found in environments that were "realistic" to that type. Like, if you had to go to a river to find water Pokemon, or if Geodude was only in the mountains. Seems like they didn't do that, though.
"In tonights news 7 more pokemon go players have died from running around on a golf course during a lightning storm to catch the elusive Zapdos, next up is the weather "
I did think that was going to be the original idea. To encourage you to actually explore your environment and to actually go outside the city.
Doing that would require some fairly robust and sophisticated trading mechanics though so I actually could get a sand type even if I didn't live near a desert, in exchange they could have a grass type that I had captured on open morland in Northern England.
It would have been cool if they've managed to get the market density required to pull it off
This system is in the game. You can look up info for Pokemon biomes. TL;DR is that open street maps lists zones related to terrain, and Pokemon GO has always had separate spawn pools related to these. The major ones are forest, mountain, waterside, and urban.
As of several years ago, this distinction was heavily reduced, and it largely flattened the spawn pools worldwide.
But in 2016-2017 I'd specifically seek out rivers to find Magikarp and lakes to find Poliwag.