Where do you catch Pokemon in Pokemon Diamond?

You catch Pokemon in grassy areas they are in every route


you catch them in the grass and some in fosils and ledgendarys will be standing in front of you and you could also migrate snd trade

they can be caught using fishing rods and using the poke radar as well as traveling using surf on water which will produce wild Pokemon encounters. if your lazy or in a hurry using the Pokemon move sweet scent you can attract wild Pokemon to you without having to move around in grass.
You can also use honey trees. To do that you have to smother honey on it.