Few rules:
There's a 20 mile radius limit where you can catch Pokemon local to your area.
For example I live in a harbour town with a dis-used coal mine 10 miles away which explains the Carcoal.
You can catch one exotic Pokemon based on your last holiday location.
Pokemon location is up to common sense. Like you're unlikely to find a Pinsir in a cave or a Boldore in your local swimming pool.
Here's the website I used.
https://richi3f.github.io/pokemon-team-planner/plan/#home